2914.模拟文件系统【操作系统课程设计含报告、源代码】

2914.模拟文件系统【操作系统课程设计含报告、源代码】

ID:6675691

大小:282.00 KB

页数:58页

时间:2018-01-21

2914.模拟文件系统【操作系统课程设计含报告、源代码】_第1页
2914.模拟文件系统【操作系统课程设计含报告、源代码】_第2页
2914.模拟文件系统【操作系统课程设计含报告、源代码】_第3页
2914.模拟文件系统【操作系统课程设计含报告、源代码】_第4页
2914.模拟文件系统【操作系统课程设计含报告、源代码】_第5页
资源描述:

《2914.模拟文件系统【操作系统课程设计含报告、源代码】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、工学院操作系统课程设计说明书设计题目模拟文件系统的工作系别计算机工程系专业班级学生姓名学号指导教师日期2010-5-25目录一、课程设计题目和目的1二、课程设计要求1三、程序设计思想1四、文件系统的实现21.数据结构设计22.程序功能图33.实体关系图34.数据流图45.程序流程图5(1).建立文件:create(文件名,记录长度)6(2).写文件:write(文件名,开始位置,字符串)7(3).读文件:read(文件名,开始位置,长度)8(4).显示文件所有内容type(文件名)8(5).删除文件delete(文件名)9(6).重命名文件ren(文件名,新文件名)10(7).查询文件属

2、性ask(文件名)11(8).关闭文件close(文件名)12五、程序运行结果及分析13六、课程设计总结15七、参考文献16八、附录17LinList.hOS.CPPSEQLIST.H工学院课程设计用纸一、课程设计题目和目的通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。二、课程设计要求通过课程设计,要求学生主要掌握如下内容:1.文件的物理结构可以选用顺序分配、链表分配或索引分配。2.建立文件:从命令中得到文件名,得到该文件的文件长度,建立文件。修改目

3、录表。3.删除文件:回收文件占用的空间,修改目录表4.读文件:read[文件名][显示开始字节][显示的字节数],直接显示所需要的字节数。5.写文件:write[文件名][插入的位置][插入的内容]6.查询属性:显示文件属性文件名,类型,长度,时间等。三、程序设计思想阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。此课程设计把TXT文本作来研究对

4、象来模拟操作系统的文件系统工作过程。所以用一个字符串数组来模拟磁盘空间,顾名思义,模拟磁盘提供字符的存储服务。磁盘空间分配表,采用链表结构,每个节点保存模拟磁盘的一个逻辑块的信息,包括块的最大长度,文件占用长度,占用标志。如果占用标志为0,即该空间可分配给文件。初始化磁盘空间分配表链表,首先把整个模拟磁盘作来一块,并置占用位为0.当有进程申请磁盘空间时,从头开始遍历,检查占用位,如果该块为可分配,则检查块大小,若块长度大于或等于申请空间大小,则把块的前一部分(等于申请大小)分配给文件,并置标志位为占用。剩下的大小作来一个新块,作来一个新节点插入到原节点的后边,标志位为可用。这样就实现了模

5、拟磁盘的线性分配。文件表,由于模拟文件系统的文件数量不多,故文件表采用线性表来存储。线性表每个结点存储一个文件的信息。打开文件表,采用数组形式存储打开的文件,数组每个元素保存一个打开文件的信息。文件信息和文件表中的文件信息类似。构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。第55页共58页工学院课程设计用纸四、文件系统的实现1.数据结构设计通过分析课程设计要求,具体设计出如下数据结构:①chardisk[10000];//模拟磁盘空间通过一个字符串数组来模拟磁盘空间,数组最大长度设置为10000,即磁盘空间最大容量为10000字节。作为模拟文件系统,主要理解文件系统的原理,

6、可以把文本文件作为对象来研究。故磁盘空间用一个字符串数组来模拟.②structfreeDiskTable//碰盘空间分配表{intstart;//开始位置intlength;//占用长度intmaxLength;//最大长度intuseFlag;//使用标志,1为占用,0为空闲};通过结构体,将磁盘空间使用情况(文件开始位置、占用长度、最大长度、使用标志)结合在一体。一个结构体变量记录磁盘一个块的信息。结构体作为链表的一个节点,设置一个链表将节点连接起来,构成一个磁盘空间分配表。③structfileTable//文件表{charfileName[20];//文件名字intstart;/

7、/开始位置intlength;//文件长度intmaxLength;//最大长度charfileKind[8];//文件种类,此默认为txtstructtm*timeinfo;//文件创建时间};通过结构体,将文件名字、文件在磁盘的开始位置、文件长度、文件最大长度、文件类型、创建时间结合在一起。文件类型,本模拟程序使用txt类型。设置一个线性表来存储文件。④structopenFileTable//打开文件表{charfileNam

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

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

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