模拟仿真UNIX文件管理系统.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟仿真UNIX文件管理系统

计算机系网络工程专业 操作系统课程设计 题 目:模拟仿真UNIX文件管理系统 班 级: 网络工程06103 姓 名: 唐锦涛 学 号: 06 同组人姓名: 起迄日期:2008.12.22—2008.12.31          课程设计地点: A513                  指导教师: 贺玉才 评阅意见: 成绩评定: 评阅人: 日期: 完成日期:2008年12月31日 一、设计题目:模拟仿真UNIX的文件管理系统、题目描述(功能要求 模拟UNIX操作系统下常用文件操作命令,整个系统不能直接在Windows平台下直接进行文件操作(那样实现几乎没有任何意义)。程序必须模拟UNIX系统下的文件结构,可以将整个操作过程以及数据保存在内存中,也可以自己选择自己实现起来比较容易的方式保存。在分析时,应该着重分析UNIX操作系统下的文件特性。在UNIX操作系统中,各个文件的属性以及它们之间的关系十分复杂,我们在设计程序的时候应当尽量地给文件增加多的属性,并对比windows系统下的文件属性,以便于更加真实地模拟UNIX系统中的文件存储,更好地理解windows系统下的文件存储与UNIX系统下的文件存储之间的区别。另外,对文件权限的分配在UNIX系统中有很好的用户体验,这一部分在windows操作系统中只有简单的实现。我们在设计程序时应尽量地模拟实现UNIX系统中对文件的权限分配。 程序必须包含的命令有: Dir 列文件目录 Create 创建文件 CreateDir 创建目录 Del 删除文件 DelDir 删除目录 Open 打开文件 Close 关闭文件 用户登陆以及其他辅助命令有: Help 系统帮助 Quit 退出登陆 Exit 退出程序 Delall 删除所有(只限管理员) Cls 清除屏幕 Cmd 调用windows命令 三、设计思想说明 浏览文件 有 有 有 新建文件 有 有 无 管理自己创建的文件 有 有 无 管理其他用户的文件 有 无 无 2、文件存储结构体 原本考虑为文件和目录建立不同的结构体,后来想到那样设计既烦琐也没有必要。因而将文件和目录用同样的结构体表示,只是用不同的类型作了标识,这样可以更容易也更好地实现各个文件目录之间的关系。文件结构体所包含的成员有:文件类型、文件名、文件内容、属性、创建时间以及文件之间的关系,这一部分将在数据结构部分详细说明。 3、各种文件操作 用户权限分配好、文件存储结构体确定好之后,剩下的主要工作就是对文件的各种操作了,这是部分实现的难点不是简单地对文件的各种操作,而是在对文件进行各种操作之前对权限的判断。在这一部分,最容易实现的是对文件的浏览,因为每个用户都拥有这个权限,所以不需要控制。首先,我们初步地把对文件的操作函数列了出来: 创建文件/目录:create()/createdir() 删除文件/目录:del/deldir() 列出当前目录文件:dir() 转到目录:cd() 打开文件:open() (注:由于创建文件/目录时所分配的资源相同,只是根据类型的不同去存储不同的文件类型,所以只需要一个函数,在调用是使用不同的参数即可。删除文件/目录部分亦如此,详细实现见源代码部分) 四、数据结构的说明???struct file { char file_name[20]; struct time creat_time; char file_type; char content[MAX_FILE_SIZE]; char state; struct file *child; struct file *brother; struct file *parent; }; 其中file_name成员是一个字符串数组,保存文件名;creat_time成员是一个时间类型变量,保存文件的创建时间;file_type成员表示文件类型,有两种取值,DIRECTORY(目录)或REGULAR_FILE(常规);content成员是一个字符串数组,用来模拟文件的内容,初始值为空,用户可以创建写文件的进程向常规文件中添加内容,对于目录来讲,该成员为空且不能被赋值。state成员表示该文件的状态,包括OK、WR和NO三种状态,分别表示文件内容已

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档