如何搭建自己的开发环境
如何搭建自己的开发环境
好了,到这里相信读者已经知道如何搭建自己的开发环境了,说白了它跟开发一个普通的软件区别基本就在一个虚拟机上。它既是我们的“硬件”,又是我们的调试 器,有了它我们安心多了。那是不是马上就可以开始我们的操作系统开发之旅了呢?很遗憾,还不能那么着急,因为你知道,操作系统是跟硬件紧密相连的,如果想 实现一个运行在使用IA32架构的IBM PC上的操作系统,免不了要具备相关的知识。其中的重头戏就是32位Intel CPU的运行机制,毕竟CPU是一台计算机的大脑,也是整个计算机体系的核心。
所以紧接着我们要学习的,就是要了解IA32保护模式。掌握了保护模式,我们才知道Intel的CPU如何运行在32位模式之下,从而才有可能写出一个32位的操作系统。
如果读者已经掌握了保护模式的内容,可以直接跳到第4章。
________________________________________
[1] 实际上通过命令行也可以获取源代码,只不过通常不是最新的,在此不做介绍。
[2] 如果你用Windows,那么使用Linux常用命令需要额外一些劳动,比如安装一个Cygwin,或者下载某个工具的Windows版本。在这里你可以简单下载一个“dd for Windows”。
[3] Bochs使用的vgaromimage来自于vgabios项目,如果读者感兴趣,可以去它的主页看看。
[4] 如果你正在使用的是自己编译的有调试功能的Bochs,回车后还需要再一次回车,并在出现Bochs提示符之后输入“c”,再次回车。不要被这些输入吓怕了,下文有妙计可以让你不必总是这么辛苦。
[5] 读者如果对这一技术感兴趣,可在网上搜索相应资料,比如维基百科上就有个大致的介绍。
[6] 实际上Bochs也可以用命令行指定参数,详见Bochs联机手册。
[7] 其实妙计不止一条,你也可以在系统内安装两种Bochs,一种是打开调试功能的,一种是没有打开的,你可以自由选择运行哪一种。
[8] 简单的介绍可参见http://en.wikipedia.org/wiki/Unix_philosophy;若想较全面地了解,建议读者阅读Eric S. Raymond所著的《UNIX编程艺术》。
[9] 原文作“Do one thing, do it well”。理解这一原则的内涵及外延是理解UNIX世界的基本条件。
[10] 这些都是UNIX下的常用工具,读者可以通过联机手册查看它们的用法。更多UNIX下的工具介绍可参考http://en.wikipedia.org/wiki/List_of_Unix_utilities。
[11] Ubuntu的第一个版本(代号Warty Warthog)发行于2004年10月。
[12] 根据2008年8月的数据。及时情况可参考http://distrowatch.com/。
[13] 注意这里没用“免费”这个词。Free Software的Free是“自由”之意,它比“免费”一词包含了更多意义。欲获得更详细的内容请访问http://www.fsf.org/。
[14] apt-cache是个Debian家族中常用的包管理命令,可以使用正则表达式来搜索软件包。
[15] 关于Linux系统下的病毒,读者可以参考:http://en.wikipedia.org/wiki/Linux_malware。
[16] 如果你对成为黑客感兴趣,或许可以读一读Eric S. Raymond的“How To Become A Hacker”。
[17] 关于提问的技巧,请参考Eric S. Raymond的“How To Ask Questions The Smart Way”。