您的位置:首页 > 运维架构 > Linux

操作系统学习_Linux0.12_引导启动程序_为啥要不停移动

2017-08-29 11:19 447 查看
bootsect.S首先将自身移动到0x90000地址处,接着LOAD了setup.S到0x90200,system模块加载到了0x10000,然后又移动到0x0000,为什么?

bootsect为什么不直接把system模块直接加载到0x0000处,而是在setup程序中移动呢?

因为setup前一部分要用到BIOS提供的中断,而中断向量表是保存在0x0000的,因此要等不再使用它的时候再覆盖掉。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 操作系统