操作系统课程设计1

更新时间:2023-04-08 01:15:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

v1.0 可编辑可修改

操作系统原理

课程设计报告

题目:采用二级目录实现文件管理

所在学院:

班级:

学号:

姓名:

指导教师:

2013年1月15日

11

v1.0 可编辑可修改

目录

一、课程设计目的 (1)

二、课题内容 (1)

三、总体路线 (1)

四、概要设计 (2)

1.数据结构 (2)

2.所使用函数及其功能 (3)

五、详细设计 (4)

1.主函数流程图 (4)

2.创建文件函数流程图 (5)

3.删除文件函数流程图 (7)

4.分解命令函数流程图 (10)

六、测试、修改及运行结果 (10)

七、结束语 (13)

八、参考文献 (14)

2

v1.0 可编辑可修改一、课程设计目的

文件系统是现代OS用来存储和管理信息机构,具有按名存取的功能,不仅能方便用户对信息的使用,也有效提高了信息的安全性。本课题模拟文件系统的目录结构,并在此基础上实现文件的各种操作方法。

通过本课题,深入理解文件文件目录的作用和功能,掌握文件打开结构,熟悉与文件有关的系统调用,从而更好地掌握文件系统概念。

二、课题内容

1.文件目录采用二级目录结构,第一级为主文件目录master_file_directory;第二级为用户文件目录user_file_directory。

图1 master_file_directory 结构

图2 user_file_directory 结构

2.为加速文件存取,为每个用户建立一张用户打开表fileTable,用以记录该用户当前正在使用的文件。

图3 fileTable 结构

3.为该系统提供6条操作命令:创建、打开、读、写、关闭、删除等。

4.在该模拟系统中,应先建立主文件目录、用户目录和用户打开文件表,

11

v1.0 可编辑可修改然后接受合法用户,给出一个菜单,按用户选择执行相关操作。

三、总体路线

1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个简单的单用户文件系统。在退出这个简单的文件系统时,应将该虚拟文件系统保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。

2.文件存储空间的分配采用显式链接分配。为了实现创建和删除文件必须要有一棵初始的文件树存在,以便在文件树的根节点下实现创建和删除文件。 3.文件目录结构采用二级目录结构。为了简单起见,可以使用文件结构体,结构体内容包括:文件名,文件目录识别标示,文件链接数,以及他的左孩子右孩子左兄弟右兄弟指

4.要有分解函数对输入的命令进行分解。以识别那部分是哪部分是命令,哪部分是路径和文件名。

5.最后要有执行函数。来执行输入的创建文件命令。

四、概要设计

1.数据结构

(1)函数中的主要结构体

22

v1.0 可编辑可修改

33

v1.0 可编辑可修改

n");

return 0;

}

44

v1.0 可编辑可修改

n");

return 0;

}

55

v1.0 可编辑可修改

际运行结果:初始界面

2.键入用户名和密码创建账号

66

v1.0 可编辑可修改

2.登陆

3.文件操作

(1)创建文件

(2)写文件

77

v1.0 可编辑可修改

(3)读文件

(4)显示文件

88

v1.0 可编辑可修改(5)关闭文件

(6)删除文件

七、结束语

虽然我们做过很多次课程设计了,但是感觉自己还有好多需要学习的地方,

接到题目要求时,设计大体的框架,考虑好所使用的数据结构,然后用高级编程语言分模块的把架子的思路编写出来,调试,运行,再看看是不是符合题目的要求,上网找些资料,看看想想是不是要提高要求,才可以满足实际的需要,最后把收集的劳动成果组合起来,一个小程序终于成型了,虽然每次的过程差不多都一样,但是每次都会有不同的体会。在这中间,敲代码,调试程序的过程比较枯燥,每次思考一个问题很久不能解决的时候,真的很想放弃它,试着找客观的

原因,幸好,我的周围有学习好的同学,他们不仅帮我解答了我遇到的一些当时

99

v1.0 可编辑可修改

困扰着我的问题,还给了我很多鼓励,交流了一下做程序的思想,方法,跟我谈毅力,决心,还有什么是进步,这些是平时听老师讲课所学不到的,我收获不少。通过本次的课程设计,使我能够正确运用操作系统课程中所学的基本理论和知识,加深了对文件系统基本概念的理解,以及磁盘文件系统的文件操作。还有让我感受挺深的是对软件工程方法的应用。设计一个软件,先要做好需求分析,这一点很重要,如果没有分析好需求,到软件设计的最后,发现所做的功能不符合要求,那么一切都得重做,前面所有的努力都付诸东流。还有比较重要的是,画出语境级的数据流图,以及仔细画好程流程图。在程序设计的开始,由于分析工作做得不够深入和细致,吃了点小苦头。对于这样一个小设计来说,都会吃苦头,要是大工程更是无法想像,有可能会项目失败。

另外在运用C语言的时候,感觉有点生疏,在组织语言时时而出错,在编程和调试的过程中,经常会出现意想不到的问题,并非每个问题都可以从相关资料中找到解决方法,有些问题是无法预料到的,这就需要通过自己理性的分析得出问题的解决方案。

通过一周的努力,这次课程设计又要接近尾声了。虽然课设当中遇到很多问题,但是最终问题基本都一一解决了。通过这次课程设计的制作,加深了自己对文件管理系统的了解与认识。我相信,只要不断的严格要求自己,注意培养自己的思维能力,就一定会有更大更辉煌的发展和提高。

八、参考文献

[1]《C程序设计(第三版)》谭浩强清华大学出版社

[2]《计算机操作系统》西安电子科技大学出版社

1010

本文来源:https://www.bwwdw.com/article/p85l.html

Top