- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件管理实验任务书
目 录
摘 要 1
前 言 2
正 文 3
1. 设计思想 3
2. 各模块伪码算 4
3. 函数调用关系图 7
4. 测试结果 10
设计总结 14
参考文献 15
致谢 16
附:源代码 17
摘 要
文件管理是操作系统的一个极为重要的组成部分,文件系统提供给用户一组系统调用,包括建立、打开、关闭、读、写和撤销等,通过这些系统调用用户能获得文件系统的各种服务。对文件必须设置保护措施,如允许执行、允许读、允许写等。在每次打开文件时,根据本次打开的要求,再次设置保护级别,即可有二级保护。
关键字:文件 系统调用 保护措施
前 言
在现代计算机系统中,用户的程序和数据,操作系统自身的程序和数据,甚至各种输入输出设备都是以文件形式出现的。尽管文件有多种存储介质可以使用,如:硬盘、软盘、光盘、闪存、记忆棒等,但是,它们都以文件的形式出现在操作系统的管理者和用户面前。所以文件管理系统是操作系统中一项重要的功能。文件系统就是操作系统中统一管理信息资源的一种软件。它管理文件的存储、检索、更新,提供更安全可靠的共享和保护手段,并且方便用户使用。
正 文
设计思想
在实验中设计一个10个用户的文件系统,每个用户最多可保存10个文件,一次运行中用户可打开1个文件。
程序采用二级文件目录,即设置了主文件目录(MFD)和用户文件目录(UFD)。前者应包含文件主(即用户)及他们的目录区指针;后者应给出每个文件主占有的文件目录,即文件名、保护码、文件长度以及它们存放的位置等。另外为打开文件设置了运行文件目录(AFD),在文件打开时应填入打开文件号,本次打开保护码和读写指针等。
为了便于实现,对文件的读写作了简化,在执行读写命令时,只修改读写指针,并不实际读写。
指令系统如表1所示:
表1.指令系统
序号 指令 说 明 1 shutdown 退出文件 2 dir 列出用户的文件目录 4 create 建立文件 5 delete 删除文件 6 open 打开文件 7 close 关闭文件 8 read 读文件 9 write 写文件
各模块伪码算
1)建立文件模块伪码:
void CreateFiles() //建立文件
{
char choice;
int i;
int temp_int;
for( i=0 ; i_Number_Files ; i++ )
if( UFD[i].Length_File == -1 )
break;
if( i == _Number_Files )
cout Error! _Number_Files 文件已经存在。 endl;
else
Create();//建立新文件
}
2)删除文件模块伪码:
void DeleteFile() //删除文件
{
int i;
string temp;
cout 请输入要删除的文件名:;
cin temp;
//查找要删除的文件名
for( i=0 ; i_Number_Files ; i++ )
if( (UFD[i].Length_File!=-1)(UFD[i].File_Name==temp) )
break;
if( i == _Number_Files ) //没找到这个文件名的文件
cout 没有找到这个文件名,请重新尝试! endl;
else //成功找到文件
{
UFD[i].Length_File = -1; //删除文件
cout Ok! UFD[i].File_Name 文件成功删除。 endl;
}
}
3)打开文件模块伪码:
void OpenFile() //打开文件
{
char choice;
int i;
int temp_int;
string temp;
if( Number_Open_Files == _MaxNumber_Open_Files )
cout 文件已经被打开了。 endl;
else
Open();
}
4)关闭文件模块伪码:
void CloseFile() //关闭文件
{
int i;
int temp_int;
string temp;
cout 请输入要关闭的文件名 :;
文档评论(0)