模拟UNIX文件系统的设计及实现.doc模拟UNIX文件系统的设计及实现.doc

收藏 分享

资源预览需要最新版本的Flash Player支持。
您尚未安装或版本过低,建议您

院系国际教育学院班级姓名指导教师2011年5月18日操作系统课程设计模拟UNIX文件系统的设计及实现((考考试试专专用用))操作系统课程设计任务书一、题目银行家算法二、设计要求(1)小组成员分工协作完成。要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。(2)查阅相关资料,自学具体课题中涉及到的新知识。(3)采用结构化、模块化程序设计方法设计,功能要完善,界面美观。(4)所设计的系统应有菜单、动画和音乐。(5)按要求写出课程设计报告,并于设计结束后1周内提交。其主要内容包括封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件总体设计、详细设计、软件的调试、总结、谢启、附录带中文注释的程序清单、参考文献。报告一律用A4纸打印,中文字体为宋体,西文字体用TIMENEWROMA,一律用小四号字,行距采用“固定值”18磅,首行缩进2字符。总体设计应配合软件总体模块结构图来说明软件应具有的功能。详细设计应用传统或NS流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。三、课程设计工作量由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。四、课程设计工作计划2011年5月10日,指导教师讲课,学生根据题目准备资料;2011年5月12日,设计小组进行总体方案设计和任务分工;2011年5月13日~2009年6月23日,每人完成自己承担的程序模块并通过独立编译;2011年5月14日~2009年6月29日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;2011年5月16日,验收、撰写报告;2011年5月18日,验收或总结。指导教师签章教研室主任签章操作系统课程设计指导教师评语与成绩指导教师评语课程设计表现成绩课程设计验收成绩课程设计报告成绩课程设计总成绩指导教师签章2009年7月日目录1概述12总体设计23详细设计34代码调试95总结116附录127参考文献30一.概述【课设原理】UNIX采用树型目录结构,每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块512B包含32个目录项。在目录项中,第1、2字节为相应文件的外存I节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存I节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下012KK1K2K3N本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区,I节点区,数据块区。并给已打开的文件建立文件打开表。【课设内容】1设计任务多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令LOGIN用户登录LOGOUT退出当前用户DIR列文件目录CREAT创建文件DELET删除文件及目录树OPEN打开文件CLOSE关闭文件READ读文件WRITE写文件MKDIR创建目录CD改变文件目录FORMAT格式化文件系统QUIT退出文件系统2.文件系统应具有的基本功能I节点区文件存储区引导区管理区(1)多用户USR1,USR2,USR3,,USR818个用户(2)多级目录可有多级子目录;(3)具有LOGIN用户登录(4)系统初始化(建文件卷、提供登录模块)(5)文件的创建CREATE(6)文件的打开OPEN(7)文件的读READ(8)文件的写WRITE(9)文件关闭CLOSE(10)删除文件或目录DELET(11)创建目录(建立子目录)MKDIR(12)改变当前目录CD(13)列出文件目录DIR(14)退出LOGOUT二.总体设计【算法思想】先建立512个块,每个块对应512个字节,在建立一个有512个元素的字符数组,每个元素对应相应的块号,不管是文件或是目录都有I节点,建立自己设定数目元素的I节点表,并依次把位图区,I节点表,数据块区每个元素映射到一个二进制文件上。在每一次的操作中如果相应元素有变动,则对应在文件中更新输出相应数据,以便下一次启动程序的时候可以快速导入上一次的数据。【系统总体框架图】【系统总体流程图】三.详细设计【各模块功能说明】1FORMAT模块功能格式化文件系统,即初始化文件系统,相当于硬盘的格式化。将其中原有的用户及用户下的文件系统全部还原初始状态,即没有任何用户和目录、文件,也就是按设计的文件系统格式重建新的文件系统。2GET_BLKNUM和RELEASE_BLK模块功能GET_BLKNUM找到一个空闲数据块,并修改对应位图号元素为1。RELEASE_BLK修改对应的位图元素,并把文件系统中对应的数据块清零。开始文件系统是否建立在内存中申请内存空间将磁盘上的文件读入内存YN用户登录模块,输入用户名和密码,可以在程序中设定,不用保存在文件系统中用户名、密码对吗执行INIT,进行初始化操作,进入用户子目录执行COMMAND,对用户输入的命令进行解析和执行。若数据被修改或新建立,则保存主存I节点和数据块的内容到内存的文件系统,并写回磁盘,保存修改。若输入错误命令则显示出错信息。退出用户LOGOUT吗用户输入QUIT吗结束执行FORMAT,建立文件系统NNNYYY3INIT模块功能读入文件系统4QUIT模块功能退出系统5CREAT模块功能创建文件,分配一空目录项,分配磁盘块。可用位示图。填写该空目录项。如文件长度(0),文件名,类型等。6OPEN模块功能打开文件,并判断文件类型和打开方式。如果文件没有在文件打开表中就在文件打开表中建立该文件项。7CLOSE模块功能关闭文件,删除该文件的用户打开文件表目。8WRITE模块功能写文件,需要先打开文件。并判断文件权限。写完后修改文件系统中的对应数据区。9READ模块功能读文件。需先打开文件。读入相应数据块的内容到缓冲区,然后输出。10DELET模块功能如果参数是文件则删除文件,如果是目录则删除该目录下的所有文件和目录。11MKDIR功能建立新的目录,先在I节点表中找到一个未使用的,并初始化该I节点,并在文件系统中对应更新输出。12CD功能将当前目录切换到当前目录的一个子目录下或当前目录的父目录。程序流程图各功能模块流程图是是否否遍历I节点区ARGV1””目录是否存在找到的目录I节点号送当前目录INUM_CUR当前目录的父I节点号送当前目录INUM_CUR开始结束改变当前目录CD读入位示图信息到内存读入I节点信息到内存当前目录为根目录初始化打开文件表结束开始初始化函数INIT是否否是提示输入用户名和密码用户名是否存在创建新用户读入用户信息到内存开始密码是否正确结束用户登陆LOGIN
编号:201312012349008911    类型:共享资源    大小:332.97KB    格式:DOC    上传时间:2013-12-01
  
9
关 键 词:
专业文献 学术论文 精品文档 模拟UNIX
  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:模拟UNIX文件系统的设计及实现.doc
链接地址:http://www.renrendoc.com/p-138911.html

当前资源信息

4.0
 
(2人评价)
浏览:35次
21ask上传于2013-12-01

官方联系方式

客服手机:17625900360   
2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   

精品推荐

相关阅读

人人文库
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

网站客服QQ:2846424093    人人文库上传用户QQ群:460291265   

[email protected] 2016-2018  renrendoc.com 网站版权所有   南天在线技术支持

经营许可证编号:苏ICP备12009002号-5