操作系统-课程设计报告_虚拟文件系统的实现后附源代码.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文档。上传文档
查看更多
甘肃政法学院 计算机操作系统课程设计 题 目 虚拟文件系统 计算机科学学院 计算机科学与技术 专业 10 级 计算科学与技术本科 班 姓 名:_ _ 指导教师:_____ _ 成 绩:__________ __ 完成时间:_2013 年 7 月 目录 第一章 课程设计简介 1 1.1 课程设计的目的 1 1.2 课程设计内容 1 第二章 数据结构的设计 2 2.1 预定义 2 2.2 结构体 2 2.3 全局变量和函数 4 2.4结构体说明 5 第三章 功能模块(或算法)描述 5 3.1 format 格式化 5 3.2 install 安装 6 3.3 login 登陆 6 3.4 ialloc 申请inode空间 6 3.5 balloc 申请block空间 6 3.6 create 创建文本文件 7 3.7 cdir 创建文件夹 7 3.8 edit –读取和追加文本文件 7 3.9 access(文件名) 权限判断 7 3.10 cd –进入子目录 或上级目录 8 3.11 attr(文件名)查看文件或者文件夹的属性 8 3.12 del 删除文件或目录 8 第四章 程序运行结果 8 4.1格式化 和登录界面 8 4.2 ls命令---显示当前目录下的文件和目录 9 4.3 logout命令---注销用户 9 第五章 心得体会 9 参考文献 10 附:源代码 11 第一章 课程设计简介 1.1 课程设计的目的 课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。 1.2 课程设计内容 课程设计内容设计一个简单的多用户文件系统。即: ①在系统中用一个文件来模拟一个磁盘; ②此系统至少有:login、create、del、ls、cd、md、rd、write、rename、attr、relogin、close等和部分文件属性的功能。 ③实现这个文件系统。 ④能实际演示这个文件系统。基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。 1)设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2)程序采用二级文件目录(即设置主目录MFD)和用户文件目录(UFD)。另外,为打开文件设置了运行文件目录(AFD)。 3)为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。 4)因系统样,文件目录的检索使用了简单的线性搜索。 5)文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。 6)程序中使用的主要设计结构如下:主文件目录和用户文件目录(MFD、UFD),打开文件目录(AFD)即运行文件目录,如图5.1所示。 第二章 数据结构的设计 2.1 预定义 #define BLOCKSIZ 512 //磁盘块的大样 #define DATABLKNUM 512 //数据块的数目 #define BLKGRUPNUM 50 //数据块组包含多少数据块 #define P_N_BLOCKS 15 //inode节点中 指向数据块的指针个数 #define GROUPNUM DATABLKNUM/BLKGRUPNUM+1 //数据块组 组数 #define DINODESIZ 512 //磁盘i结点区的大样(空间32×512) #define DINODENUM 32 //磁盘i结点区的块数 #define SYSOPENFILE 40 #define DIRNUM 32 //一个目录下的最多目录和文件的总和数 #define DIRSIZ 14 //文件、目录名的长度(字节) #define UPWDSIZ 15 //密码的长度 #define UNAMSIZ 15 //用户名的长度 #define PWDSIZ sizeof(struct pwd) //密码结构的长度 #define PWDNUM BLOCKSIZ/PWDSIZ //密码数据空间的大样(pwd为单位) #define NOFILE 20 //一个用户最多可以打开的文件数目 #define DINODESTART 4*BLOCKSIZ //i结点区的开始地址-inodes

文档评论(0)

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

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

1亿VIP精品文档

相关文档