操作系统(2)实验六

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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软盘不是很熟悉,不过硬盘的道理应该差不多,对于操作系统这门课有很实际的意义。

相关文档
最新文档