好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

962编号实验 文件管理(二).pdf

11页
  • 卖家[上传人]:玩***
  • 文档编号:145991701
  • 上传时间:2020-09-25
  • 文档格式:PDF
  • 文档大小:99.02KB
  • / 11 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验六:文件系统 一、目的要求 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 打开文件名 打开保护码 读写指针 三、调度算法的流程图 四、文件管理源程序 #include #include #include #include typedef struct ufd char filename10;/*文件名*/ char procode8;/*属性*/ int length;/*文件长度*/ struct ufd *nextfile;/*指向下一个文件*/ UFD; typedef struct mfd char username10;/*用户名*/ struct ufd *link;/*指向该用户的第一个文件*/ MFD; typedef struct protected_flag char code4; PRO; typedef struct afd/*运行文件目录*/ char filename10;/*打开文件名*/ char procode4; int rwpointer;/*读写指针*/ AFD; PRO flag3=100,/*只读*/ 110,/*读写*/ 001/*可执行*/ ; UFD *rw_pointer;/*读写指针*/ AFD *afd=NULL; MFD filesystem10; int num;/*当前用户个数*/ void displayallfile() int i; UFD *p; for(i=0;ifilename); printf(文件属性: %st||,p-procode); printf(文件长度: %dnn,p-length); p=p-nextfile; void input() /*建立用户文件系统*/ int i,j; int length; char filename10; char procode4; UFD *p1,*p2,*first; for(i=0;i<10;i++) filesystemi.link=NULL; printf(用户号码:n); scanf(%d, for(i=0;i

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.