文件是存储在计算机硬盘上的,而且是以二进制方式存储的。那么,操作系统需要
怎么做才能存储(写入、读取和删除)文件呢?原来还需要做一些基础工作。
4.1.1 分区和格式化
一块新的硬盘在买回来后,必须首先分区(分为一个到多个区),再进行格式化,
然后才能在这个硬盘中存储数据。
在对硬盘的分区和格式化处理中,建立分区和逻辑盘符是对硬盘进行格式化处理的
必要条件,用户可以根据物理硬盘容量和自己的需要建立主分区、扩展分区和逻辑盘符
后,再通过格式化处理来为硬盘分别建立引导区(BOOT)、文件分配表(FAT)和数据
存储区(DATA),只有经过以上处理之后,硬盘才能在电脑中正常使用。
在操作系统中,分区会显示为一个个的盘符,一般是C~Z,如图4-1所示。
在硬盘中,情况则是另外一番样子,如图4-2所示。
打个形象的比喻,硬盘的分区就像是在一块地方建仓库,每个仓库就好比是一个分
区。格式化就好比是为了在仓库内存放东西,必须有货架来规定相应的位置。我们有时
接触到的引导分区就是仓库大门号,上面要记载这个分区的容量的性质及相关的引导启
动信息。FAT表就好比是仓库的货架号,目录表就好比是仓库的账簿。如果我们需要找
某一物品时,就需要先查找账目,再到某一货架上取东西。
正常的文件读取也是这个原理,先读取某一分区的BPB参数至内存,当需要读取某
一文件时,就先读取文件的目录表,找到相对应文件的首扇区和FAT表的入口后,再从
FAT表中找到后续扇区的相应链接,移动磁臂到对应的位置进行文件读取,就完成了某
一个文件的读写操作。
4.1.2 文件的写入和读取
理解了分区和格式化的功能,文件的写入和读取就好理解了。
1.文件的读取( Read)
操作系统从目录区中读取文件信息(包括文件名、后缀名、文件大小、修改日期和
文件在数据区保存的第一个簇的簇号),这里我们假设第一个簇号是0028。
操作系统从0028簇读取相应的数据,然后再找到FAT的0023单元,如果此处的内
容是文件结束标志“FF”,则表示文件结束,否则从该处读取下一个簇号,再读取相应
单元的内容,这样重复下去直到遇到文件结束标志。如图4-3所示。
2.文件的写入( Write)
当我们要保存文件时,操作系统首先在DIR区中找到空闲区写入文件名、大小和创建时
间等相应信息,然后在数据DATA区找出空闲区域将文件保存,再将DATA区的第一个簇
写入DIR区,同时完成FAT表的填写,具体的动作和文件读取动作差不多。如图4-4所示。