从开机加电到Main函数执行前笔记内内容解读.docVIP

  • 4
  • 0
  • 约5.39千字
  • 约 8页
  • 2017-04-22 发布于湖北
  • 举报

从开机加电到Main函数执行前笔记内内容解读.doc

TOC \o 1-3 \h \u  HYPERLINK \l _Toc1567 Linux内核设计的艺术  PAGEREF _Toc1567 1  HYPERLINK \l _Toc25707 (0) 硬件设计-加电进入实模式,加电瞬间指向BIOS入口  PAGEREF _Toc25707 1  HYPERLINK \l _Toc11522 基础知识  PAGEREF _Toc11522 1  HYPERLINK \l _Toc21694 (一) 加载BIOS,建立中断向量表和中断服务程序  PAGEREF _Toc21694 2  HYPERLINK \l _Toc5429 1 BIOS启动  PAGEREF _Toc5429 2  HYPERLINK \l _Toc14396 2 建立中断向量表和中断服务程序  PAGEREF _Toc14396 2  HYPERLINK \l _Toc16276 (二)加载bootsect(int19中断,启动加载服务程序)  PAGEREF _Toc16276 2  HYPERLINK \l _Toc16180 (三)运行bootsect,加载setup--(int13中断)和系统模块(调用read_it)  PAGEREF _Toc16180 2  HYPERLINK \l _Toc2697 1 规划内存  PAGEREF _Toc2697 2  HYPERLINK \l _Toc26715 2 复制bootsect  PAGEREF _Toc26715 3  HYPERLINK \l _Toc29728 3 将setup加载到内存  PAGEREF _Toc29728 3  HYPERLINK \l _Toc29454 4 加载系统模块  PAGEREF _Toc29454 3  HYPERLINK \l _Toc6590 (四)执行setup程序  PAGEREF _Toc6590 4  HYPERLINK \l _Toc23730 1提取机器系统数据  PAGEREF _Toc23730 4  HYPERLINK \l _Toc19068 2 开始向32位模式转变(保护模式下)  PAGEREF _Toc19068 4  HYPERLINK \l _Toc2586 (2.1)关中断cli,将内核移动到内存地址的起始位置0x00000  PAGEREF _Toc2586 4  HYPERLINK \l _Toc27002 (2.2)设置中断描述符表和全局描述符表  PAGEREF _Toc27002 5  HYPERLINK \l _Toc1308 (2.3)打开A20,实现32位寻址  PAGEREF _Toc1308 5  HYPERLINK \l _Toc1956 (2.4)为在保护模式下执行Head.s做准备  PAGEREF _Toc1956 5  HYPERLINK \l _Toc14259 (五) head.s开始执行  PAGEREF _Toc14259 6  HYPERLINK \l _Toc6333 1 head执行整体策略  PAGEREF _Toc6333 6  HYPERLINK \l _Toc6508 2 建立页目录表  PAGEREF _Toc6508 6  HYPERLINK \l _Toc1455 3 创建分页机制  PAGEREF _Toc1455 7  Linux内核设计的艺术 硬件设计-加电进入实模式,加电瞬间指向BIOS入口 基础知识 1. Intel 80X86系列的CPU可以分别在16位实模式和32位保护模式下运行,但为了兼容,解决最开始的启动问题,Intel将所有 80X86系列的CPU的硬件都设计为加电进入16位实模式状态运行。 2. 还有一个硬件逻辑设计为加电瞬间强行设置CS和IP的值,使得执行BIOS入口0xFFFF0。BIOS固化在计算机主机板上的ROM芯片,只有8KB,所占地址段为0xFE0000xFFFFF。 3. LINUX 0.11 在实模式状态下,寻址的最大范围是2^20=1M(1048576). 4.各个寄存器详解 1CS代码段寄存器,指向CPU当前执行代码在内存中的区域2IP指令指针寄存器,记录要执行的指令在代码段内的便宜地址。3456 加载BIOS,建立中断向量表和中断服务程序

文档评论(0)

1亿VIP精品文档

相关文档