欢迎来到天天文库
浏览记录
ID:23874786
大小:1.08 MB
页数:29页
时间:2018-11-11
《实验五磁盘文件操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五磁盘文件操作一、实验目的深入了解磁盘文件系统的实现。二、实验预备知识文件的操作;文件的逻辑结构和物理结构;磁盘空间的管理;磁盘目录结构。三、实验内容设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现:支持多级目录结构,支持文件的绝对读路径;文件的逻辑结构采用流式结构,物理结构采川链接结构中的显示链接方式;采用文件分配表;实现的命令包括建立目录、列目录、删除空H录、建立文什、删除文件、显示文件闪各、打丌文件、读文件、写文件(追加方式)、关闭文件、改变文件属性。最后编写主函数对所做工作进行测试。四、提示与讲解为了正确地实现文件的存取,文什系统设
2、汁了一组与存取文件柯关的功能模块,用户可以用“访管指令”调用这些功能模块,以实现文件的存取要求。我们把文件系统设计的这一组功能模块称为“文件操作”,实验就是要模拟实现一些文件操作。文件操作不是独立的,它和文件系统的其他部分密切相关,若要实现文件操作就离不开文件的目录结构、文件的组织结构和磁盘空间的管理。冈此,这个实验虽然是文件操作的模拟实现,但足还必须模拟一部分文件的组织结构、目录结构和磁盘空叫管理的实现。(1)文件的组织结构文件的逻辑结构有两种形式:流式文件和圯录式文件。实验屮只支持流式文件,采用称为显示链接的物理文件结构,把磁盘中每一块的指针部分提出來,组织
3、在一起,形成文件分配表(FAT)。文件分配表的作川不仅如此,其他的作川下面将提到。磁盘有多少块,文件分配表就有多少项,若某文件的一个磁盘块号为i,则这个文件的下一个磁盘的块号应该记录在文件分配表第i项。例如,某系统文件分配表前儿项值如图10所示。某个文件的起始盘块号为3,则该文件的磁盘块号依次为3、4、9、12、13。第几项0123456789101112131415内容-1-1-149078-11211-113-100•••图1()茶磁盘文件分配表部分內界(2)磁盘空间的管理首先要模拟一个磁盘。因为是实验,不使用真正的磁盘,所以实验屮用一个文件模拟一个小磁盘。
4、假设模拟磁盘冇128个物理块,每个物理块大小为64字节。盘块的块号从0编起,0,1,2,3……,127。将前面所讲的文件分配表放在磁盘的开始处,因为盘块有128块,所以文件分配表有128项,每项占用一个字节。这样文件分配表占用了磁盘的0块和1块,这两块就不能作其他用处。若一个盘块是某个文件的最后一块,填写“-1”表示文件结朿。文件的建立和删除就需要对磁盘的空间进行分配和回收,所以要建立一定的数据表格來记录磁盘的使用怡况。用文件分配表的第i项表示第i个盘块的使用怙况。磁盘的第0块一定会被系统数裾占用,所以任何一个文件的某个盘块块号都不可能是“0”,因而还可以用“(
5、)”表示磁盘盘块空闲,若这个盘块已经分配出去,即足某个文件的一块,由上面我们知道文件分配表中对应项记录的是文件下一块的块号或结束标忐都不是“0”。这样非“0”值表示盘块已分。像前面图10那张文件分配表中,块号为5、14和15的盘块是空闲的,其余是已分配的。在文件分配表屮可以川一个超过盘块编号的正整数表示文件结束,在此实验中采川255代替-1表示文件结束。如果磁盘中某些部分损坏,只要不是系统区(引导扇区、文件分配表或根目录等),不分配那些坏的盘块,磁盘可以继续使用。在文件分配表对应坏盘块的项不能是“0”,一般也耑要特定的数值表示(这个数值应该是盘块编号以外并.R.
6、不是结朿标志的数值,例如,实验屮128〜254之间的数值)。假没实验十梭拟磁盘的第13块和第49块己经损坏,不能使川,则在文件分配表的第13项和笫49项写入“254”表示该盘块损坏不能使用。由于磁盘分配时,冇时不能预定文件的大小,例如建立文件时并不知道文件的大小。因而磁盘的分配柯时是一块一•块申请的。磁盘空闽回收时,整个文件删除时回收很多块,但有时文件修改时可能会删除某些内容,造成归还磁盘块,这时是一块一块回收的。这里给出申请一块磁盘空间的流程阁,荇分配多块时,循环多次即4。分配一个磁盘块时,不应该从文件分配表第一项杏起,因为磁盘屮最开始的几块为系统数裾区(引导
7、扇区、文件分配表、根目录等占用),所以应该从这之盾的可分配数裾区开始查询。假定系统区域占用Yx个盘块,分配一个磁盘块的流程如图11所示。回收一个磁盘块的流程图很简单,比如回收磁盘块的块号为X,只要找到文件分配表中第x项,将第x项的值改为0即可。结束图丨I分配一个磁盘块的流程图(3)目录结构文件H录足川于检索文件的,它足文件系统实现按名存取的主要手段。文件0录由若T目录项组成,每一个目录记录一个文件的有关信息。一般地说,n录项应该包括如下内容:①有关文件的控制信息。例如,用户名、文件名、文件类型、文件属性。实验模拟个人计算机上的文件操作,这部分内界仅包拈文件名、文
8、件类型和属性;②有关文件
此文档下载收益归作者所有