操作系统模拟UNIX文件系统的设计及实现

上传人:工**** 文档编号:485545455 上传时间:2023-01-12 格式:DOCX 页数:38 大小:652.45KB
返回 下载 相关 举报
操作系统模拟UNIX文件系统的设计及实现_第1页
第1页 / 共38页
操作系统模拟UNIX文件系统的设计及实现_第2页
第2页 / 共38页
操作系统模拟UNIX文件系统的设计及实现_第3页
第3页 / 共38页
操作系统模拟UNIX文件系统的设计及实现_第4页
第4页 / 共38页
操作系统模拟UNIX文件系统的设计及实现_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《操作系统模拟UNIX文件系统的设计及实现》由会员分享,可在线阅读,更多相关《操作系统模拟UNIX文件系统的设计及实现(38页珍藏版)》请在金锄头文库上搜索。

1、操作系统课程设计模拟UNIX文件系统的设计及实现院系:计算机学院二系班级:计07-2班姓名:2009年6月10日操作系统课程设计任务书一、题目:银行家算法二、设计要求(1)吴勇克(组长)、刘胜光组成设计小组。(2)小组成员分工协作完成。要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。(3)查阅相关资料,自学具体课题中涉及到的新知识。(4)采用结构化、模块化程序设计方法设计,功能要完善,界面美观。(5)所设计的系统应有菜单、动画和音乐。(6)按要求写出课程设计报告,并于设计结束后1周内提交。其主要内容包括:封皮、课程设计任务书,指导教师评语与成绩、目录、概述、软件总体设计、详细设

2、计、软件的调试、总结、谢启、附录:带中文注释的程序清单、参考文献。报告一律用A4纸打印,中文字体为宋体,西文字体用TimeNewRoma一律用小四号字,行距采用“固定值”18磅,首行缩进2字符。总体设计应配合软件总体模块结构图来说明软件应具有的功能。详细设计应用传统或N-S流程图和屏幕抓图说明,调试的叙述应配合出错场景的抓图来说明出现了哪些错误,如何解决的。三、课程设计工作量由于是设计小组团结协作完成设计任务,一般每人的程序量在200行有效程序行左右,不得抄袭。四、课程设计工作计划2009年6月15日,指导教师讲课,学生根据题目准备资料;2009年6月16日,设计小组进行总体方案设计和任务分工

3、;2009年16月16日2009年6月23日,每人完成自己承担的程序模块并通过独立编译;2009年6月23日2009年6月29日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;2009年6月30日,验收、撰写报告;2009年7月2日,验收或总结。# /33指导教师签章教研室主任签章目录1 .概述12 .总体设计293 .详细设计34 .代码调试5 .总结116.附录127.参考文献.30二概述【课设原理】UNIX采用树型目录结构,每个目录表称为一个目录文件。一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相

4、应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下:0#2#K#K+1#K+2#K+3#n引导区管理区T节点区文件存储区本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在磁盘中申请一个二进制文件模拟UNIX内存,依次初始化建立位示图区I节点区,数据块区。并给已打开的文件

