实验?/p>
模拟DOS文件的建立
一?/p>
?/p>
机目的:
磁盘文件是磁盘上存储的重要信息,通过本实验模?/p>
DOS
文件的建立和使用情况,理
解磁盘文件的物理结构?/p>
文件管理是操作系统中重要的内容之一?/p>
不同的文件系统提供了?/p>
同的物理结构?/p>
通过实验?/p>
深入理解文件的物理结构与存取方法之间的关系,
以便更好的掌
握文件系统的概念?/p>
二?/p>
上机内容?/p>
?/p>
1
)模拟设?/p>
DOS
操作系统中磁盘文件的存储结构
?/p>
2
)模拟设计便于直接存取的索引文件结构
三?/p>
开发环?/p>
Microsoft Visual C++
环境,采?/p>
C
语言编程
四?/p>
分析设计
(一)实验原?/p>
?/p>
1
)模拟设?/p>
DOS
操作系统中磁盘文件的存储结构
DOS
操作系统对磁盘文件的管理采用链接结构,将所有的链接指针集中在一起,存放?/p>
文件分配表(
FAT
)中。连接文件的第一个物理块号登记在文件目录中。其设计思想是:?/p>
定磁盘上共有
N
个物理块可供使用,当要存放文件时,从
FAT
表中寻找其值为
0
的项,用其对
应的物理块存放文件信息,并把文件占有的各物理块用链接指针登记?/p>
FAT
表中,再把文?/p>
的第一个物理块号登记在文件目录中?/p>
?/p>
DOS
?/p>
FAT
表的前两项用来记录磁盘的类型?/p>
而从?/p>
2
项开始记录磁盘的分配情况和文件各物理块的链接情况。在
FAT
表中第三项的值如果为
0
?/p>
表示对应的第三块空闲?/p>
假设磁盘空间共有
100
个物理块?/p>
设计一个文件分配表
FAT[100],
其中每一个元素与一
个物理块对应?/p>
开始时?/p>
先把
FAT[100]
初始化为
0
,前两项是用来记录磁盘的类型,所以赋
常值分别为
-2,-1
。然后再写入文件,假设写入的文件?/p>
A
,文件长度为
6,
要把这个文件?/p>
入磁盘,就要为这个文件分配六个物理块,所以在
FAT[100]
表中,找到六个空闲的物理?/p>
分配给文?/p>
A
,系统就能够在磁盘上正确的保存文?/p>
A
。当你要给文?/p>
A
在指定的位置添加
记录时,
系统就要先找到一个空闲的物理块,
然后把指定位置的物理块的值赋值给找到的空