您的位置:首页 > 其它

内核 汇编 img文件格式 FAT12格式

2014-08-03 22:27 232 查看
最近搞了下汇编。最初还是看了一本病毒的书,里面代码都是汇编的,很多看不懂,如int 21h等,于是乎就学了下汇编,收获颇大。建议想学内核的学下汇编先。

汇编有好几种,主要是格式的问题,有intel格式和AT&T格式的,各有自己的特点,很难说孰优孰劣。主要的环境有这么几种,masm、nasm、gas(gcc 的一部分)。后来看了一本write your own os 的书,照着做,写了个bootloader,boot部分也就是mbr(前512字节,即第一扇区),程序在在mbr中搜索loader.bin,在loader.bin中进入保护模式,完成分页,分段,及中断控制等工作,整个代码很简单,也很初级,下一步是实现进程。我想把前段时间工作总结下。

首先说.img文件格式,img文件为二进制格式,遵从fat12规范。要介绍文件格式,首先从存储介质说起,存储介质通常都以sector的形式分块,通常一个sector为512字节,磁盘就是一块又一块的sector构成的。为了实现文件系统,即以文件的形式对磁盘进行操作,磁盘的第一个sector为引导扇区,存储一些启动信息及代码等,接下来的扇区为FAT表,FAT表有两个,即FAT1和FAT2,FAT表里面用到一种数据结构来表示文件。由于文件的大小不同,有的文件占用1个扇区,有的文件占用多个扇区,为了表示一个文件中的扇区数,在对文件进行描述时,给出其占用的第一个区块号,在FAT表区,在扇区对应的位置填入下一区块编号,若为最后一个区块,则填入FFF(fat12),在FAT12格式中,每一个扇区对应FAT表中的12位,FAT16为16位,FAT32为32位。FAT12文件描述采用32字节,存储在根目录区中。

FAT12存在一个数据结构,叫做BPB(BIOS parameter block),其存在磁盘的第一扇区中。

(由于无法插入图片,图文版将以pdf出现)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: