linux内核设计的艺术
linux内核设计的艺术
1.1 启动bios
CPU启动时,CS = 0xFFFF, IP = 0x0000,初始地址为CS:IP = 0xFFFF0,即bios的起始地址为0xFFFF0。
bios至关重要的作用,建立中断向量表和中断服务程序。

1.2 加载操作系统内核程序并为保护模式做准备
对于 Linux 0.11 操作系统而言 计算机将分三批 逐次加载操作 系统的 内 核代码。第一批 由BIOS 中int 0x19 把第一扇 bootsect 的内容加载到 内存 ; 第二批,第三批bootsect 的指挥, 分别把其后4 个遍和随后240 个区的内容加载至内存。
1.2.1 加载第一部分代码——引导程序(bootsect)
将第一扇区的内容装载到内存0x7C00处
1.2.2 加载第二部分代码——setup
1. bootsect对内存的规划
bootsect对于内存规划如下:
SETUPLEN = 4
BOOTSEG = 0x07c0
INITSEG = 0x9000
SETUPSEG = 0x9020
SYSSEG = 0x1000
ENDSEG = SYSSEG +SYSSIZE
2. 复制bootsect
bootsect将本身(此时512Byte)从0x7C00复制到0x90000.





