操作系统 课程实验-实验五 磁盘文件操作

操作系统 课程实验-实验五 磁盘文件操作

ID:12960800

大小:1.59 MB

页数:27页

时间:2018-07-19

操作系统 课程实验-实验五 磁盘文件操作_第1页
操作系统 课程实验-实验五 磁盘文件操作_第2页
操作系统 课程实验-实验五 磁盘文件操作_第3页
操作系统 课程实验-实验五 磁盘文件操作_第4页
操作系统 课程实验-实验五 磁盘文件操作_第5页
资源描述:

《操作系统 课程实验-实验五 磁盘文件操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验五磁盘文件操作一、实验目的深入了解磁盘文件系统的实现。二、实验预备知识文件的操作;文件的逻辑结构和物理结构;磁盘空间的管理;磁盘目录结构。三、实验内容设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现:支持多级目录结构,支持文件的绝对读路径;文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;采用文件分配表;实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、显示文件内容、打开文件、读文件、写文件(追加方式)、关闭文件、改变文件属性。最后编写主函数对所做工作进行测试。四、提示与讲解为了正确地实现文件的存取,文件系统设计了一组与存取文

2、件有关的功能模块,用户可以用“访管指令”调用这些功能模块,以实现文件的存取要求。我们把文件系统设计的这一组功能模块称为“文件操作”,实验就是要模拟实现一些文件操作。文件操作不是独立的,它和文件系统的其他部分密切相关,若要实现文件操作就离不开文件的目录结构、文件的组织结构和磁盘空间的管理。因此,这个实验虽然是文件操作的模拟实现,但是还必须模拟一部分文件的组织结构、目录结构和磁盘空间管理的实现。(1)文件的组织结构文件的逻辑结构有两种形式:流式文件和记录式文件。实验中只支持流式文件,采用称为显示链接的物理文件结构,把磁盘中每一块的指针部分提出来,组织在一起,形成文件分配表(FAT)

3、。文件分配表的作用不仅如此,其他的作用下面将提到。磁盘有多少块,文件分配表就有多少项,若某文件的一个磁盘块号为i,则这个文件的下一个磁盘的块号应该记录在文件分配表第i项。例如,某系统文件分配表前几项值如图10所示。某个文件的起始盘块号为3,则该文件的磁盘块号依次为3、4、9、12、13。第几项0123456789101112131415内容-1-1-149078-11211-113-100…图10某磁盘文件分配表部分内容(2)磁盘空间的管理首先要模拟一个磁盘。因为是实验,不使用真正的磁盘,所以实验中用一个文件模拟一个小磁盘。假设模拟磁盘有128个物理块,每个物理块大小为64字节

4、。盘块的块号从0编起,0,1,2,3……,127。将前面所讲的文件分配表放在磁盘的开始处,因为盘块有128块,所以文件分配表有128项,每项占用一个字节。这样文件分配表占用了磁盘的0块和1块,这两块就不能作其他用处。若一个盘块是某个文件的最后一块,填写“-1”表示文件结束。文件的建立和删除就需要对磁盘的空间进行分配和回收,所以要建立一定的数据表格来记录磁盘的使用情况。用文件分配表的第i项表示第i个盘块的使用情况。磁盘的第0块一定会被系统数据占用,所以任何一个文件的某个盘块块号都不可能是“0”,因而还可以用“0”表示磁盘盘块空闲,若这个盘块已经分配出去,即是某个文件的一块,由上面

5、我们知道文件分配表中对应项记录的是文件下一块的块号或结束标志都不是“0”。这样非“0”值表示盘块已分。像前面图10那张文件分配表中,块号为5、14和15的盘块是空闲的,其余是已分配的。在文件分配表中可以用一个超过盘块编号的正整数表示文件结束,在此实验中采用255代替-1表示文件结束。如果磁盘中某些部分损坏,只要不是系统区(引导扇区、文件分配表或根目录等),不分配那些坏的盘块,磁盘可以继续使用。在文件分配表对应坏盘块的项不能是“0”,一般也需要特定的数值表示(这个数值应该是盘块编号以外并且不是结束标志的数值,例如,实验中128~254之间的数值)。假设实验中模拟磁盘的第13块和第

6、49块已经损坏,不能使用,则在文件分配表的第13项和第49项写入“254”表示该盘块损坏不能使用。由于磁盘分配时,有时不能预定文件的大小,例如建立文件时并不知道文件的大小。因而磁盘的分配有时是一块一块申请的。磁盘空间回收时,整个文件删除时回收很多块,但有时文件修改时可能会删除某些内容,造成归还磁盘块,这时是一块一块回收的。这里给出申请一块磁盘空间的流程图,若分配多块时,循环多次即可。分配一个磁盘块时,不应该从文件分配表第一项查起,因为磁盘中最开始的几块为系统数据区(引导扇区、文件分配表、根目录等占用),所以应该从这之后的可分配数据区开始查询。假定系统区域占用了x个盘块,分配一个

7、磁盘块的流程如图11所示。回收一个磁盘块的流程图很简单,比如回收磁盘块的块号为x,只要找到文件分配表中第x项,将第x项的值改为0即可。图11分配一个磁盘块的流程图(3)目录结构文件目录是用于检索文件的,它是文件系统实现按名存取的主要手段。文件目录由若干目录项组成,每一个目录记录一个文件的有关信息。一般地说,目录项应该包括如下内容:①有关文件的控制信息。例如,用户名、文件名、文件类型、文件属性。实验模拟个人计算机上的文件操作,这部分内容仅包括文件名、文件类型和属性;②有关文件结构的信息。例如,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。