- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 1
试验四 文件系统
实验目的
用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
要求设计一个n个用户的文件系统,每次用户可以保存M个文件。用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有create、delete、open、close、read、write等命令。
实验题目:
采用二级目录结构实现磁盘文件操作。
要求:
1.普通文件的目录项包括文件名,文件类型,文件长度,指向文件内容的指针内容。
2.目录文件的目录项包括目录名,指向下一级目录块的指针内容。假定每个目录文件最多只能占用一个块;
3.程序功能方面的要求: 需要实现一个命令行操作界面,包含如下命令:
4.程序实现方面的要求:
(1)、对于重名(创建时),文件不存在(删除时),目录不存在(改变目录时)等错误操作情况,程序应该做出相应处理并给出错误信息,但是程序不得因此而退出。
(2)、界面友好,程序强壮。
(3)、设置界面的提示符,提示的命令以及调试的方法应和前面的要求一致。不要自己设计命令或者附加不要求的功能。
三.实验源程序文件名: Filesystem_s.cpp
执行文件名: Project1.exe
四.实验分析
1)总论:
该系统是一个多用户、多任务的实时操作系统。对用户和用户的文件数目并没有上限。也就是说该系统允许任何用户申请空间,而且在其目录下的文件数目并不做任何的限制。
该系统的操作命令如下:
bye-用户注销命令。当使用该命令时,用户退出系统。命令格式:
run\bye↙系统注销该用户并回到登陆界面。
close-删除用户注册信息命令。执行该命令后,用户在系统中的所有信息,包括该用户目录下的所有文件都被删除。命令格式:run\close↙.完成后返回登陆界面。
create-在当前目录下创建一个文件,且该文件不能跟系统中的文件重名。该文件的管理信息登录到用户文件信息管理模块中。命令格式:run\createfile1↙。其中file1为要创建的文件名称。执行完该命令后回到执行命令行。
delete-删除当前用户目录下的一个文件。命令格式:run\deletefile1↙。返回命令行。
list-显示当前注册目录下的所有文件信息,包括文件名、文件长度、文件操作权限。命令格式:run\list↙。
chmod-改变某个文件的执行权限,但前提是该文件是该用户目录下的文件。命令格式:run\chmodfile1↙。
open-在window界面下打开某个文件。命令格:run\openfile1↙。执行该命令后,文件file1将用在windows界面下的文件形式打开。用户可以在这个方式中对文件进行修改,并将修改后的内容保存。
read-读文件信息。将文件信息读入并显示在终端。命令格式:run\readfile1↙。
write-向某个文件写入新的信息。用户可以选择用覆盖原来内容的方式和在文件的末尾插入新信息的方式写入信息。
2)_系统采用二级文件目录。设置主目录(MFD)和用户文件目录(UFD),分别以文件的方式保存在磁盘中。在主目录中又注册用户的用户名和另一标志该用户目录下是否有文件的指针标记。用户文件目录用用户名作为文件名保存在磁盘,以便检索时方便对应。在用户文件目录中保存着该目录下所有的文件的文件名称、保护码、文件长度。
3) 该系统大量使用高级语言中的文件操作函数,所以能实际看到文件的创建写入、读出、删除等效果。
4) 实验流程图
开始选项
开始
选项
用户登录
新用户注册
退出程序
结束
在MFD中找到该用户?
初始化命令关键字(keyword)
显示该用户目录下的所有文件管理信息
1
1创建文件
1
创建文件
删除文件
打开文件
读文件
写文件
改变权限
显示文件
保存当前主目录
删除用户
返回主界面
输入命令
5)源程序:
#includeiostream.h
#includestdio.h
#includestdlib.h
#includestring.h
#include conio.h
#includedos.h
#define NULL 0
#define keynum 10
#define getspace(type) (type*)malloc(sizeof(type))
char cmd[64]; //存放用户输入命令
char buffer[36];//
char user[32];//存放当前登陆的用户名
typedef char ALFA[12];
ALFA KWORD[keynum];
struct UFD{//用户文件
您可能关注的文档
- 整 改 回 复 函十一月整理.doc
- 整体护理的概念.pptx
- 整式乘除计算题专练.pptx
- 整式化简求值专项训练.pptx
- 整式概念练习题.pptx
- 整式的乘除压轴题.pptx
- 整式的乘除计算题专项练习.pptx
- 整式的乘除计算题专项练习十一月整理.doc
- 整式的乘除计算题汇总.pptx
- 整式的除法强化训练.pptx
- 2026年揭阳职业技术学院单招《数学》考前冲刺练习试题附参考答案详解(预热题).docx
- 2025年度淄博经济开发区事业单位面向大学生退役士兵综合类(专项)岗位公开招聘工作人员备考题库(6人.docx
- 2025年昆明市嵩明县辅警招聘考试题库(必刷500题)带答案详解.docx
- 2026年上海师范大学单招(计算机)考试参考题库及答案解析(夺冠).docx
- 2026年江苏安全技术职业学院单招(计算机)考试参考题库附答案解析.docx
- 2025年山东省东营市河口区辅警招聘考试题库(必刷500题)含答案详解.docx
- 2025年山西省事业单位招聘15862人备考题库附答案详解.docx
- 2025年日照市辅警招聘考试题库(必刷500题)带答案详解.docx
- 2025年广东省珠海市香洲区辅警招聘考试题库(必刷500题)附答案详解.docx
- 2025年巫溪县巫溪县辅警招聘考试题库(必刷500题)及答案详解1套.docx
原创力文档


文档评论(0)