Bochs的下载、安装和配置
1 开源的BOCHS虚拟机软件下载安装
程序员的工作就像是在历险,困难重重,途中不可避免地要遇上暗礁。有时候,少了一个字符,或者多了一个字符,或者拼错了字符,程序就无法成功编译;有时候,尽管能够编译,但程序中存在逻辑错误,要么少写了语句,要么算法不对,运行的时候也得不到正确结果。
有时候,错误的原因很简单,就是因为马虎和误操作,但很难知道问题出在哪里。等到你终于发现的时候,一天,甚至几天的时间已经花掉了。在这种情况下,没有调试工具来到程序中隐藏的错误是不行的。有时候,即使有调试工具的帮助,也会令人筋疲力尽,不过有总比没有好。在现实的世界里,不管是经验老道的程序设计师,还是刚入门的新手,没有谁敢说自己的程序是不需要调试的。
调试工具并不是智能到可以自动发现程序中的错误,这是不可能的。但是,它可以单步执行你的程序(每执行一条指令后就停下来),或者允许你在程序中设置断点,当它执行到断点位置时就停下来。这时,它可以显示处理器各个寄存器的内容,或者内存单元里的内容。因此,你可以根据机器的状态来判断程序的执行结果是否达到了预期。通过这种方式,你可以逐步逼近出现问题的地方,直到最终发现问题的所在。市面上有多种流行的程序调试工具软件,但它们通常都象你用的其它软件一样工作在操作系统之上。
麻烦的是,本书中的程序全都只能运行在没有操作系统的祼机下。这意味着,所有流行的调试工具都不可用。不过,好消息是,一款叫做Bochs的软件可以帮助你。
Bochs是开源软件,是你唯一可选择的调试器。开源意味着,你不用花钱购买就可以使用它。它用软件来模拟处理器取指令和执行指令的过程,以及整个计算机硬件。当它开始运行时,就直接模拟计算机的加电启动过程。正是因为如此,它才有可能做一些调试工作。
很重要的一点是,它本身就是一个虚拟机,类似于VirtualBox。因此,它也就很容易让你单步跟踪硬盘的启动过程,查看寄存器的内容和机器状态。在本书中,我们的程序都是直接从BIOS那里接管处理器的控制权,因此,Bochs的这个特点正好能够用来完成调试工作。不像本书中使用的其他工具,bochs的使用方法在网上很容易搜索到。网友王南洋为本书制作了一个Bochs的简易教程,它的下载地址是:
download.csdn/detail/sholber/4622176
2 BOCHS软件的下载和安装
要使用Bochs,首先要从它的下载安装程序。下载地址是:
sourceforge/projects/bochs/files/bochs/
打开这个网络链接后,将出现图1所示的网页,该网页显示了Bochs软件的所有历史版本。一般来说,应当选择最新的版本下载,比如图中所示的2.6版。
图1 选择自己希望安装的BOCHS软件版本
第9章中断和动态时钟显示
Bochs的每一个版本都是针对不同平台开发的。因此,当你选择了一个版本后,将进入另一个页面,允许你选择一个适用于自己当前机器的安装程序。如图2所示。
图2 选择适用于自己当前系统平台的BOCHS安装程序
从图中可以看出,Bochs虚拟机的安装程序很小,只有几兆字节,而且Windows用户的下载量最多。别人下载什么我们也下载什么,这总是不会错的,因此,我们就下载。
下载工作完成后,剩下的就是运行该安装程序,将Bochs软件安装到你的计算机上。如果你的操作系统是Windows 7,那么安装程序运行时,将出现一个安全提示。不要理会它,继续运行安装程序即可。
3 BOCHS虚拟机的配置
如图3所示,在Bochs的工作文件夹(取决于实际安装的位置,该位置在安装的过程中可以选择和指定)下,有两个程序,分别是和。我们说过,Bochs是虚拟机软件,可以作为类似于VirtualBox的虚拟机来使用。在这种情况下,你应当使用。相反,如果你希望用Bochs来调试程序,那么,应当使用,它的意思是“Bochs调试”(Bochs Debuger)。
图3 Bochs软件的工作文件夹
第9章中断和动态时钟显示
因为是要调试程序,所以我们应当运行程序。每当该程序运行时,都会出现如图4所示的起始界面。
图4 Bochs程序的启动界面
和VirtualBox一样,Bochs也只是一台虚拟的计算机。因此,它需要做一些配置工作,比如,设置内存的大小、硬盘的数量和类型,等等。相对于VirtualBox,Bochs可以自定义的项目更多些。
在第一次使用Bochs时,一定要做一些设置工作。
Bochs可以提供一些默认的设置,这些默认的软、硬件参数对调试本书的程序来说已经足够。因此,我们仅仅设置一下硬盘参数就可以了。如图5所示,在“Bochs Start Menu”窗口中,双击“Edit Options”列表框中的“Disk & Boot”,该项目用于设置磁盘和计算机启动的参数。双击之后,将弹出另一个界面,该界面上有6个标签页,分别是“Floppy Options”、“ATA channel 0”、“ATA channel 1”、“ATA channel 2”、“ATA channel 3”和“Boot Options”。
“Floppy Options”是和软磁盘驱动器有关的设置。软磁盘在历史上曾经是非常标准和流行的配置,现在已经基本绝迹,所以,可以不用管它。
ATA是很多人熟悉的硬盘接口标准,PATA就是我们以前使用的IDE接口,SATA是当前正在流行的新标准。每台计算机可以有两个以上的ATA通道,以插接多块硬盘和光盘驱动设备。对于每台计算机来说,“ATA channel 0”总是必备的,因此我们一会儿就来设置它。
“Boot Options”是和计算机启动有关的选项,主要用于指定先从哪个设备(硬盘或光盘驱动器)启动。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。