济南大学优秀操作系统课程设计报告精要.docVIP

济南大学优秀操作系统课程设计报告精要.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统课程设计 学 院:信息科学与工程学院 专 业: 班 级:学 号: 学生姓名:小秉指导教师: 2014 年 3 月 日 一、实验内容 模拟文件系统 [问题描述] 在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的小型文件系统。 [基本要求] 该小型文件系统没有子目录机制,文件连续分配,不考虑分区。 做一个简单的操作界面,提供四条简单的命令:简单的ls、cat、cp、rd. 进一步增强:文件系统功能:文件系统不连续分配,可以有子目录机制,(如两级子目录机制)。二、数据结构设计{ char file_name[50]; //文件名 int file_length; //文件大小 char dir_name[50]; //文件所属文件名 FileType file_type; //文件类型 int file_addr; //文件储存首地址 int flag; //标志位,文件是否存在 }root[16384]; //定义文件表 2. 物理地址块数据结构 struct Block //物理地址块数据结构 { int isUsed; //正在使用为1,没被使用为0 int flag; //标志位,-1表示文件地址连续,0 ~ 16384表示下一块地址 }block[128][128]; //使用位示图储存文件 三、算法设计(总体设计及模块设计) 通过用户指令执行相应的操作 2. 模块设计 ①菜单及输入输出模块:采用while循环方式,输入quit指令终止操作,获取用户输入的指令(不同的指令有不同的格式,调用不同的函数)执行完成后进入下一次循环 ②指令设计: format,与windows格式化命令相似,将所有清空,初始化 ls:当前系统的信息总容量,剩余容量和版权信息。 lm:打印当前目录下所有文件和文件夹信息 cat:查看指定文件或者文件夹的大小和信息指令格式: cm:在当前目录下创建一个文件夹,指令格式: + 文件夹名 cf:在当前目录下创建一个文件指定文件名和文件大小cf + 文件名 + 文件大小 rd:删除当前目录下的一个文件或者文件夹指令格式:rd + cd:进入当前一个文件夹,指令格式:cd + cp:copy指令,将指定文件路径下的文件拷贝到另一个文件目录下,指令格式:cp + 的路径名名 help:帮助,显示帮助 quit:退出系统命令 cls:清屏 ③创建文件算法设计:用户输入的文件遍历文件表当前路径下是否有重名文件,若有则若无则可以创建在文件夹中加入一条记录,的文件信息,创建成功。 ④删除文件算法设计:用户输入的文件名遍历文件表,查找文件是否存在,若不存在,则删除操作失败文件存在则查看是否是一个文件目录,若是文件目录则查找文件目录下是否存在其他文件或文件夹,一并从文件列表中删除。 ,则直接删除。 ⑤文件拷贝操作:首先检验用户输入的源地址和目标地址是否正确,查看文件是否存在,若校验,则输入错误信息,拷贝操作结束。若都,在文件列表中添加文件信息,若是文件夹,也将目录下所有文件拷贝一份到目标地址。四、测试数据及程序运行情况 1.: 2.数据:总容量:KB,初始化后根目录文件占用KB,剩余KB,此时查看系统信息: 根目录admin”下创建如下及文件夹 容量: :– 200 – 321 – 4 * 4 = 15847 正确 查看根目录下文件夹file_B的信息::cat file_B 在admin下创建文件夹一个文件夹输入指令 再次查看目录信息: 文件夹已经在列表中了 一个doc输入指令:600” 删除文件夹file:输入指令rd file” 删除文件doc,输入指令:rd doc” 查看删除前容量 : : 目录 : file_B” 返回上一层:输入指令 将文件夹file_B底下的doc_Afile_C下,输入指令: 清屏操作: 显示帮助菜单:输入指令help” 在目录file_B下创建目录file在file下创建文件f,大小KB 将file_B下的file拷贝到file_C:输入指令:cp admin/file_B file admin/file_C” 就得到文件目录file连同文件f一块复制到file_C目录下 五、实验过程中出现的问题及解决方法 :上一次目录,在文件系统中需要路径的名称:“admin/…”,无法实现,最终解决办法:字符串数组储存下文件目录名,在返回上一层菜单,调用文件cutString)在cutString()将当前文件路径名减掉当前文件目录名,将文件列表中新添加的文件

文档评论(0)

糖糖 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档