操作系统(2)实验六
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SHANGHAI UNIVERSITY
<操作系统>实验报告
学院计算机工程与科学学院学号10122050
姓名王杰
指导老师张建
日期2014.03.07
实验六FAT文件系统实验
一、实验目的:
1、从系统分析的角度出发,了解FAT文件系统的组织结构和文件的存储方式。
2、进一步理解操作系统文件管理的基本思想。
二、实验内容:
1..进入DEBUG环境,装入FAT文件系统结构。
执行命令:L 0 0 0 21
2.观察1.44M软盘中FAT12文件系统结构。
执行命令:D 0000
软盘有两面,每面80个磁道,每个磁道18个扇区,每个扇区512个字节,所以软盘的容量是2*80*18*512 = 1474560, 1474560/1024/1024大约为1.44M。
3.分析文件分配表结构,了解用簇链映射的文件的链式存储结构。
执行命令:D 200
◆思考:上面屏幕显示首簇号为003的文件共包括几个扇区?它分布在哪几个物理扇区上?
答:首簇号为003的文件共包括2个扇区,它分布在0道0面2、3扇。
4.观察1.44M软盘中文件目录表FDT以及文件目录结构
执行命令:L 0 0 0 21
说明:将逻辑扇区0H开始的共21H个物理扇区装入DS:0000H起始的内存。
执行命令:D 2600
说明:显示从2600H地址开始的FDT文件表。
思考:①计算1.44M的软盘根目录最多可以容纳多少文件?
答:1.44MB软盘的文件目录表FDT共14个扇区,每个文件的目录登记项占用32个字
节,用作目录的一个扇区(512字节)最多只能装入512/32=16个文件。因此,1.44MB软盘的根目录下最多可建文件或子目录224个。
②上图屏幕显示的文件BAK.txt的目录项中标示该文件的首簇号在何处?该文件是什么属性?
答:首簇号在第2行的1A~1B字节处,首簇号为002,该文件属于归档文件。
书上显示的文件office.txt首簇号在第6行的1A~1B字节处,首簇号为091,属归档文件。
③书上面的屏幕显示第1~2行目录项表示的是什么项目?
答:第1~2目录项表示卷标。
5.观察1.44M软盘中文件目录表的长文件名目录结构
思考:①书上面屏幕显示的2~3行是什么目录项?
答:长名的第一项,也是最后一项。
②若有一个文件名共长34个字符,要占多少目录项?
答:四个目录项,三个长目录项和一个短目录项。
6.自己动手做:
①观察测试软盘的FDT区,找到名为BAK的文件目录。该文件是什么类型的文件?文件放在磁盘的哪个位置?占用几个存储单位?调出其内容看看。
该文件为BAK.txt,属于归档文件。察看其首簇号为002,对应了数据区21H逻辑扇区。执行:L 0 0 0 21
D 2600
察看内容执行:L 8000 0 21 8
②找到文件123.TXT的存储位置。调出文件的第二快将文件的第512字节开始的128个字节,改写成“Happy New Year!”。再写回原文件。并用常规方式打开文件察看效果。
操作步骤:
L 0 0 0 21
D 2600
L 8000 0 22 8
D 8000
D 8200
F 8200 “Happy new Year!”
W 8000 0 22 8
三、总结:
①FAT文件系统的结构是如何组织的?
答:经过格式化操作之后,系统将在软磁盘上建立以下的数据结构:
(1)引导记录(DBR):位于0面0道1扇区,说明磁盘结构信息。
(2)文件分配表(FAT):用于记录磁盘空间的分配情况,指示硬盘数据信息存放的柱面及扇区的信息指针。其表项可以是以下四种表示方式之一:
A.一个数字,代表指向另一个簇的指针。
B.数字0,表示一个未使用的簇
C.一个坏扇区标记
D.文件结束标记符EOF
(3)文件根目录表FDT:一个指示以存入数据信息的索引。记录磁盘上存储文
件的大小,位置,日期和时间等数据。
(4)数据区:存放数据信息。
②系统怎样实现文件的逻辑块到物理块的映射?
答:文件分配表(FAT)是在链表结构的基础上,把每一个物理块当中的链表指针抽取出来,单独组成一个表格,也就是,并把它存放在内存当中,然后,如果要随机地区访问文件的第n个逻辑块,可以先从FAT表中查到相应的物理块地址,之后根据这个地址直接去访问磁盘,这样速度就比较快。
文件分配表的具体实现是,在整个文件系统中设置一个一维的线性表格,它的表项个数就等于磁盘上物理块的个数,并按照物理块编号的顺序来建立索引。对于系统中的每一个文件,在它的文件控制块中记录了这个文件的第一个物理块的编号X1,然后在FAT表的第X1项中,记录了该文件的第二个物理块编号X2.就这样一直下去,从而形成了一个链表。在链表的最后一个节点中,存放了一个特殊的文件结束的标识。
下图所示是文件分配表的一个例子。通过文件1的目录项可以知道,它的第一个逻辑块存放在第一个物理块中。然后去查询FAT表,可以知道,它的第二、第三个逻辑块分别存放在第二、第三个物理块中。FAT表的第三项是一个特殊的值0xFFFF,表明文件的结束,所以该文件总共有三个块。类似的,文件2也有三个数据块,分别存放在第四、第五和第七个物理块中。
四、体会:
这个实验很好的结合了书上对于FAT文件系统结构的阐述。对FAT的组织结构和文件的存储方式,有了更实际的认识。这个实验是在同学帮助下完成的,对于1.44M软盘不是很熟悉,不过硬盘的道理应该差不多,对于操作系统这门课有很实际的意义。