一个简单的文件系统的详细设计操作系统课程设计

一个简单的文件系统的详细设计操作系统课程设计

ID:813230

大小:510.02 KB

页数:43页

时间:2017-09-07

一个简单的文件系统的详细设计操作系统课程设计_第1页
一个简单的文件系统的详细设计操作系统课程设计_第2页
一个简单的文件系统的详细设计操作系统课程设计_第3页
一个简单的文件系统的详细设计操作系统课程设计_第4页
一个简单的文件系统的详细设计操作系统课程设计_第5页
资源描述:

《一个简单的文件系统的详细设计操作系统课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机系综合性实验实验报告课程名称操作系统实验报告一个简单的文件系统的详细设计一个简单的文件系统的详细设计一、实验目的(1)阅读并调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。(2)了解设计一个n个用户的文件系统,每个用户可以保存M个文件。用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令。二、实验要求1、根据流程图阅读所给文件系统源程序,并对源程序加

2、以注释(注释量达70%以上)。2、修改、完善该系统,指出程序的bug。三、文件系统功能设计1.功能设计该文件系统是一个多用户、多任务的文件系统。对用户和用户的文件数目并没有上限。也就是说该系统允许任何用户申请空间,而且在其目录下的文件数目并不做任何的限制。该系统可以支持的操作命令如下:①bye——用户注销命令。当使用该命令时,用户退出系统,注销该用户功能设计并回到登陆界面。命令格式:bye②close——删除用户注册信息命令。执行该命令后,用户在系统中的所有信息,包括该用户目录下的所有文件都被删除。命令

3、执行完成后返回登陆界面。命令格式:close③create——在当前目录下创建一个文件,且该文件不能跟当前已有的文件重名。该文件的管理信息登记在用户文件信息管理模块中。执行完该命令后回到执行命令行。命令格式:create>file1其中:“>”符为提示符,file1为要创建的文件名。④delete——删除当前用户目录下的一个文件,命令执行完毕返回至命令行。命令格式:delete>file1其中:file1为要删除的文件名。⑤list——显示当前注册目录下的所有文件信息,包括文件名、文件长度、文件操作权限

4、。命令格式:list⑥chmod——改变某个文件的执行权限,但前提是该文件是该用户目录下的文件。命令格式:chmod>file1。其中:file1为要授权的文件名。⑦open——在window界面下打开某个文件。执行该命令后,文件file1将用在windows界面下的文件形式打开。用户可以在这个方式中对文件进行修改,并将修改后的内容保存。命令格式:open>file1其中:file1为要打开的文件名。⑧read——读文件信息。将文件信息读入并显示在终端上。命令格式:read>file1其中:file1为

5、要读的文件名。⑨write——向某个文件写入新的信息。用户可以选择用覆盖原来内容的方式或和在文件的末尾追加新信息的方式写入信息。当要退出时输入“#”即可。(2)系统采用二级文件目录。设置主目录(MFD)和用户文件目录(UFD),分别以文件的方式保存在磁盘中。在主目录中有注册用户的用户名和另一标志该用户目录下是否有文件的指针标记。用户文件目录采用用户名作为文件名保存于磁盘,以便检索时方便对应。在用户文件目录中保存着该目录下所有文件的文件名称、保护码、文件长度。(3)该系统大量使用高级语言中的文件操作函数,

6、所以能实际看到文件的创建、写入、读出、删除等效果。2.功能设计实现总体流程3.主要数据结构structUFD{//用户文件模块charfilename[32];//文件名intsafecode;//文件保护码longlength;//文件长度}*curfile=NULL;这个是用户文件模块数据结构,结构体的名字是:UFD,在结构体里面定义了三个成员,filename,safecode,length,分别用于存储用户文件的名字,文件保护码,文件的长度,*curfile=NULL;,这是一个结构体类型的指针

7、,开始初始化为NULL.structMFD{//主文件模块charusername[32];//存放用户名boolfilepoint;//用户目录下的文件指针,false表示目录为空,true为该用户目录中有文件}*curuser=NULL,*elseuser=NULL;这个是主文件模块的数据结构,有两个成员,username,filepoint,分别用于存放用户名,用户目录下面的文件指针.*curuser=NULL,*elseuser=NULL;这两个是主文件的结构体变量,用于访问结构体里面的数据成员

8、4.主要功能模块1.intLoginDisplay()//登陆选项操作函数2.boolLogin(intSELETE)//用户登陆,注册函数3.voidDisplayUFD()//打印用户信息,包括用户的各个文件4.voidByeFile(boolBOOL)//注销函数,调用次函数用户可以退出系统5.boolClearUserFile()//用户要将自己的注册目录从系统彻底删除6.voidClearUserMes()//删除用户全部信息7.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。