《操作系统课程设计报告》
操作系统课程设计
文件系统模拟
班 级: 学 号: 姓 名: 指导老师: 提交时间: 实验地点:
课程设计目的 ........................................................................................ 2 课程设计要求 ........................................................................................ 2 课程设计内容 ........................................................................................ 2 文件系统实现 ........................................................................................ 2
数据结构设计 .................................................................................................... 2 程序流程图设计................................................................................................ 3 主要算法设计 .................................................................................................... 9 模拟实现文件系统.......................................................................................... 10 程序调试与运行结果 ...................................................................................... 11
课程设计总结 .......................................................................................11 参考文献 ...............................................................................................11
一、课程设计目的
通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识。
二、课程设计要求
通过课程设计,要求学生主要掌握如下内容: 1.设计出文件系统中常用的数据结构;
2.理解文件系统的工作流程,给出程序流程图; 3.设计出文件系统中关键的算法;
4.模拟实现二级目录文件系统,并给出一组运行结果。
三、课程设计内容
根据实验指导书补充
四、文件系统实现
1、数据结构设计
通过分析设计题目,具体设计出主要的三个数据结构。 UFD:
通过结构体,将文件名,文件属性,记录长度和文件的地址结合在一体。 UOF:
同样是通过结构体,将文件名,文件属性,记录长度,当前状态,读指针,写指针以及最后一块的指针结合在一起。
MFD:
通过一个类来实现其功能。类中包括用户名,UFD及UOF中的文件个数,以及与用户相对应的UFD和UOF。另外还包括两个初始化函数。
NL 栏栏 S 栏
2、程序流程图设计⑴、整体程序流程: 开始
菜单选择: 初始化已有的用 户或新建用户 新建用户 选择已有用户 输入用户名后 开始初始化 初始化文件 表
初始化结束后 菜单选择进入正式操作部分
列出目前所有用户 并等待输入
用户名
MFD 中有该用户 有 列出指令列表 并由用户选择
无
显示: 无此用户
建立
打开
关闭
读
写
删除
文件 列表
切换 用户
结束
显示 错误
3
⑵、用菜单的形式来模拟用户程序中调用的文件操作,这些命令的说明如下: The order is: 1=create 2=open 3=close 4=read 5=write 6=delete 7=changeUSER 8=list 9=end
Please input your order: ① 建立文件(create)
模拟文件系统进行“建立文件”的处理,流程图后附。 ② 打开文件
约定操作类型与文件属性不符合活正处在“建立”状态的文件不允许打开。 ③ 关闭文件
对某个文件不需要再读或写的时候,用户应关闭该文件。 ④ 读文件
文件打开后可顺序读文件中的记录,读长度表示本次操作需读的记录个数。 ⑤ 写文件
执行写文件操作时要区分两种情况,第一种是在执行create后要求写,第二种是执行open后要求写。对第二种情况可认为用户要对一个已建立好的文件进行修改。 一个文件可以分多次写,既可按记录顺序写也可随机写一个记录,采用顺序写时可省略记录号。 ⑥ 删除文件
把请求撤消的文件从拥护文件目录表中出名,收回该文件站用的存储区域。 ⑦ 切换用户
可在多个用户间切换,彼此进行独立的操作。 ⑧ 文件列表
将目前所有用户的文件列出,并列出相关的属性及所有者。 ⑨ 结束
退出程序,返回原有操作系统。
创建文件 流程图:
打开文件 流程图:
开始
查找用户的 UFD
是
UFD 中有该文件
否 显示: 文件不存 在,不能打开
查找用户的 UOF
是
UOF 中有该文件
否
返回
该文件为 “建立” 状态
是
文件属性与操 作类型相符
是
否 显示: 否 显示:正在建 立,不能打开 显示: 文件已打开 登记 UOF:文件名, 记录长度,文件属性 状态:=“打开” 读 指针 :=UFD 中 文 件地址 写 指针 :=UFD 中 文 件地址操作不合法, 不能打开
返回
返回
显示:成功打开文件
返回
6
写文件 流程图: 开始
查用户的 UOF
是
UOF 中有该文件
否
显示:文件尚 该文件为 建立状态?
否(打开状态)
未建立或打 开,不能写
是 否 把记录信息写 到 “写指针” 指 出的物理块中 否顺序修改 文件属性为 “只读”?
是
返回
是 找一个空闲块 填入文件链接 字, 修改 “写指 针”取出“写指针”指 出的块号 找出存放 指定记录 的
块号 显示:操作不 合法,不能写
修改“写指针”
返回
把修改信息写 入找到的物理 块中
显示:写文件成功
返回7
读文件 流程图: 开始
查用户的 UDF
文件已经打开 从“读指针”得 到当前起始地址 显示:文件未打 开,不能读
按读产度把信息 读出传送给用户
返回
修改“读指针”
显示:读文件成功
返回 开始 关闭文件 流程图: 查用户的 UOF
文件为 “建立” 状态?
置文件结束标志文件为 “建立” 状态?
消除该文件在 UOF 中的登记栏 显示:文件已关闭 显示:关闭文件成功
返回 8
3、主要算法设计
新建用户:
由于MFD为类,所以只需输入用户名,并赋值给类中对应的属性mfd[i].UserName即可,其他属性在定义整个对象数组时已由默认构造函数定义。
程序运行实例:
0 zhao 1 qian 2 sun 3 li 4 zhou 6 begin operation 7 end Input number : (菜单1)
用户命令菜单:
将纯指令的操作加入了简单的菜单处理,在功能没有简化的基础上使操作更为简便。 The order is:
Please input your order: (菜单2)
4、模拟实现文件系统
菜单1部分程序段:
if(j>i+2){cout<<"Error!!\n"<<endl;goto bg;} else if(j<i){
cons:cout<<"Now using "<<mfd[j].UserName<<"'s file!!\n"; //初始化过程 }
else if(j==i){cout<<"Please input the new username:"; cin>>u …… 此处隐藏:3018字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告