5、建立文件打开表。【课设内容】1 ,设计任务多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令用户登login录logout退出当前用户dircreat列文件目录创建文件delet删除文件及目录树openclosereadformatwritemkdir cd打开文件关闭文件读文件写文件创建目录quit改变文件目录格式化文件系统退出文件系统2 .文件系统应具有的基本功能!/ 7 )/ )/ / )/ )/ )/ )/ 12 3456789 /| /( /( /( /( /( /( /( /(多用户:usr1,usr2,usr3,usr8。8个用户)多级目录:可有多级子目录;具有log

6、in(用户登录)系统初始化(建文件卷、提供登录模块)文件的创建:create文件的打开:open文件的读:read文件的写:write文件关闭:close(10)删除文件或目录:delet(11)创建目录(建立子目录):mkdir(12)改变当前目录:cd(13)列出文件目录:dir(14)退出:logout,总体设计【算法思想】先建立512个块,每个块对应512个字节,在建立一个有512个元素的字符数组,每个元素对应相应的块号,不管是文件或是目录都有节点,建立自己设定数目元素的I节点表,并依次把位图区,I节点表,数据块区每个元素映射到一个二进制文件上。在每一次的操作中如果相应元素有变动,则对

7、应在文件中更新输出相应数据,以便下一次启动程序的时候可以快速导入上一次的数据。bitmap(0p I I51卅temp fO24B位Eli节点数据区512B32T【系统总体框架图】$12埃#/33【系统总体流程图】开始执行format()将磁盘上的文件读入内存用户登录模块,输入用户名和密码,可以. 在程序中设定,不用保存在文件系统中N执行init() 进行初始化操作,进入用户子目录执行command。,对用户输入的命令进行解析和执行。若数据被修改或新建立,则保存主存i节点和数据块的内容到内存的文件系统,并写回磁盘,保存修改。若输入错误命令则显示出错信息三详细设计【各模块功能说明】1. form

8、at模块功能:格式化文件系统,即初始化文件系统,相当于硬盘的格式化。将其中原有的用户及用户下的文件系统全部还原初始状态,即没有任何用户和目录、文件,也就是按设计的文件系统格式重建新的文件系统。2. get_blknum和release_blk模块功能:get_blknum找到一个空闲数据块,并修改对应位图号元素为1。release_blk修改对应的位图元素,并把文件系统中对应的数据块清零。3. inM)模块功能:读人文件系统4. quit。模块功能:退出系统5. .creat(模块功能:创建文件,分配一空目录项,分配磁盘块。可用位示图。填写该空目录项。如文件长度(。),文件名,类型等。6. o

9、pen(模块功能:打开文件,并判断文件类型和打开方式。如果文件没有在文件打开表中就在文件打开表中建立该文件项。7. close(模块功能:关闭文件,删除该文件的用户打开文件表目。8. write。模块功能:写文件,需要先打开文件。并判断文件权限。写完后修改文件系统中的对应数据区。9. read(模块功能:读文件。需先打开文件。读入相应数据块的内容到缓冲区,然后输出。10. delet()模块功能:如果参数是文件则删除文件,如果是目录则删除该目录下的所有文件和目录。11. mkdir()功能:建立新的目录,先在I节点表中找到一个未使用的,并初始化该I节点,并在文件系统中对应更新输出。12. cd

10、()功能:将当前目录切换到当前目录的一个子目录下或当前目录的父目录。# /33程序流程图各功能模块流程图用户登陆login()开始读入位示图信息到内存1:读入i节点信息到内存1当前目录为根目录初始化打开文件表结束改变当前目录cd()显示目录dir()创建目录mkdir()#/33打开文件open().开始;提示输入打开模式将打开文件信息写入打开文件信息表读文件read()关闭文件close()写文件write()开始,删除文件delet()四.代码调试1.初始化和登陆文件系统第一次运行程序CAEJev-CpexeLogin:adninCanfCopenFileusep-txt.Thisfll&

11、svstemnotexist,ituillheUillbetoFormatiHes/stenk_HARMING:ALLMTAOHTHISFILESVSTEHUILLRELOST*ProceedwithFovmatV?VPilesystemcreatedsuccessFulAPleaseFirstlogin*Login:adninpass:Mcrd-*DoADiifuant;creatanev?usEr?AZn:j;2建立新目录,显示当前目录下的文件和目录,并转到新目录下#/33# /33EBC:Dev-CpplIeapLadmln$nkdirAAdminl$dir3(Jflle0Jbj/tes

12、11048576FreeSpaceftdminl$ciaadmin/a$_3 .建立新的文件,打开,写,读EJC:DevppAJILexeadmin/aJ$cdbadmin/aAbHcreateabtxtadmln/a/bHopenah.txtPleaseinputopennade:1:read,2:writeA3:read,and3OpenFiljeab.txtbyPeadandwrite.AidininAayblAwriteab.txtThelengthofah.txt;0TnputthedAitaCTRLAZtoend?:sdkfjhsdksd”诞edfsdrzLadmin/aZblAiAadah.txtTileLengthofab_txt;22.sdkfjhsdlf?(Aewfsdfsdadmin/aAhl$4 .clear清屏后,dir查看当前目录下文件信息ph工程admln/a/Jb1filets)822hiitesdi?vs)1048554biftesFi*eepaceadminZa/fcJ$5,返回根目录下,并删除根目录下所有子目录和文件CADcv-Cpp-.Ifll.extadminZa/b1Scdradmin/-A$cd.Adm

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号