1.实验目标
- 熟悉 hit-oslab 实验环境;
- 建立对操作系统引导过程的深入认识;
- 掌握操作系统的基本开发过程;
- 能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。
2.实验内容和结果
bootsect
##修改tools/build.c

用修改后的 bootsect.s 和 setup.s 进行引导的结果
##显示参数

有时,继承传统意味着别手蹩脚。x86计算机为了向下兼容,导致启动过程比较复杂。请找出x86计算机启动过程中,被硬件强制,软件必须遵守的两个“多此一举”的步骤(多找几个也无妨),说说它们为什么多此一举,并设计更简洁的替代方案。
- pc机加电后,由于BIOS内存寻址范围有限,会将启动设备的程序读入内存绝对地址0x7C00处,将0x10000处读入system模块时不会覆盖bootsect和setup模块,这是不必要的。
解决方案:保证启动程序正确引导的基础上扩大BIOS的内存寻址范围。
- x86cpu为了向下兼容使用16位实模式,80286芯片仍开设A20地址线,保留实模式多次一举。
解决方案:直接进入保护模式。
3.总结
通过本次实验的学习,了解到x86计算机启动过程中不必要的步骤,学会了显示bootsect,将bootsect正确读入setup的方法,并能通过setup获取并显示硬件参数。