1. 实验环境¶
本操作系统实验的硬件环境是 IA-32(x86)
架构的 PC
机(就是你现在正在使用的计算机),主要软件环境是 Bochs
+ GCC
+ 你最喜欢的编辑器/ IDE
+ 你最喜欢的操作系统 + Linux 0.11
源代码。实验的基本流程是根据实验要求编写应用程序、修改 Linux 0.11
的源代码,用 GCC
编译后,在 Bochs
的虚拟环境中运行、调试目标代码。
1.1. x86模拟器Bochs虚拟机¶
Bochs
是一个能够仿真整个 Intel x86
计算机的程序。
Bochs
能够仿真 386
, 486
, Pentium
, Pentium III
, Pentium 4
乃至 x86-64 CPU
。
Bochs
解释从开机到重启的每一条指令,且支持所有的标准 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
使用手册。