- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程设计4 磁盘文件操作
课程设计目的
·深人了解磁盘文件系统的实现。
预备知识
·文件的操作。
·文件的逻辑结构和物理结构。
·磁盘空间的管理。
·磁盘目录结构。
小组人员
课程设计内容
设计一个简单的文件系统,用文件模拟磁盘。用数组模拟缓冲区,要求实现:
支持多级目录结构.支待文件的绝对读路径;
②文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;
③采用文件分配表;
④实现的命令包括建立目录、,列目录、删除空目、建立文件、删除文件、显示文件、打开文件、读文件、写文件(追加方式)、关闭文作、改变文件属性。
⑤最后编写主函数对所做工作进行测试。
提示与讲解
为了正确地实现文件的存取。文件系统设汁了一组与存取文件有关的功能模块。用户可以用“访管指令”调用这些功能模块.以实理文件的存取要求,把文件系统设计的这一组功能模块称为“文件操作”。文件操作不是独立的,和文件系统的其他部分密切相关。若要实现文件操作就离不开文件的目录结构、文件的组织结构和磁盘空间的管理。因此,这个实验虽然是文件操作的模拟实现,但是还必须模拟一部分文件的组织结构、目录结构和磁盘空间管理的实现。
(1)文件的组织钻构
文件的逻辑结构有两种形式:流式文件和记录式文件。实脸中只支持流式文件,采用称为显示链接的物理文件结构,把磁盘中每一块的指针部分提出来组织在一起,形成文件分配表(FAT)。
磁盘有多少块,文件分配表就有多少项。若某文件的一个磁盘块号为i,则这个文件的下
一个磁盘的块号应该记录在文件分配表第i项。例如,某系统文件分配表前几项值如表2-5-1所示:某个文件的起始盘块号为3,则该文件的磁盘块号依次为3、4、9、12、13。
表2-5-1 某磁盘文件分配表部分内容
第几项 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … 内容 -1 -1 -1 4 9 0 7 8 -1 12 11 -1 13 -1 0 0 …
〔2)磁盘空间的管理
首先要模拟一个磁盘。因为是实验,不使用真正的磁盘,所以实验中用一个文件模拟一
个小磁盘。假设模拟磁盘有128个物理块,每个物理块大小为64B。盘块的块号从0编起,
依次为0,1,2,3…,127。
将前面所讲的文件分配表放在磁盘的开始处。因为盘块有128块,所以文件分配表有128项,每项占用一个字节。这样文件分配表占用了磁盘的0块和1块,这两块就不能作其他用处。若一个盘块是某个文件的最后一块。填写“-1”表示文件结束。
文件的建立和删除操作需要对磁盘的空间进行分配和回收,所以要建立一定的数据表格
来记录磁盘的使用情况。用文件分配表的第i项表示第i个盘块的使用情况。磁盘的第0块
一定会被系统数据占用。所以任何一个文件的某个盘块块号都不可能是“0”,因而还可以用“0”表示磁盘盘块空闲,若这个盘块已经分配出去,即是某个文件的一块,由上面已知知道文件分配表中对应记录的是文件下一块的块号或结束标志都不是“0”。这样非“0”值表示盘块已分。像前面图2-5-1那张文件分配表中。块号为5、14和15的盘块是空闲的,其余是已分配的。在文件分配表中可以用一个超过盘块号的正整数表示文件结束,在此实验中
采用255代替“-1表示文件结束。
如果磁盘中某些部分损坏,只要不是系统
区(引导扇区、文件分配表或根目录等)。不
分配那些坏的盘块、磁盘就可以继续使用。在
文件分配表对应坏盘块的项不能是“0”,一般
也需要特定的数值表示(这个数值应该是盘块
编号以外并且不是结束标志的数值,例如实验
中128~254之间的数值)。假设试验中模拟磁
盘的筑第13块和第49块已经损坏不能使用,
则在文件分配表的第13项和第14项写入
“254”表示该盘块损坏不能使用。
由于磁盘分配,有时不能预订文件大小,例
如建立文件时并不知道文件大小,因而磁盘的分
配有时是一块一块申请的。.磁盘空间回收时,整
个文件删除时回收很多块,但有时文件修改时可
能会删除某些内容,造成归还磁盘块,这时是一
块一块回收的。这里给出申请一块磁盘空间的流
程图,若分配多块时,循环多次即可。分配一个盘块时,不应该从文件分配表第一项查起,因为磁盘中最开始的J几块为系统数据区(引导扇区,文件分配表、根目录等占用)。所以应该从这之后的可分配数据区开始查询.。假定系统区域占用了x个盘块,则分配一个磁盘盘块的流程如图2-5-1所示。回收一个磁盘块的流程图很简单,例如回收磁盘块的块号为x,只要找到文件分配表中第x顶,将第x项的值改为0即可。
(3)目录结构
文件目录是用于检索文件的,是文件系统实现按名存取的主要手段。文件目录由若干目录项组成,每一个目录记录一个文件的有关招息。一般地说,目录项应该包括如下内
您可能关注的文档
- 实验三:主存空间的分配及回收.doc
- “地球观测及导航”重点专项2017年度项目(编制大纲).pdf
- 第三章理想通信系统2_信噪比带宽与时间的互换.ppt
- 多媒体技术教程-ch3指南.pdf
- 数据结构期终复习试题+答案.doc
- 第八次作业答案资料.docx
- 自动控制原理习题课件.ppt
- 第一章 1.3_操作系统运行环境习题.ppt
- 操作系统20-文件3(副本).ppt
- 限定中创造 ——重庆大学建筑城规学院“高层建筑设计”教学思考.pdf
- 人工智能视角下区域教育评价改革利益相关者协调研究——以均衡发展为目标的应用实践教学研究课题报告.docx
- 《金融科技在消费金融领域的应用:基于金融科技伦理的监管策略》教学研究课题报告.docx
- 智能法律服务2025年法律科技人才培养需求分析报告.docx
- 《智能安防视频监控中的行为分析技术在智能工厂安全监控中的应用》教学研究课题报告.docx
- 智能电网背景下2025年数据中心绿色认证体系构建与优化.docx
- 智能电网背景下2025年储能技术产业政策与市场分析报告.docx
- 智能网联汽车2025年智能网联汽车车联网信息安全与监管报告.docx
- 智能监管2025剧本杀行业,内容技术革新分析报告.docx
- 智能穿戴设备用户付费意愿与市场前景研究报告.docx
- 初中化学家庭实验课程资源开发:以实验探究能力培养为核心教学研究课题报告.docx
文档评论(0)