- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级操作系统实验报告
姓 名:
学 号:
专 业:
任 课 教 师:
2014年01 月18 目 录
一、课程设计题目和目的 1
二、课程设计要求 1
三、程序设计思想 1
四、文件系统的实现 2
1.数据结构设计 2
2.程序功能图 3
3.实体关系图 3
4.数据流图 4
5.程序流程图 5
(1) .建立文件:create(文件名,记录长度) 6
(2) .写文件:write(文件名,开始位置,字符串) 7
(3) .读文件:read(文件名,开始位置,长度) 8
(4) .显示文件所有内容 type(文件名) 8
(5) .删除文件delete(文件名) 9
(6) .重命名文件ren(文件名,新文件名) 10
(7) .查询文件属性ask(文件名) 11
(8) .关闭文件close(文件名) 12
五、程序运行结果及分析 13
六、课程设计总结 15
七、参考文献 16
八、附录 17
一、课程设计题目和目的
通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。
二、课程设计要求
通过组长分工,我主要完成了如下几个功能的操作:
1.创建文件:从命令中得到文件名,得到该文件的文件长度,建立文件。修改目录表。
4.读文件:read [文件名] [显示开始字节] [显示的字节数] ,直接显示所需要的字节数。
5.写文件:write [文件名] [插入的位置] [插入的内容]
6.修改属性:修改文件属性 文件名,文件权限,文件长度等。
三、程序设计思想
阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求,确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。
文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文件夹名称及其地址从打开文件夹栈中抛出。
文件打开则把文件的名称及其父指针写到文件列表同时置文件打开标志为1,文件关闭则把文件从打开列表中删除,同时置文件打开指针为0,文件读取和写入都要检查文件是否在文件打开列表中,未打开文件不能读写,只读文件不能写,只写文件不能读。
文件夹和文件创建,文件夹和文件的创建首先检验目录是否为空,为空则把文件夹或文件连接到该目录下,不为空则把检查目录下是否有同名文件夹或文件,有则提示创建不成功,没有则把文件夹或文件连接到该目录下的最后一个子节点,作为它的兄弟节点。
文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,否则删除失败,删除文件夹时利用了中序历遍来删除子树。
四、文件系统的实现
1.数据结构设计
通过分析课程设计要求,具体设计出如下数据结构:
typedef struct uof //文件属性
{
char filename[14]; //文件名字
int mode; //文件的权限0-readonly;1-writeonly;2-read/write
int length; //文件长度
int addr; //物理块号
int state; //0-建立,1-建立
int readptr;
};
通过结构体,将文件名字、文件在磁盘的开始位置、文件长度、文件最大长度、文件类型、创建时间结合在一起。文件类型,本模拟程序使用txt类型。设置一个线性表来存储文件。
2.程序功能图
文件系统提供的文件操作有建立文件(create)、删除文件(delete)、条件读取文件(read)、写入文件(write)、查询文件的属性(ask)、显示文件所有内容(type)、重命名文件(ren)、关闭文件(close)。可以通过键盘输入命令来模拟文件的操作。通过exit命令退出程序。
3.实体关系图
命令服务使得用户能够输入命令,在需要时提供命令的帮助。同时能够分析命令,调用相应的命令模块对模拟磁盘、磁盘空间分配表、文件表、打开文件表进行操作。磁盘空间分配表记录模拟磁盘的使用情况。文件表记录文件的信息和在磁盘里的位置等信息。打开文件表记录已打开的文件,对应文件表中的文件信息,和文件表里的文件节点类似,记录了文件在模拟磁盘中的信息。
4.程序流程图
模拟文件系统提供的文件
您可能关注的文档
最近下载
- 2024年6月英语四级真题(全3套).pdf
- 脑血管病教案.doc VIP
- 《Unit 6 Food and Drinks Listening and Speaking》学历案-中职英语高教版23基础模块1.docx
- 生活饮用水水质处理器卫生安全与功能评价规范-一般水质处理器(2001).pdf
- 标准图集-05SS521预制装配式钢筋混凝土排水检查井图集.pdf
- 流感课件完整版本.pptx VIP
- 学生干部心理调适培训.ppt VIP
- 国家开放大学《建筑力学》章节测试参考答案.pdf
- 10《往事依依》课件 2024-2025学年部编版七年级语文上册(共18张PPT).pptx VIP
- GY5(J1型)半联轴器加工工艺与工装设计-机械设计制造及其自动化.doc VIP
文档评论(0)