实验六:文件系统一、目的要求1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程
从而对各种文件操作命令的实质内容和执行过程有比较深化的了解
2、要求设计一个 n 个用户的文件系统,每次用户可保存 m 个文件,用户在一次运 行 中 只 能 打 开 一 个 文 件 , 对 文 件 必 须 设 置 保 护 措 施 , 且 至 少 有Create、delete、open、close、read、write 等命令
二、例题: ①设计一个 10 个用户的文件系统,每次用户可保存 10 个文件,一次运行用户可以打开 5 个文件
② 程 序 采 纳 二 级 文 件 目 录 ( 即 设 置 主 目 录 [MFD] ) 和 用 户 文 件 目 录(UED)
另外,为打开文件设置了运行文件目录(AFD)
③ 为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作
④ 算法与框图: a、因系统小,文件目录的检索使用了简单的线性搜索
b、文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行
c、程序中使用的主要设计结构如下:Ⅰ、主文件目录和用户文件目录( MFD、UFD)Ⅱ、打开文件目录( AFD)(即运行文件目录) 三、调度算法的流程图四、文件管理源程序#includeM D F用户名 文件目录指针 用户名 文件目录指针 U F D文件名 保护码 文件长度 文件名 A F D打开文件名 打开保护码 读写指针 #include〈stdlib
h>typedefstructufd{ char filename[10];/*文件名*/ char procode[8];/*属性*/int length;/*文件长度*/structufd *nextfile;/*指向下一个文件*/}UFD;typedefstr