zoukankan      html  css  js  c++  java
  • (一)系统启动流程

    系统启动流程

    • CPU初始化

      • CS:IP = 0xf000:fff0

      • 第一条指令是跳转指令

    • CPU初始状态为16位实模式

      • CS:IP是16位寄存器

      • 指令指针PC = 16*CS + IP

      • 最大地址空间是1MB

    • BIOS初始化过程

      • 硬件自检POST

      • 检测系统中内存显卡等关键部件的存在和工作

      • 查找并执行显卡等接口卡BIOS,进行设备初始化

      • 执行系统BIOS,进行系统检测;

        • 检测和配置系统中安装的即插即用设备

      • 更新CMOS中的拓展系统配置数据ESCD(能知道系统有什么设备,会变)

      • 按指定启动顺序软盘、硬盘或光驱启动。(读进到第一块扇区)

    • 主引导记录MBR格式

      • 启动代码:446字节

        • 检查分区表正确性

        • 加载并跳转到磁盘上的引导程序

      • 硬盘分区表:64字节

        • 描述分区状态和位置

        • 每个分区描述信息占据16字节(4个分区)

      • 结束标志字:2字节(55AA)

        • 主引导记录的有效标志

    • 分区引导扇区格式

      • 跳转指令: 跳转到启动代码 (jmp)

        • 与平台相关代码

      • 文件卷头 : 文件系统描述信息

      • 启动代码 : 跳转到加载程序

      • 结束标志: 55AA

    • 加载程序(bootloader)

      • 文件系统中读取启动配置信息 (加载程序)

      • 可选的操作系统内核列表和加载参数 (启动菜单) (加载时候内核或参数不同)

      • 依据配置加载指定内核并跳转到内核执行 (操作系统内核)

    • 系统启动规范

      • BIOS (启动流程标准)

        • 固化到计算机主板上的程序

        • 包括系统设置、自检程序和系统自启动程序

        • BIOS-MBR(主引导记录)、BIOS-GPT(全局唯一标识分区表)、PXE(网络系统, 从服务器上下载镜像)

      • UEFI

        • 接口标准

        • 所有平台上一致的操作系统启动服务

        • 可信启动流程,读磁盘上的引导记录时候,会对引导记录的可信性进行检查。可信这些代码在我的系统上运行。

  • 相关阅读:
    Running ASP.NET Applications in Debian and Ubuntu using XSP and Mono
    .net extjs 封装
    ext direct spring
    install ubuntu tweak on ubuntu lts 10.04,this software is created by zhouding
    redis cookbook
    aptana eclipse plugin install on sts
    ubuntu open folderpath on terminal
    ubuntu install pae for the 32bit system 4g limited issue
    EXT Designer 正式版延长使用脚本
    用 Vagrant 快速建立開發環境
  • 原文地址:https://www.cnblogs.com/douzujun/p/6431636.html
Copyright © 2011-2022 走看看