您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 广工-操作系统-课程设计-源代码
课程设计课程名称________操作系统_______题目名称_多用户多级目录文件系统的实现_学生学院________计算机学院____________专业班级_______________学号___________________学生姓名______________________指导教师__________林穗______________2011年1月18日广东工业大学课程设计任务书题目名称多用户多级目录文件系统的实现学生学院计算机学院专业班级08软件工程一班姓名学号一、课程设计的内容本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。二、课程设计的要求与数据1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。2.文件物理结构可采用显式链接或其他方法。3.磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。5.设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)具有login(用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建:create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete(9)创建目录(建立子目录):mkdir(10)改变当前目录:cd(11)列出文件目录:dir(12)退出:logout6.系统必须可实际演示,选用程序设计语言:C++、C等。三、课程设计应完成的工作1.充分理解设计的任务,完成设计的基本要求。然后根据自己的基础和能力选择不同难度的算法和实现方式,以取得更高的分数。2.独立独立完成系统的分析、设计、编码、测试工作。3.完成设计报告的撰写。4.以光盘(以班为单位刻录)方式提交已调试通过的完整的相关源程序和能够运行的执行文件;提交“课程设计报告”的书面和电子两种版本。四、课程设计进程安排序号设计各阶段内容地点起止日期1查阅资料、分析题目、概要设计分散周一2详细设计、编码分散周二3调试实验室周三4撰写设计报告分散周四5运行、验收实验室周五五、应收集的资料及主要参考文献[1]计算机操作系统,汤小丹等,西安电子科技大学出版社[2]操作系统实验指导书,傅秀芬,广东工业大学(自编)[3]计算机操作系统教程(第二版),张尧学、史美林,清华大学出版社[4]现代操作系统,A.S.Tanenbaum著,陈向群等译机械工业出版社发出任务书日期:2010年12月22日指导教师签名:林穗计划完成日期:2011年1月21日基层教学单位责任人签章:滕少华目录i.设计目的…………………………………………………………………ii.开发工具与环境…………………………………………………………iii.设计思想…………………………………………………………………iv.系统结构说明……………………………………………………………v.数据结构说明……………………………………………………………vi.各模块的算法流程图……………………………………………………1、程序总体源流程图……………………………………………………2、主要模块的算法流程图………………………………………………3、函数声明………………………………………………………………vii.程序运行及清单…………………………………………………………1、用户管理操作界面……………………………………………………2、文件管理操作界面……………………………………………………3、主要核心源代码………………………………………………………viii.操作说明书………………………………………………………………1、用户管理使用手册…………………………………………………2、文件操作管理使用手册……………………………………………ix.体会和建议………………………………………………………………………i.设计目的本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。ii.开发工具与环境a)程序设计语言:C语言b)计算机及操作系统:PC机,WindowsXPc)开发平台:MicrosoftVisualC++6.0简化版d)运行平台:PC机,WindowsXPiii.设计思想课程设计采用MicrosoftVisualC++6.0简化版作为开发工具,参照了windows资源管理器的结构,模拟文件管理的工作过程,通过创建一棵多叉树,及对这棵多叉树的操作,建立了一个树型文件系统,实现了文件和文件夹的创建,打开,读写,删除,关闭,复制,粘贴,查看,属性设置等十来个功能。操作界面简单明了,操作方便。iv.系统结构说明模拟文件管理系统可以自行设置多个用户进行管理操作,当选择已有用户时便可进入其文件管理菜单进行相应的操作(有界面提示功能),当进入系统已建立的某个用户时,可以创建用户自己的文件夹或文件,当flag=0时为创建文件,flag=1时创建文件夹(这里设置了标志位)。文件除了名称和打开标志外,还可对他们的访问权限、文件类型和文件长度进行设置(长度设置主要在写入文件时会用到);而文件夹则可以设置访问权限等,打开文件列表的结构体包括文件名和文件的父节点地址,打开文件夹的链表中包括文件夹名称及其地址等;对文件的管理包含复制、打开、关闭、写入、读出、粘贴、新建文件(夹)、删除文件(夹)和显示文件(夹)等等,为方便操作还设置了各功能操作(如进入下一级、返回上一级、返回初始菜单、直接退出等等)。下面的系统结构说明图示:用户文件夹文件夹文件夹文件文件文件文件文件文件文件文件文件CPCP~C~~P~PPPNN~N~NN~N~N~N~NPPPPPP其中P表示parent指针,C表示child指针,N表示next指针v.数据结构说明该模拟文件管理系统的文件目录检索采用简单的线性搜索,系统所采用的数据结构:typedefstructlistLIST;structlist{charlistname[10];inttype;intlength;intprotect;intflag;char*content;structlist*parent;structlist*child;structlist*next;};typedefstructusdUSD;structusd{charusername[10];LIST*list;structusd*next;};vi.各模块的算法流程图1.程序总体流程图开始显示用户管理菜单输入操作命令新建用户删除用户选择用户列出用户帮助文档退出系统系统时间显示文件管理菜单输入操作命令返回用户管理菜单复制文件写入文件粘贴文件关闭文件打开文件新建文件夹新建文件读出文件删除文件夹删除文件帮助与支持显示当前路径文件/夹进入下一级文件夹返回上一级文件夹直接退出系统结束程序结束程序2.主要模块的算法流程图1)创建用户模块:创建用户把P赋給USER继续寻找下个字符USER是否为空是否是否再创建一个用户回主菜单否是2)删除用户删除用户输入用户名报错!P?否是P==NULL?成功删除用户否是3)创建文件(夹)创建文件(夹)创建文件创建文件夹Flag=0?是否文件名是否重名成功创建否成功创建文件夹是否重名否是4)删除文件夹删除文件(夹)文件不存在文件夹不存在Flag=0?是否P=NULL?删除文件否删除文件夹否是P=NULL?是5)复制文件复制文件返回主界面文件不存在P=NULL?否复制文件操作是3.函数声明voiddisplayusermenu();///用户管理界面菜单voidtime();///系统时间voiddisplayfilemenu();///文件管理界面菜单voidcreatuser();///新建用户voiddeleteuser();///删除用户voiddisplayuser();///显示用户voiduserhelp();///用户管理帮助voidfilehelp();///文件管理帮助voidselectuser();///选择用户voiddisplaylist();///显示文件或者文件夹voidcreatfile(LIST*qq,intflag);///创建文件(夹)voiddeletefile(LIST*qq,intflag);///删除文件(夹)voidopenfile();///打开文件voidreadfile();///读取文件voidwritefile();///写入文件voidclosefile();///关闭文件voidnext();///下一层文件夹voidback();//上一层文件夹voidcopyfile();//复制文件voidpastedfile();///粘贴文件voidquit();///直接退出系统vii.程序运行及清单系统界面简洁美观实用,用户无须输入过长指令就可以完成操作。本系统还附带操作指南,用户如有疑问可查看指南说明。虽不如可视化易操作,但也不难。1、用户管理操作1)程序登陆界面2)程序开始界面(即用户管理界面)3)新建用户4)列出用户5)删除用户6)系统日期时间7)帮助文档8)退出系统9)选择用户输入用户名(若系统无此用户会有提示)按回车后即进入文件操作界面。2、对文件管理操作1)进入用户后对文件操作初始界面2)新建文件3)新建文件夹4)显示当前路径文件(夹)5)删除文件文件存在时6)删除文件夹文件夹存在时7)打开文件文件存在时8)读出文件文件需要先置于打开状态,方可读取由于没有输入内容所以文件内容为空。9)写入文件10)读出刚才写入的内容11)关闭文件12)复制文件(先将刚才关闭的文件aa1打开再复制)如果输入的文件名不存在该用户中时会有提示信息3、主要核心源代码(见电子版)#includestdio.h#includemath.h#includemalloc.h#includestring.h#includeconio.h#includetime.h#includestdlib.h#defineNULL0#defineget(type)(type*)malloc(sizeof(type))//分配空间typedefstructlistLIST;structlist{charlistname[10];//文件名长度inttype;intlength;//文件长度intprotect;//保护模式,0为只读,1为可读写intflag;//标志,为0时创建文件夹,为1时创建文件char*content;structlist*parent;structlist*child;structlist*next;};typedefstructusdUSD;structusd{charusername[10];//用户名长度LIST*list;structusd*next;};//函数声明voiddisplayusermenu();//用户管理界面菜单voidlogin();//系统登陆界面voidtime();//系统时间voiddisplayfilemenu();//文件管理界面菜单voidcreatuser();//新建用户voiddeleteuser();//删除用户voiddisplayuser();//显示用户voiduserhelp();//用户管理帮助voidfilehelp();//文件管理帮助voidselectuser();//选择用户voiddisplaylist();//显示文件或者文件
本文标题:广工-操作系统-课程设计-源代码
链接地址:https://www.777doc.com/doc-2539964 .html