- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三 文件管理
一、实验目的
理解文件系统的主要概念及文件系统内部功能和实现过程。
二、实验内容
采用二级文件目录结构,编写程序实现文件系统的文件存储空间的管理、文件的物理结构、目录结构管理和文件操作。1、设计一个有m个用户的文件系统,每个用户最少可保存一个文件。2、规定用户在一次运行中只能打开K个文件。3、系统能检查键入命令的正确性,出错时应能显示出错原因。4、对文件应能设置保护措施,如只能执行、允许读、允许写等。5、对文件的操作设计提供一套文件操作:CREATE建立文件;DELETE删除文件;OPEN打开文件;CLOSE关闭文件;READ读文件;WRITE写文件。
实验要求
mfd=record
username :string[maxlen];
files :array[1..K] of ufd;
ofiles :arrau[1..S] of uod
end;
用户打开文件目录表:
uod=record
filename:string[maxlen];
attrib:attrib;
len:integer;
status:(open,create);
rp,up:integer;
end;
用户文件目录:
ufd=record
fielname:string[maxlen];
attrib?ro,rw);
len:integer;
addr:integer;
end;
流程图:
开始
输入用户名
在MFD中找到该用户名
显示该用户名UFD中所有文件
初始化AFD
操作
命令
CREATE DELTET OPEN CLOSE READ WRITE
保护当前文件目录
结束
二、主要数据结构
界面采用VC6 MFC环境开发
#define MINFILE 1 //每个用户最少可保存一个文件struct UFD //说明文件项的结构数组
{
char FileName[15];
char Time[16]; //文件建立或修改时间 如2003/5/6 12:00
bool IsExist; //文件是否存在,删除时标为0
bool IsShared; //共享标记,共享文件可被其它用户所访问
bool AttrRead; //文件是否可读
bool AttrWrite; //文件是否可写
bool AttrExecute; //文件是否可执行
HTREEITEM treeNode; //用于树控件显示的结点句柄
USHORT FileLen; //文件占用字节数
USHORT BlockNum; //文件占用的物理块数
USHORT FileLink[100];//文件物理块地址数组,每块32字节,限定一个文件最大100*32=3200字节
};
struct MFD
{
char UserName[10]; //主目录用户名
bool IsExist; //该用户否存在
UFD ufd[MAXFILE]; //用户文件数组
USHORT nItem;//UFD个数
};
struct HEADBLOCK
{
BYTE pStack; //堆栈指针
SHORT pBlock[10]; //块号 pBlock[10]是下一个盘块号逻辑地址
};
struct BLOCK //虚拟磁盘的物理块数据结构
{
union{
BYTE block[32]; //一块为32字节
HEADBLOCK HeadInfo;
};
};
struct FAT
{
BLOCK SuperBlock; //超级块,指示第一个空闲块逻辑号
USHORT MaxOpen; //该用户同时可打开的最大文件数
USHORT UserNum; //最户数
MFD Mfd[MAXUSER]; //最多可支持10个用户
};
//空闲块成组链接法
bool OpenList[MAXUSER][MAXFILE]; //描述文件是否打开的布尔型数组
FAT FileFAT; //描述文件记录项的FAT结构
CFile FATIO; //负责和VDISK.DAT打交道的文件句柄
CString CurrentUser; //当前登
您可能关注的文档
最近下载
- 远程医疗下的医学检验技术新模式.docx VIP
- 凯恩帝K1000T-C_V3.1_编程手册_140822.pdf
- 四川大学sci期刊分级方案.pdf VIP
- 研究生学术道德与学术规范-精品课件.ppt VIP
- 绿色黑板风欢迎新同学新生见面会PPT模板.pptx VIP
- T/BGEA001-2019预拌流态固化土填筑工程技术标准 ..pdf VIP
- 四年级上地方课程.doc VIP
- 【素质模型与职业生涯规划】中粮集团培训之“忠良书院”.pdf VIP
- 2025年黑龙江省辅警招聘考试试题带解析附答案(考试直接用).docx VIP
- 《消费者心理与行为分析》第五版 课件 肖涧松 单元1、2 消费者心理与行为概述; 消费者资源、需要和动机.pptx
文档评论(0)