“操作系统与Linux内核导读(北京航空航天大学)”实验报告

操作系统的引导

1.实验目标

  • 熟悉 hit-oslab 实验环境;
  • 建立对操作系统引导过程的深入认识;
  • 掌握操作系统的基本开发过程;
  • 能对操作系统代码进行简单的控制,揭开操作系统的神秘面纱。

2.实验内容和结果

bootsect

图片描述 ##修改tools/build.c 图片描述

用修改后的 bootsect.s 和 setup.s 进行引导的结果

图片描述 ##显示参数 图片描述

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

3.总结

通过本次实验的学习,了解到x86计算机启动过程中不必要的步骤,学会了显示bootsect,将bootsect正确读入setup的方法,并能通过setup获取并显示硬件参数。

最新评论
暂无评论~