开发环境
本实验在 Ubuntu 18.04 上开发完成,关于 Ubuntu 的安装,这里不再赘述,值得注意的是,如果你使用的是 Windows 10, 其内置了 WSL(Windows Subsystem for Linux)功能,可以更加方便的在 Windows 中使用 Linux 子系统。
安装完 Ubuntu 之后,你需要安装如下必备的开发工具:
- GCC:编译器
- GDB:调试器
- QEMU:模拟器
使用如下命令即可一键安装上述工具:
sudo apt-get install build-essential gdb qemu -y
安装完成后,依次输入如下命令:
gcc -v
gdb -v
qemu-system-i386 –-version
若无明显报错,且正常显示相应的版本信息,即代表安装成功。
GCC
GCC 是由 GNU 开源组织开发的编译器套装,其中包含了 C 语言编译器 gcc
、C++ 编译器 g++
、链接器 ld
、
汇编器 ns
、构建器 make
等众多工具。在 Ubuntu 中,这些工具被集合进了一个软件包,即 build-essential
,
所以只需要安装它即可。
GDB
GDB 同样是由 GNU 开源组织开发的命令行调试器,其可以和 GCC 完美配合。
QEMU
QEMU 是我们在此实验中所用到的模拟器(或称虚拟机),它会模拟出一个 32 位的 80386 硬件环境, 其用来运行编译生成的 OS 镜像文件。为什么不选择常用的 VMware 或者 VirtualBox,而使用不常见的 QEMU,其原因如下:
- 我们所使用的 Linux 开发环境是在虚拟机中运行的,要在虚拟机中的 Linux 上再安装一个虚拟机, VMware 或者 VirtualBox 是不支持的,而 QEMU 则支持。
- QEMU 有很方便的调试功能,配合 GDB 可以实现计算机加电后的逐步调试功能,而 VMware 或者 VirtualBox 则不尽完美。
- QEMU 完全采用命令行操作,更符合 Linux 的设计哲学。
除了上述必备工具之外,以下辅助工具你可能也会用到:
编辑器
系统自带的编辑器可能不够强大,因此你可能需要一个第三方的编辑器,命令行界面的编辑器推荐使用 Vim, 图形化界面的编辑器推荐使用 Sublime Text 3 。
文本差异比较工具
在很多时候,我们需要比较多个文件或文件夹之间的差异,比如比较 Lab1 和 Lab2 之间的差异,
可以帮助我们更好的理解 Lab2 中新增的功能。命令行界面的比较工具可以使用系统自带的 diff
命令,
图形化界面的比较工具推荐使用 Meld 。