高级操作系统实验报告课程设计(doc 30页).doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《高级操作系统实验报告课程设计(doc 30页).doc》由用户(欢乐马)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级操作系统实验报告课程设计doc 30页 高级 操作系统 实验 报告 课程设计 doc 30
- 资源描述:
-
1、 高级操作系统实验高级操作系统实验 报告报告 姓 名: 学 号: 专 业: 任 课 教 师: 2014 年 01 月 18 目目 录录 一、课程设计题目和目的一、课程设计题目和目的 1 二、课程设计要求二、课程设计要求 1 三、程序设计思想三、程序设计思想 1 四、文件系统的实现四、文件系统的实现 1 1.数据结构设计 . 1 2.程序功能图 . 2 3.实体关系图 . 3 4.数据流图 错误错误! !未定义书签。未定义书签。 5.程序流程图 . 3 (1) 建立文件:create(文件名,记录长度) . 4 (2) 写文件:write(文件名,开始位置,字符串) 5 (3) 读文件:read
2、(文件名,开始位置,长度) . 6 (4) 显示文件所有内容 type(文件名) . 错误错误! !未定义书签。未定义书签。 (5) 删除文件 delete(文件名) 错误错误! !未定义书签。未定义书签。 (6) 重命名文件 ren(文件名,新文件名) . 错误错误! !未定义书签。未定义书签。 (7) 查询文件属性 ask(文件名) . 错误错误! !未定义书签。未定义书签。 (8) 关闭文件 close(文件名) . 错误错误! !未定义书签。未定义书签。 五、程序运行结果及分析五、程序运行结果及分析 8 六、课程设计总结六、课程设计总结 10 七、参考文献七、参考文献 11 八八、附录
3、、附录 12 北京联合大学 第 1 页 共 30 页 一、课程设计题目和目的 通过模拟文件系统的实现, 深入理解操作系统中文件系统的理论知识, 加深对教材中的重 要算法的理解。 同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合 运用各专业课知识的能力。 二、课程设计要求 通过组长分工,我主要完成了如下几个功能的操作: 1创建文件:从命令中得到文件名,得到该文件的文件长度,建立文件。修改目录表。 4读文件:read 文件名 显示开始字节 显示的字节数 ,直接显示所需要的字节 数。 5写文件:write 文件名 插入的位置 插入的内容 6修改属性:修改文件属性 文件名,文件权
4、限,文件长度等。 三、程序设计思想 阅读操作系统方面的书籍,了解操作系统的文件系统原理。结合分析课程设计要求, 确定实体以及它们之间的关系。实体关系有三张表(磁盘空间分配表、文件表、打开文件 表)、一个模拟磁盘的数组、命令服务和用户构成。用户负责输入命令。命令服务实现命 令的解释、命令检查、命令帮助以及调用相关模块执行相应的命令功能。 文件夹打开是则把文件夹名称及其地址压入打开文件夹栈,文件关闭则把文件夹名称及其地址从 打开文件夹栈中抛出。 文件打开则把文件的名称及其父指针写到文件列表同时置文件打开标志为 1,文件关闭则把文件 从打开列表中删除,同时置文件打开指针为 0,文件读取和写入都要检查
5、文件是否在文件打开列表中, 未打开文件不能读写,只读文件不能写,只写文件不能读。 文件夹和文件创建,文件夹和文件的创建首先检验目录是否为空,为空则把文件夹或文件连接到 该目录下,不为空则把检查目录下是否有同名文件夹或文件,有则提示创建不成功,没有则把文件夹 或文件连接到该目录下的最后一个子节点,作为它的兄弟节点。 文件夹和文件的删除,文件夹下没有打开的文件或文件没有打开才能删除,否则删除失败,删除 文件夹时利用了中序历遍来删除子树。 四、文件系统的实现 1.数据结构设计 通过分析课程设计要求,具体设计出如下数据结构: 北京联合大学 第 2 页 共 30 页 typedef struct uof
6、 /文件属性 char filename14; /文件名字 int mode; /文件的权限 0-readonly;1-writeonly;2-read/write int length; /文件长度 int addr; /物理块号 int state; /0-建立,1-建立 int readptr; ; 通过结构体,将文件名字、文件在磁盘的开始位置、文件长度、文件最大长度、文件 类型、创建时间结合在一起。文件类型,本模拟程序使用 txt 类型。设置一个线性表 来存储文件。 2.程序功能图 文件系统提供的文件操作有建立文件(create)、删除文件(delete)、条件读取文件 (read)、
7、写入文件(write)、查询文件的属性(ask)、显示文件所有内容(type)、重命 名文件(ren)、关闭文件(close)。可以通过键盘输入命令来模拟文件的操作。通过 exit 命令退出程序。 模拟文件系统 创 建 文 件 删 除 文 件 条 件 读 取 写 入 文 件 查 询 属 性 显 示 内 容 显 示 目 录 重 命 名 文 件 关 闭 文 件 北京联合大学 第 3 页 共 30 页 3.实体关系图 命令服务使得用户能够输入命令,在需要时提供命令的帮助。同时能够分析命令,调用 相应的命令模块对模拟磁盘、磁盘空间分配表、文件表、打开文件表进行操作。磁盘空间分 配表记录模拟磁盘的使用情
8、况。文件表记录文件的信息和在磁盘里的位置等信息。打开文件 表记录已打开的文件,对应文件表中的文件信息,和文件表里的文件节点类似,记录了文件 在模拟磁盘中的信息。 4.程序流程图 模拟文件系统提供的文件操作有建立(create) ,读取(read) ,显示(type) ,删除(detele) , 写入(write),关闭(close),重命名(ren)和查询(ask)。在模拟程序中可从键盘上输入文件操作 命令来模拟各用户程序中所调用的各种文件操作,用一个结束命令(exit)停止程序的执行。 用 户 命令服务 模拟磁盘 磁盘空间分 配表 文件表 打开文件表 北京联合大学 第 4 页 共 30 页
9、(1) 创建文件:create(文件名,记录长度) 模拟文件系统进行“创建文件”的处理流程如下: 开始 系统格式化 Y/N 输入命令 命令表中有该命令? 分析命令 显示:命令帮助 无 创建 删除 读取 显示 重命名 写入 查询 列表 关闭 退出程序(exit) 执行命令 执行命令 北京联合大学 第 5 页 共 30 页 (2) 写文件:write(文件名,开始位置,字符串) 模拟文件系统进行“建立文件”的处理流程如下: 开始 查询文件表 文件表中有名字? 返回 有 显示重命 申请磁盘空间 空间申请成功? 显示失败 否 返回 无 在磁盘分配表中登记 登记:长度=0,最大长度=申请长度, 开 始位
10、置申请节点位置 空闲情况占用 在文件表中登记 登记:长度=0,最大长度=建立长度, 开 始位置分配位置 文件类型txt,时间当前时间 在打开文件表中登记 登记:信息和文件表中类似 显示创建成功 返回 北京联合大学 第 6 页 共 30 页 (3) 读文件:read(文件名,开始位置,长度) 模拟文件系统进行“读取文件”的处理流程如下: 开始 查询打开文件表 查询文件表 在打开文件表里? 不在 在文件表里? 显示无文件 返回 不在 写进模拟磁盘 在 在 读取文件记录 write 参数合法? 合法 显示成功 返回 显示参数非法 非法 北京联合大学 第 7 页 共 30 页 开始 查询文件表 在打开
11、文件表里? 不在 在文件表里? 显示无文件 返回 不在 在 在 读取文件记录 read 参数合法? 非法 显示参数非法 返回 根据参数读取模拟 磁盘里的记录 返回 合法 北京联合大学 第 8 页 共 30 页 五实验程序说明: 1.创建文件: 2.打开文件: 北京联合大学 第 9 页 共 30 页 3.写文件: 4.修改文件属性: 北京联合大学 第 10 页 共 30 页 六、课程设计总结 通过本次的课程设计,使我能够正确运用操作系统课程中所学的基本理论和知识,加深 了对文件系统基本概念的理解,以及磁盘文件系统的文件操作。还有让我感受挺深的是对软 件工程方法的应用。设计一个软件,先要做好需求分
展开阅读全文