文件系统设计.docx
1设计题目12需求分析13系统概要设计(X)系统的主要功能1系统模块功能结构1(3)运行环境要求1(4)数据结构设计14系统的详细设确定程序设计的各个模块的算法及内部的数据组织,包括主要代码并描述各种算法35系统的主要源代码56系统测试及调试157心得体会,概述总结自己188主要参考文献18设计题目:文件系统设计需求分析:文件系统是IinUX操作系统的重要组成局部,LinUX文件具有强大的功能。文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有LinUX用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。从这我们可以看出文件系统的重要性,要好好掌握,通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。系统概要设计(1)系统的主要功能为Linux系统设计一个简单的二级文件系统,以实现以下功能:可以实现以下几条命令(1) login用户登录(2) dir文件目录列表(3) creat创立文件(4) delete删除文件(5) open翻开文件(6) close关闭文件(7) read读文件(8) write写文件(2)系统模块功能结构本系统是模拟实现多用户多目录的文件系统(8个用户),在系统出现登录后,输入用户与口令,在用户登录系统后,可建立文件卷,将用户输入的文件保存在指定的文件中。系统的命令与其命令的具体实现,此模拟系统共提供了login用户登录dir列文件目录mkdir建立目录Create创立文件del删除文件OPen翻开文件read读文件Write写文件上述命令,并根据命令的含义与要求,用C+编程来完成所有具体操作。该系统可以模拟完成用户的登陆和验证,列出文件和目录,新建目录,改变目录,创立和编写文件,删除文件和退出系统等功能。(3) 运行环境要求开发环境:WindOWS平台+visualc+6.0运行环境:WindOWS全系列平台VisualC+6.0IinUX环境下用g+编译C+开发语言:C+(4) 数据结构设计(1)用户结构:账号与密码结构typedefstructusers(charname8;charpwd10;users;本系统有8个默认的用户名,前面是用户名,后面为密码,用户登陆时只要输入正确便可进入系统,否那么提示失败要求重新输入。usersusrarray8=("usr',"usrr,"usr2","usr2","usr3","usr3n,"usr4","usr4","usr5","usr5","us","usr6","usr7","usr7n,"usr8","usr8",;(2)数据结构说明a)文件结构链表structfhode(charfilenameHLENAME-LENGTH;intisdir;intisopen;charcontent1255;fnode*parent;fnode*child;fnode*prev;fnode*next;;b)函数介绍fnode*initfile(charfilename。,iniisdir);初始化文件或目录voidCreaIerool();建立系统根目录intrun。;系统运行intfindpara(char*loPara);对参数进行处理boolchklogin(char*users,char*pwd);检查账号与口令voidhelp。;命令歹U表intmkdir;建立目录inicreate。;建立文件intread();读取文件iniwriie();写入文件indel();删除文件incd();切换目录intdir();文件与目录列表(3)各模块流程图系统的详细设计确定程序设计的各个模块的算法及内部的数据组织,包括主要代码并描述各种算法(1)用户结构:账号与密码结构typedefstructuserscharname8;charpwd10;users;本系统有8个默认的用户名,前面是用户名,后面为密码,用户登陆时只要输入正确便可进入系统,否那么提示失败要求重新输入。usersusrarray8=("usrl","usrln,"usr2","usr2H,"us3","us3m,"usr4","usr4M,"usr5","usr5n,"usr6","usr6","usr7","usr7n,"usr8","usr8n,;(2)数据结构说明a)文件结构链表Stnictinode(charfilenameHLENAME-LENGTH;intisdir;intisopen;charcontent255;fnode*parent;fnode*child;fnode*prev;fnode*next;;b)函数介绍fnode*initfile(charfilename。,iniisdir);初始化文件或目录voidCreaIerool();建立系统根目录intrun();系统运行intfindpara(char*loPara);对参数进行处理boolchklogin(char*users,char*pwd);检查账号与口令voidhelp。;命令歹U表intmkdir();建立目录inicreate。;建立文件intread();读取文件iniwriie();写入文件indel();删除文件intcd();切换目录indir();文件与目录列表系统的主要源代码El系统测试及调试."C:U$ersAdmini$tratoADesktopDebugli.exe'ass:USeLogin userl-use8 IPaSS:USer-J 2Ifen夹 nw ia, nJ番Xi新我1简单的二级LinUX文件系统账号:usrl-usr8密码:usrl-user8伊?有三达机会来就踪账号检入heIp可以兼取帮鲂1.ogin三userl-user8!Pass:user1.09i11:userl-use>*8Pass:user1.ogin:userl-user8Pass三userlinu×:/>.ILogin三userl-se8Pass:userlinu×三>dirTotal:directorsIinux:/>create×inJianwenJianJIalk件建立成功,linu×三>creat快建文件夹2良件建立成功,)linu×:Z>crcate我的程序艮件建立成功,Iinux:/>dir<DIR><FILE><FILE>Total:directoslinux:/>IT3前卷笔41212序凄文文程目目1z>nkdii4:/>nkdir:/>nkdir<FILE><FILE><FILE><DIR><DIR><DIR><DIR>directors建建的建建序序.yj.三>mkdi*"C:UsersAdministratorDesktopDebugli.exe"建建的建建孱JfT->f->TT>ltlf:41212律序录录文文程目目1linu×三>dir<FILE><FILE><FILE><DIR><DIR><DIR><DIR>otal:directorsLinux三>del文件m删除?linux:/>dir<FILE><FILE><DIR><DIR><DIR><DIR>otal:directorsIinux:/>新新新新程程1彳,斗J7>4文文目目12All-二*I11B1二马J筵建建建1212录录文件系统设计Total: directors<DIR><FILE> <FILE> <DIR> <DIR><FILE> <FILE> <DIR> <DIR>程序2 文件已删除, linu×x>dir CUsersAdministratorDesktopDebugli.e×e"卜Dj (k2 2X:与X: nu建snu Ii新我文Ii12 12 12 12 &录录 储录录 文文目目1 文文目目1 建建建建序 建建建建序<DIR>Total:directorslinu×z>read新建文件1我的程序题目是:文件系统设计linu×三>心得体会经过一周的共同努力,在老师提供的帮助的根底上,我们将程序按要求设计并修改完善,使其能实现课程设计要求的根本功能。操作系统是计算机科学与技术专业中的一门重要根底课,目的是让我们了解操作系统的根本概念,理解计算机系统的资源如何组织,操作系统如何有效地管理这些系统资源,用户如何通过操作系统与计算机系统打交道。通过课程设计,可以进一步理解在计算机系统上运行的其它各类操作系统,并懂得在操作系统的支持下建立自己的应用系统。操作系统课程设计,对于训练我们掌握程序设计、熟悉上机操作和程序调试技术都有重要作用。重点培养我们的思维能力、创新能力和排错能力。通过课程设计,进一步融会贯穿教材内容,掌握程序各功能模块的工作原理,相互联系和来龙去脉,完整地建立系统的概念。激发我的学习热情和主动性,培养我的独立工作能力,在实践活动中,将所学知识综合运用,增长才干,并积累经验。对编程语言C又有了更深一层次的认识,并对其的编程能力有所加强,但还是很多的缺乏有待改良,对于编程来说还需要大量的实践,才能在发现问题和解决问题中前进与提高。最后,向辛勤指导我们的老师表示深深的谢意!并祝老师身体健康,工作顺利,万事如意!主要参考文献操作系统实验教程清华大学出版社张丽芬编著操作系统实验教程清华大学出版社张坤著计算机操作系统西安电子科技大学出版社汤小丹梁红兵等著