欢迎来到天天文库
浏览记录
ID:56749971
大小:247.50 KB
页数:43页
时间:2020-07-07
《操作系统课程设计报告--后附源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、甘肃政法学院计算机操作系统课程设计题目虚拟文件系统的实现计算机科学学院计算机科学与技术专业10级计算科学与技术本科班姓名:_杨青虎曹宾辉冯晓彬_指导教师:_____何珍祥_成绩:____________完成时间:_2013年7月目录第一章课程设计简介11.1课程设计的目的11.2课程设计内容1第二章数据结构的设计22.1预定义22.2结构体22.3全局变量和函数42.4结构体说明5第三章功能模块(或算法)描述53.1format格式化53.2install安装63.3login登陆63.4ialloc申请inode空间63.5balloc申请block空间63.6create
2、创建文本文件73.7cdir创建文件夹73.8edit–读取和追加文本文件73.9access(文件名)权限判断73.10cd–进入子目录或上级目录83.11attr(文件名)查看文件或者文件夹的属性83.12del删除文件或目录8第四章程序运行结果84.1格式化和登录界面84.2ls命令---显示当前目录下的文件和目录94.3logout命令---注销用户9第五章心得体会9参考文献10附:源代码11第一章课程设计简介1.1课程设计的目的课程设计目的使学生熟悉文件管理系统的设计方法;加深对所学各种文件操作的了解及其操作方法的特点。通过模拟文件系统的实现,深入理解操作系统中文件
3、系统的理论知识,加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力。1.2课程设计内容课程设计内容设计一个简单的多用户文件系统。即:①在系统中用一个文件来模拟一个磁盘;②此系统至少有:login、create、del、ls、cd、md、rd、write、rename、attr、relogin、close等和部分文件属性的功能。③实现这个文件系统。④能实际演示这个文件系统。基本上是进入一个界面(此界面就是该文件系统的界面)后,可以实现设计的操作要求。1)设计一个10个用户的文件系统,每次用户可保存10个文件
4、,一次运行用户可以打开5个文件。2)程序采用二级文件目录(即设置主目录MFD)和用户文件目录(UFD)。另外,为打开文件设置了运行文件目录(AFD)。3)为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。4)因系统样,文件目录的检索使用了简单的线性搜索。5)文件保护简单使用了三位保护码:允许读写执行、对应位为1,对应位为0,则表示不允许读写、执行。6)程序中使用的主要设计结构如下:主文件目录和用户文件目录(MFD、UFD),打开文件目录(AFD)即运行文件目录,如图5.1所示。第二章数据结构的设计2.1预定义#defineBLOCK
5、SIZ512//磁盘块的大样#defineDATABLKNUM512//数据块的数目#defineBLKGRUPNUM50//数据块组包含多少数据块#defineP_N_BLOCKS15//inode节点中指向数据块的指针个数#defineGROUPNUMDATABLKNUM/BLKGRUPNUM+1//数据块组组数#defineDINODESIZ512//磁盘i结点区的大样(空间32×512)#defineDINODENUM32//磁盘i结点区的块数#defineSYSOPENFILE40#defineDIRNUM32//一个目录下的最多目录和文件的总和数#defineDI
6、RSIZ14//文件、目录名的长度(字节)#defineUPWDSIZ15//密码的长度#defineUNAMSIZ15//用户名的长度#definePWDSIZsizeof(structpwd)//密码结构的长度#definePWDNUMBLOCKSIZ/PWDSIZ//密码数据空间的大样(pwd为单位)#defineNOFILE20//一个用户最多可以打开的文件数目#defineDINODESTART4*BLOCKSIZ//i结点区的开始地址-inodestable,1引导2超块3blockbitmap4inodebitmap#defineDATASTART(2+DINO
7、DENUM)*BLOCKSIZ//数据区的开始地址#defineDATASTARTNO36//数据区开始指针#defineDIMODE_EMPTY00000/*可以用的空间*/#defineDIMODE_FILE00001#defineDIMODE_DIR00002#defineDIMODE_PASSWD00004#defineGRUP_00//管理员组#defineGRUP_11#defineGRUP_22#defineGRUP_442.2结构体//磁盘i结点结构,structinode{//char
此文档下载收益归作者所有