实验3 文件管理实验3 文件管理.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 文件管理 一、实验目的 理解文件系统的主要概念及文件系统内部功能和实现过程。 二、实验内容 采用二级文件目录结构,编写程序实现文件系统的文件存储空间的管理、文件的物理结构、目录结构管理和文件操作。具体如下: 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 //每个用户最少可保存一个文件 #define MAXUSER 10 //假想文件系统最多支持的人数 #define BLOCKSIZE 32 //虚拟磁盘中物理块为每块32字节 #define DISKSIZE BLOCKSIZE*1000 //虚拟磁盘容量为1000*32=32K 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 Super

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档