- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一个操作系统的实现:搭建你的工作环境
我知道,现在你已经开始摩拳擦掌准备大干一场了,你发现,开头并不是那么难的.你可能想到了Linus,或许他在写出第一个引导扇区并调试成功时也是同样的激动不已;你可能在想,有一天,我也要写出一个Linux那样伟大的操作系统!是的,这一切都有可能,一切伟大必定是从平凡开始的.我知道此刻你踌躇满志,已经迫不及待要进入操作系统的殿堂.
可是先不要着急,古人云:“工欲善其事,必先利其器”,你可能已经发现,如果每次我们编译好的东西都要写到软盘上,再重启计算机,不但费时费力,对自己的爱机简直是一种蹂躏.你一定不会满足于这样的现状,还好,我们有如此多的工具,比如前面提到过的Bochs.
在介绍Bochs及其他工具之前,需要说明一点,这些工具并不是不可或缺的,介绍它们仅仅是为读者提供一些可供选择的方法,用以搭建自己的工作环境.但是,这并不代表这一章就不重要,得心应手的工具不但可以愉悦身心,并且可以起到让工作事半功倍的功效.
下面就从Bochs开始介绍.
虚拟计算机Bochs
即便没有听说过虚拟计算机,你至少应该听说过磁盘映像.如果经历过DOS时代,你可能就曾经用HD-COPY把一张软盘做成一个.IMG文件,或者把一个.IMG文件恢复成一张软盘.虚拟计算机相当于此概念的外延,它与映像文件的关系就相当于计算机与磁盘.简单来讲,它相当于运行在计算机内的小计算机.
1.Bochs初体验
我们先来看看Bochs是什么样子的,请看这两个屏幕截图:
要看清楚哦,你看到的不是显示器,仅仅是窗口而已.如果你是第一次接触“虚拟机”这个东西的话,一定会感到很惊讶,你会惊叹:“啊,像真的一样!”没错,像真的一样,不过窗口的标题栏一行“Bochs x86-64 emulator”明白无误地告诉我们,这仅仅是个“emulator”──模拟器而已.在本书中我们把这种模拟器称为虚拟机,这个词使用得更广泛一些.不管是模拟还是虚拟,我们要的就是它,有了它,我们不再需要频繁地重启计算机,即便程序有严重的问题,也丝毫伤害不到你的爱机.更加方便的是,你可以用这个虚拟机来进行操作系统的调试,在它面前,你就好像是上帝,你可以随时让时间停住,然后钻进这台计算机的内部,CPU的寄存器、内存、硬盘,一切的一切都尽收眼底.这正是进行操作系统的开发实验所需要的
好了,既然Bochs这么好,我们就来看看如何安装,以及如何使用.
2.Bochs的安装
就像大部分软件一样,在不同的操作系统里面安装Bochs的过程是不同的,在Windows中,最方便的方法就是从Bochs的官方网站获取安装程序来安装(安装时不妨将“DLX Linux Demo”选中,这样你可以参考它的配置文件).在Linux中,不同的发行版(distribution)处理方法可能不同.比如,如果你用的是Debian GNU/Linux或其近亲(比如Ubuntu),可以使用这样的命令:
$ sudo apt-get install vgabios bochs bochs-x bximage
敲入这样一行命令,不一会儿就装好了.
很多Linux发行版都有自己的包管理机制,比如上面这行命令就是使用了Debian的包管理命令,不过这样安装虽然省事,但有个缺点不得不说,就是默认安装的Bochs很可能是没有调试功能的,这显然不能满足我们的需要,最好的方法还是从源代码安装,源代码同样位于Bochs的官方网站[1],假设你下载的版本是2.3.5,那么安装过程差不多是这样的:
$ tar vxzf bochs-2.3.5.tar.gz
$ cd bochs-2.3.5
$ ./configure --enable-debugger --enable-disasm
$ make
$ sudo make install
注意“./configure”之后的参数便是打开调试功能的开关.在安装过程中,如果遇到任何困难,不要惊慌,其官方网站上有详细的安装说明.
3.Bochs的使用
好了,Bochs已经安装完毕,是时候来揭晓第1章的谜底了,下面我们就一步步来说明图1.1的画面是怎样来的.
在第1章我们提到过,硬件方面需要的是一台计算机和一张空白软盘,现在计算机有了──就是刚刚安装好的Bochs,那么软盘呢?既然计算机都可以“虚拟”,软盘当然也可以.在刚刚装好的Bochs组件中,就有一个工具叫做bximage,它不但可以生成虚拟软盘,还能生成虚拟硬盘,我们也称它们为磁盘映像.创建一个软盘映像的过程如下所示:
凡是有?记号的地方,都是bximage提示输入的地方,如果你想使用默认值,直接按回车键就可以.在这里我们只有一个地方没有使用默认
文档评论(0)