- 6
- 0
- 约1.34万字
- 约 14页
- 2019-12-02 发布于天津
- 举报
实验六:文件系统
一、目的要求
1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。
二、例题:
①设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。
②程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。
③为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作。
④ 算法与框图:
a、因系统小,文件目录的检索使用了简单的线性搜索。
b、文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。
c、程序中使用的主要设计结构如下:
Ⅰ、主文件目录和用户文件目录( MFD、UFD)
Ⅱ、打开文件目录( AFD)(即运行文件目录)
M D F
用户名
文件目录指针
用户名
文件目录指针
?
U F D
文件名
保护码
文件长度
文件名
A F D
打开文件名
打开保护码
读写指针
?
三、调度算法的流程图
四、文件管理源程序
#includestdio.h
#includestring.h
#includemalloc.h
#includestdlib.h
typedef struct ufd
{ char filename[10];/*文件名*/
char procode[8];/*属性*/
int length;/*文件长度*/
struct ufd *nextfile;/*指向下一个文件*/
}UFD;
typedef struct mfd
{ char username[10];/*用户名*/
struct ufd *link;/*指向该用户的第一个文件*/
}MFD;
typedef struct protected_flag
{ char code[4];
}PRO;
typedef struct afd/*运行文件目录*/
{ char filename[10];/*打开文件名*/
char procode[4];
int rwpointer;/*读写指针*/
}AFD;
PRO flag[3]={100,/*只读*/
110,/*读写*/
001/*可执行*/
};
UFD *rw_pointer;/*读写指针*/
AFD *afd=NULL;
MFD filesystem[10];
int num;/*当前用户个数*/
void displayallfile()
{ int i;
UFD *p;
for(i=0;inum;i++)
{
printf(用户 :%s 目录如下!\n,filesystem[i].username);
p=filesystem[i].link;
while(p)
{ printf(\t文件名: %s\t||,p-filename);
printf(文件属性: %s\t||,p-procode);
printf(文件长度: %d\n\n,p-length);
p=p-nextfile;
}
}
}
void input() /*建立用户文件系统*/
{ int i,j;
int length;
char filename[10];
char procode[4];
UFD *p1,*p2,*first;
for(i=0;i10;i++)
filesystem[i].link=NULL;
printf(用户号码:\n);
scanf(%d,num);
for(i=0;inum;i++)/*输入各用户名称*/
{
printf(输入第 %d个用户名:\n,i+1);
scanf(%s,filesystem[i].username);}
for(i=0;inum;i++)/*输入某用户的文件数据*/
{
j=1;
printf( 第%d个用户的文件如下\n,i+1);
printf(文件 %d:\n,j);
printf(长度 :);
scanf(%d,length);
if(!length)
continue;
printf(文件名:);
scanf(%s,fil
您可能关注的文档
- 《学记原文+翻译》.doc
- 《学而第一的十个成语》.ppt
- 《学龄初期儿童心理特点及》.ppt
- 《学礼 知礼 讲礼》.ppt
- 《学生新闻播报-关爱儿童》.ppt
- 《学龄前儿童眼保健》.ppt
- 《学龄前儿童口腔保健讲座》.ppt
- 《孩子的一百种语言》.doc
- 《学龄前儿童营养与健康》.ppt
- 《宁波华翔信息化方案》.ppt
- 2026重庆招商局检测车辆技术研究院有限公司招聘笔试考试参考试题及答案解析.docx
- 2026山东临沂市沂水县部分事业单位招聘综合类岗位工作人员32人笔试考试备考试题及答案解析.docx
- 2026湖南湖南农业发展投资集团有限责任公司招聘3人笔试考试备考试题及答案解析.docx
- 2026安徽黄山新城区投资有限公司及权属子公司招聘14人笔试考试参考试题及答案解析.docx
- 巴中市公安局2026年度公开招聘警务辅助人员笔试考试备考题库及答案解析.docx
- 2026上海浦东新区护理学院招聘教学科研人员1人笔试考试备考试题及答案解析.docx
- 2026安徽黄山新城区投资有限公司及权属子公司招聘14人笔试考试备考试题及答案解析.docx
- 2026安徽省皖信幼儿园教师及生活老师外包招聘4人笔试考试参考试题及答案解析.docx
- 2026安徽芜湖市扬帆实验学校招聘教官4人笔试考试参考题库及答案解析.docx
- 2026云南省人力资源和社会保障厅所属事业单位招聘12人笔试考试参考试题及答案解析.docx
原创力文档

文档评论(0)