1. 实验环境

本操作系统实验的硬件环境是 IA-32(x86) 架构的 PC 机(就是你现在正在使用的计算机),主要软件环境是 Bochs + GCC + 你最喜欢的编辑器/ IDE + 你最喜欢的操作系统 + Linux 0.11 源代码。实验的基本流程是根据实验要求编写应用程序、修改 Linux 0.11 的源代码,用 GCC 编译后,在 Bochs 的虚拟环境中运行、调试目标代码。

1.1. x86模拟器Bochs虚拟机

Bochs 是一个能够仿真整个 Intel x86 计算机的程序。 Bochs 能够仿真 386486PentiumPentium IIIPentium 4 乃至 x86-64 CPUBochs 解释从开机到重启的每一条指令,且支持所有的标准 PC 外设的驱动模型:键盘,鼠标,VGA 显卡/显示器,磁盘,时钟芯片,网卡,无不在其仿真之列。 正因为 Bochs 能够仿真整个 PC 环境, 所以运行在这个仿真环境中的程序会认为其运行在一个真实的计算机上。 因此,很多软件不用修改即可在 Bochs 中运行。

本实验需要使用 Bochs 调试 Linux 内核程序,会用到 Bochs 自带的调试器,分为命令行调试器 和 GUI 图形界面调试器。实验内容中会有所介绍。

关于 Bochs 的更详细的介绍请访问它的主页及 Bochs 使用手册。

1.2. GCC编译器

GCC 是和 Linux 一起成长起来的编译器。 Linux 最初的版本就是由 GCC 编译的。现在 GCC 也是在自由软件领域应用最广泛的编译器。所以,我们也选择 GCC 做为本书实验的指定编译器。

1.3. GDB调试器

GDB 调试器是 GCC 编译器的兄弟。做为自由软件领域几乎是唯一的调试器,它秉承了 *nix 类操作系统的一贯风格,采用纯命令行操作,有点儿类似 Dos 下的 debug 。关于它的使用方法请看 GDB 使用手册。