首页 > 代码库 > 准备工作(1)——Bz1.62

准备工作(1)——Bz1.62

《30天自制操作系统》

作者:川合秀实

原著作者的官网:http://community.osdev.info/

Bz1.62的下载地址:http://pan.baidu.com/s/1gdjCaOV


 

    万事开头难,不知道从哪个地方开始。

    就从用到的第一个软件开始吧——Bz1.62(Binary Editor BZ Version 1.62),这是一个十六进制查看(编辑)器,作者称呼他为“二进制编辑器”也不为过,也许是他可以在头脑中快速转换进制的缘故吧。
    类似功能的软件还有好多,比较有名的就是WinHex,相对来说Bz的功能比较简单的,但是真的很好用,也很符合川合秀实先生的编程思想(宁可多写几个软件也不要搞得很复杂——这是我现在对他的看法),每个工具的功能和目的都很明确。
    用Bz打开书中提到的第一镜像文件—helloos.img,如下图:
技术分享

    软件用一个二维数组表示文件的内部情况——地址(红框)和内容(绿框)右边的区域是对应编码的值,虽然看起来有点晕但是总比都是010101好一些,如果把这个镜像写入一张软盘里面,想象一下,进入微观世界,软盘上磁头扫过,小磁条都会很听话的快速调整自己的S极和N极,密密麻麻的却不会错,肯定很壮观,就像08年奥运会上的文字“和”字表演一样。
    文件的内容和地址都是用16进制表示的,每一个单位,例如第一个“EB”,都是一个字节(byte),转化成二进制就是“1110 1011”一共是8位(可以用Windows自带的计算器转化),它的地址是0000:0000+0,也就是0(注意地址都是从0开始的)
    上图绿框中最后两个字节“55”,“AA”对应的地址分别是“0000:01F0+E=1FE=510”,“0000:01F0+F=1FF=511”,也就是第511、第512个字节,这个字节对于启动盘来说比较重要,像两面小旗儿一样。

    helloos.img文件最后的位置是这样的:
    技术分享
    看地址,计算一下:最后一个字节的地址是167FFF转化成十进制是:1474559,也就是说一共有1474560个字节(记得加1),1474560Byte÷1024=1440KByte,1440KBkbyte÷1024=1.40625MByte,但是一般软盘在最后换算成MB的时候都是除以1000,因此一张3.5吋软盘的容量是1.44M(这其实是有误差的)。如果想了解软盘的存储结构,以及为什么是这样的存储容量看一看书中的第48页,配图介绍很详细。
    
    我们在本书中用到的这个软件的功能,目前来说只有这些,其实Bz还是有很多很好的功能,比如说打开两个文件对比功能、常用文件的(头部)结构、位图Bitmap文件查看功能。。。这些用到的时候再说吧。

准备工作(1)——Bz1.62