实现操作系统所需的基本工具

来源:互联网 发布:金融网络销售聊天案例 编辑:程序博客网 时间:2024/06/10 05:56

    于渊的《Orange'S 一个操作系统的实现》确实是一本好书,条理很清晰,一些细节也有详细的涉及,不过毕竟作者对于最初学习的过程已经有所淡忘,对于我这样的菜鸟会遇到的各种问题难以完全涉及,所以这里给出自己学习过程中的“历程”,供各位同好分享。

    首先就是需要准备的各种工具了,别小看准备工具这个简单的事情,还是会有不少的问题的:

    在此之前,先说一句,本人对于LINUX完全是刚入门的菜鸟,所以可能不能做到完全在LINUX平台下开发,但是本着学习和习惯LINUX的目的,很多工具我都是同时找到WINDOWS平台和LINUX平台的版本,练习使用。

    声明:本文中绝大多数都是免费软件,万一有copy right的软件,那该是谁的版权还是谁的版权。

   

    1、NASM编译器

    在于渊的书中,全部使用的是NASM作为汇编部分的编译器,NASM的语法与学校学的MASM有一定的区别,这些在书中都有所涉及了。

    NASM的主页是http://www.nasm.us/,在DOWNLOAD那里可以免费下载到WINDOWS平台和LINUX平台下的版本。

    WINDOWS平台只需要解压就可以,为了之后使用方便,要将解压的文件夹路径添加到环境变量的PATH中。

    LINUX平台下,解压TAR.GZ文件,在解压出的文件夹中依次执行

    ./configure

    sudo make

    sudo make install

    当然,这些都是在“终端”下面执行的了。我使用的LINUX是Ubuntu 9.04。

 

   2、一个顺手的汇编编辑器

    虽然说用VC++作为编辑器也不错,不过我推荐使用一个叫做NotePad++的软件,当然我承认自己是对VC++有心理阴影...

    NotePad++的主页是http://notepad-plus.sourceforge.net/tw/site.htm

    以上的主页是繁体中文的,不过下载安装包的话,会自动侦测出简体中文的,这个工具仅是WINDOWS平台的,我感觉它对于汇编代码的支持很好看。

    在NotePad++中可以方便的设置编译工具和参数,举例来说,对于书中第一个例子boot.asm的编译可以在软件的“运行”中(快捷键F5)如下设置:

    cmd /k nasm $(FULL_CURRENT_PATH) -o $(CURRENT_DIRECTORY)/$(NAME_PART).bin

     具体的大家可以到网上去找,很简单的。

   3、虚拟机软件之一

    Connectix Virtual PC 5.2,这个版本是可以支持DOS下与宿主机文件夹共享的,Virtual PC被微软收编之后再没有这个功能的了。当然,要在安装了DOS之后安装DOS附加模块才可以的。这个虚拟机软件比较简单易用,对于我们的学习来说有两个用途:

    首先是安装DOS,在这个DOS下可以访问宿主机的文件,主要可以用来将文件写入到软盘映像中,很是方便。

    第二个用途就是测试我们所写的操作系统运行情况,我感觉比较清爽。

     4、虚拟机软件之二

    Bochs,这个是于渊在书中推荐的,它的主页http://bochs.sourceforge.net/

    比较郁闷的是我在那个主页中的Download Current链接中怎么也找不到下载,实际上在See All Release那里就可以找到下载了,同时有WINDOWS的版本和LINUX的版本。

    WINDOWS的版本还是简单一些,安装就行,注意安装完后的那个快捷方式指向的是不带调试的Bochs,想用调试功能的话用文件夹下的bochsdbg.exe就好,另外它还有附带制作软盘.IMG镜像的小工具的说。

    LINUX下安装的过程还是比较曲折的,于渊的书中第10页有叙述,简单来说,按照以下的顺序在终端输入:

    ./configure --enable-debugger --enable-disasm

    sudo make

    sudo make install

    但是当我在Ubuntu 9.04中这样做的时候,第一步就出了问题,具体的过程就不说了,明天我再补上具体的问题和解决方法。

     这个Bochs主要是可以进行调试,另外,在Bochs的主页上提供了常见操作系统的镜像,我们主要是用到了FreeDos,在Bochs主页上有下载。

    5、十六进制查看器

     我使用的是一个叫做WinHex的小工具,比较好用。网上一搜就有啦。

    6、WINDOWS下执行LINUX命令的工具

     我的中古神舟笔记本跑虚拟机LINUX实在是比较卡,又不能老是重启机子来切换操作系统,所以我推荐这样的一个工具,叫做Cygwin,可以在WINDOWS平台下执行LINUX的指令,也有GCC之类的东西,于渊书中的dd、xxd等命令都可以在它下面执行,很方便。中文的网站是www.cygwin.cn,上面有详细的安装和使用指南。

     今天就先写到这里吧,随着学习的深入,可能会继续添加所用到的其他工具。

     更新时间:2009年7月25日21:52:03