- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 文件管理
一、实验目的:
1.了解os中文件的组织和管理。
2.熟悉文件中所用的数据结构。
二、实验要求:
1. 设计一个N个用户的文件系统,每个用户最多保存m个文件。
2. 限制用户在一次使用中只能打开L个文件。
3. 系统应能检查输入命令的正确性,出错能显示出原因。
4. 对文件必须设置保护措施,如只读、写、执行等。在每次打开时再次设置保护级别,即可有二级保护。
5. 对文件的操作至少有以下几条命令
create:建文件
delete:删文件
open:打开文件
close:关闭文件
read:读文件
write:写文件
举例:主文件目录
mfd=record
username :string[maxlen];
files :array[1..L] 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 MAXFILE 20 //每个用户最多保存20个文件
#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 SuperBlock; //超级块,指示第一个空闲块逻辑号
USHORT MaxOpen; //该用户同时可打开的最大文件数
USHORT UserNum; //最户数
MFD Mfd[MAXUSER]; //最多可支持10个用户
};
//空闲块成组链接法
bool OpenList[
您可能关注的文档
- 学而优则仕——话说孔子的为官之道分析.ppt
- 关于建设项目环境影响报告表.doc
- 关于2017年参加广西看禾选种,助农增收活动概要.doc
- 2015年社会责任报告摘要.doc
- 第4章汇编语言程序设计指南.ppt
- 浅谈申请认证产品清单.doc
- UGMoldWizard使用手册摘要.doc
- 新乡市结核病防治所整体搬迁项目太阳能热水系统采购安装项目分析.doc
- 滁州学院本科毕业设计(论文)管理暂行规定摘要.doc
- 第二讲Protel99Sch基础指南.ppt
- 期末复习课件++专题7+阿基米德原理++2023-2024学年人教版八年级物理下册.pptx
- 4-1电磁振荡(教学课件)高中物理人教版选择性必修第二册.pptx
- 本包含页空白页.pdf
- 【会计实操经验】财务操纵的知识框架.pdf
- 英国b2c电商网站ocado市场前景及投资研究报告-培训课件外文版2024.6,拼多多,阿里巴巴,1688,temu,tiktok.pdf
- 印尼在线约会行业市场前景及投资研究报告-培训课件外文版2024.6,微信,tiktok.pdf
- 印尼物联网IOT行业市场前景及投资研究报告-培训课件外文版2024.5.pdf
- 印尼斋月消费情况分析报告-培训课件外文版2024.6.pdf
- 英国GDP分析报告-培训课件外文版2024.6.pdf
- 印尼铁路行业市场前景及投资研究报告-培训课件外文版2024.6,援建高铁.pdf
文档评论(0)