- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中北大学
操作系统课程设计
说 明 书
?
学 院、系: 软件学院 专 业: 软件工程 学 生 姓 名: 学 号: 设 计 题 目: 模拟文件系统的设计与实现 起 迄 日 期: 2016年12月21日- 2017年1月4日 指 导 教 师:
?
?
?2016年12月20日
需求分析
1.1课程设计题目和目的
通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识,加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提
高综合运用各专业课知识的力。
1.2 课程设计要求
通过课程设计,要求学生主要掌握以下内容:
a.文件的物理结构可以选用顺序分配,链表分配或索引分配。
b.建立文件:从命令中得到文件名,得到该文件的文件长度,建立文件修改目录表。
c.删除文件:回收文件占用的空间,修改目录表
d.读文件:read[文件名][显示开始字节][显示的字节数],直接显示所需要的字节数。
e.写文件:write[文件名][插入的位置][插入的内容]
f.查询属性:显示文件属性,文件名,类型,长度,时间等。
1.3程序设计思想
此课程设计把TXT文件作为研究对象来模拟操作系统的文件系统的文件系统工作过程。所以用一个字符串数组来模拟磁盘空间,顾名思义,模拟磁盘提供字符的存储服务。磁盘空间分配表,采用链表结构,每个节点保存模拟磁盘的一个逻辑块的信息,包括块的最大长度,文件占用长度,占用标志。如果占用标志为0,即该空间可分配给文件。初始化磁盘空间时,从头开始遍历,检查占用位,如果该块位可分配,则检查块大小,若块长度大于或者等于申请空间的大小,则把块的前一部分(等于申请大小)分配给文件,并置标志位为占用。剩下的大小做来一个新块,做来一个新的节点插入到原节点的后边,标志位为可用。这样就实现了模拟磁盘的线性分配。 文件表,由于模拟文件系统的文件数量不多,故文件表采用线性表来存储。线性表每个节点存储一个文件的信息。打开文件表,采用数组形式存储打开的文件,数组每个元素保存一个打开文件的信息。文件信息和文件表中的文件信息类似。构造这些实体的关系图,数据流图。程序流程图来进行具体的设计。
1.4实验环境
eclipse+jdk1.6.0_10
二、总体设计
2.1系统流程
图2.1.1
2.2文件结构
采用类似于树状的结构
图2.2.1
2.3实现操作
-------------------------以下为显示和跳转操作------------------------------
ls 显示文件目录 cd [dirname]: 跳转到指定目录 cd .. 跳转到上层目录
---------------------------以下为目录操作--------------------------------
mkdir [dirname]:创建目录 ptdir [dirname]:粘贴目录 cpdir [dirname]: 拷贝目录
rnmdir [dirname]:重命名目录 rmdir [dirname]:删除目录
---------------------------以下为文件操作--------------------------------
vim [filename]:创建文件 ptfile [filename]:粘贴文件 cpfile [filename]:拷贝文件
rnmfile [filename]:重命名文件 rmfile [filename]:删除文件 vi [filename]:显示文件内容
---------------------------以下为退出该系统操作----------------------------
exit
---------------------------以下为用户切换操作------------------------------
logout 注销 login [username] 以该用户的身份登录 add [username] 添加新的用户并登录
---------------------------------------------------------------------
2.4数据结构
Src文件结构
用户类数据结构AllUser.java:维护着一个包含所有用户的Map,单例模式,用户唯一
图2.5.1
2.5.2文件编辑
图2.5.2
2.5.3显示文件内容
文档评论(0)