|
发表于 2006-6-29 15:56:48
|
显示全部楼层
锦上添花一下:
bootsect.S是核心中第一个执行的文件,该文件编译好后,放在磁盘的第一个扇区。当
给计算机加电启动时,由PC的BIOS把它加载到以0x7c00物理内存地址开始的512个字节
大小的地址空间中。在BIOS把这512个字节加载完后,便会跳到物理地址0x07c0处继续
执行(意味着进入bootsect.s中执行)。Bootsect.s首先把自己从0x7c00处搬到0x90000处。
请参考图B-1
在把自己搬运到0x90000处后,便会继续加载setup模块(4个扇区大小,从
0x90000+512b处开始放置)。待setup模块加载完成后,便会加载system模块(压缩linux
核心,从0x10000开始放置,共508k)。待system模块也加载成功后,就跳到setup模块中
继续执行。到此为止,整个核心便已加载完成了。这时的内存布局请参看图B-2
呵呵,没有办法贴图!要看图请看核心游记! |
|