基于IA32的OS内核设计及Intel VT-x虚拟化探索 ------ 工具篇

所谓工欲善其事必先利其器,做什么时候都需要合适的工具才能事半功倍。


操作系统:windows 8

由于本人习虽然会使用linux,并且我完全同意Linux在某些开发上确实比windows更高效,但多年养成的习惯,仍然喜欢使用windows系统。windows对编写操作系统本身并不友好,但无奈习惯已经养成,也许不易改变。两年前编写的时候我使用的事windows 7(当时还没有windows 8)。现在我的电脑上使用的windows 8,因此在现在我使用windows 8环境


编译工具链:

不管是要编写什么,编译器是必不可少了,同时由于是写操作系统,需要编写某些汇编代码,合适的汇编器也是必不可少的。

编写操作系统的编译器并不使用VC,众所周知VC所带大量为windows而实际的库文件,本身较为臃肿,且自定义复杂,虽然编辑器和调试器是其非常大的优势,但其臃肿的库实在让人不爽,且VC的调试技术在操作系统调试上并不实用,至少我没有找到好的使用方法。在此我使用GCC在windows上的移植----Mingw-w64,但值得注意的是当年我写论文时使用的工具是Mingw,但Mingw已经不再更新,而在之后的工作中长期使用的编译工具链是Mingw-w64,因此我直接使用机器上的Mingw-w64。

汇编器使用NASM,虽然我使用GCC作为编译器,但并不使用GAS处理汇编语言,原因有两点:1、本人不是很习惯AT&T语法,相对而言感觉Intel语法更为有限。2、GAS的错误处理能力极为有限,当然这是因为GAS本事作为GCC生成代码的汇编器而存在的,作为编译器GCC生成的汇编代码是完全正确的。


其他环境:cygwin

不可否认,linux在编写操作系统这种项目上有独特的优势,但由于习惯使用windows,因此特意准备一套linux仿真系统以备不时只需,需要说明的是当时做毕业设计的时候并没有使用cygwin,但是我想现在我重新整理这个项目时会使用这个强大的工具。


运行及调试环境:Bochs

编写的操作系统怎样运行,Bochs是最好的选择,这个软件介绍太多,我就不再重复了。


其他可能还有些需要的,我不是再写书,想到一点写一点,因此需要的时候再提出。

你可能感兴趣的:(工具,操作系统内核,虚拟化)