操作系统课程设计--文件管理系统

操作系统课程设计--文件管理系统

ID:11113367

大小:780.50 KB

页数:22页

时间:2018-07-10

操作系统课程设计--文件管理系统_第1页
操作系统课程设计--文件管理系统_第2页
操作系统课程设计--文件管理系统_第3页
操作系统课程设计--文件管理系统_第4页
操作系统课程设计--文件管理系统_第5页
资源描述:

《操作系统课程设计--文件管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程设计课程名称____操作系统________题目名称___文件管理系统____学生学院____计算机学院________专业班级_10级计算机科学与技术5班学号__3210006071__________学生姓名_____陈丹飞___________指导教师__孙为军_______2013年1月10日成绩《操作系统》课程设计学院______计算机学院______专业__计算机科学与技术____学号__3210006071__________姓名___陈丹飞_____________指导教师__孙为军___________

2、__日期___2013/1/10__________一、课程设计题目和目的通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。二、课程设计要求通过课程设计,要求学生主要掌握如下内容:(1)设计多用户文件系统,采用多级文件目录。(2)至少要有十个以上的实用命令,应设置文件保护措施。(3)设计一个较实用的用户界面,方便用户使用,界面要为用户提供足够的选择信息,不需用户打入打入冗长的命令。三、程序设

3、计思想阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。此课程设计把TXT文本作来研究对象来模拟操作系统的文件系统工作过程。所以用一个字符串数组来模拟磁盘空间,顾名思义,模拟磁盘提供字符的存储服务。磁盘空间分配表,采用链表结构,每个节点保存模拟磁盘的一个逻辑块的信息,包括块的最大长度,

4、文件占用长度,占用标志。如果占用标志为0,即该空间可分配给文件。初始化磁盘空间分配表链表,首先把整个模拟磁盘作来一块,并置占用位为0.当有进程申请磁盘空间时,从头开始遍历,检查占用位,如果该块为可分配,则检查块大小,若块长度大于或等于申请空间大小,则把块的前一部分(等于申请大小)分配给文件,并置标志位为占用。剩下的大小作来一个新块,作来一个新节点插入到原节点的后边,标志位为可用。这样就实现了模拟磁盘的线性分配。文件表,由于模拟文件系统的文件数量不多,故文件表采用线性表来存储。线性表每个结点存储一个文件的信息。打开文件表,采用

5、数组形式存储打开的文件,数组每个元素保存一个打开文件的信息。文件信息和文件表中的文件信息类似。构造这些实体的关系图,数据流图、程序流程图来进行具体的设计。四、文件系统的实现1.数据结构设计通过分析课程设计要求,具体设计出如下数据结构:①chardisk[10000];//模拟磁盘空间通过一个字符串数组来模拟磁盘空间,数组最大长度设置为10000,即磁盘空间最大容量为10000字节。作为模拟文件系统,主要理解文件系统的原理,可以把文本文件作为对象来研究。故磁盘空间用一个字符串数组来模拟.①structfreeDiskTable

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

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

8、intmaxLength;//最大长度intopenCount;//打开文件的进程数structtm*timeinfo;//文件创建时间};通过结构体存储打开的文件信息,包括文件名字、文件类型、文件开始位置、文件长度、最大长度、文件打开数和文件创建时间。通过结构体数组存储所有打开文件信息。

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

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

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