|
作者: cimsxiyang [cimsxiyang] 版主 | 登录 |
[大概描述] linux启动顺序执行文件: bootsect.s---setup.s-----main.c 当pc POST后,启动设备的第一个扇区的数据(bootsect.s)并将其装载到0x7C00处,执行。再将其移载到绝对物理地址0x90000处,重置磁盘控制器,从启动设备读入2K数据(setup.s),装载到0x90200处。内核剩下的部分装载到0x10000处。 完成以上工作,便显示load...,整个系统从0x10000处移动到0x0100处,并进入保护模式,转入0x1000执行剩下的代码。 载入内核(start_kernel)/* ./init/main.c */ 一系列的初始化和登记。 [疑问] 1。bootsect.s是怎样把权利交给setup.s的? 2。对这个一系列的内存地址跳转不是很清楚,譬如说“第一个扇区的数据为什么会从0x7C00被移到0x90000”? [声明] 我的汇编水平不敢恭维啊,大家还请包涵包涵! 另外,假如我理解有什么错误,还请大家不吝指教 |
地主 发表时间: 03/31 21:22 |
回复: cimsxiyang [cimsxiyang] 版主 | 登录 |
补充一下: 谁知道有学习c和汇编的好地方,不妨推荐一下, 不恶补不行了。 :) |
B1层 发表时间: 04/01 21:21 |
回复: xiaoxingchi [xiaoxingchi] 论坛用户 | 登录 |
asm.yeah.net 学汇编 的地方 |
B2层 发表时间: 04/01 22:02 |
回复: group [group] 论坛用户 | 登录 |
是不是发错版了? |
B3层 发表时间: 04/02 11:45 |
回复: cimsxiyang [cimsxiyang] 版主 | 登录 |
sorry 我把他发到操作系统 |
B4层 发表时间: 04/02 11:50 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号