操作系统实验报告
实验名称: 文件管理
专业班级: 网络工程1301 学 号: 姓 名:
2015 年 6 月 16 日
实验一 文件管理
一、实验目的
文件管理是操作系统的一个非常重要的组成部分。 学生应独立用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解,掌握它们的实施方法,加深理解课堂上讲授过的知识。
二、预备知识
1. VS2010的使用 2. C#的学习
3. 文件主目录与子目录的理解
三、实验内容与步骤
用高级语言编写和调试一个简单的文件系统, 模拟文件管理的工作过程。要求设计一个10 个用户的文件系统,每次用户可保存 10 个文件,一次运行用户可以打开5 个文件。系统能够检查打入命令的正确性,出错时能显示出错原因。对文件必须设置保护措施,例如只能执行,允许读等。在每次打开文件时,根据本次打开的要求,在此设置保护级别, 即有二级保护。 文件的操作至少有Create、 delete、 open、close、read、write 等命令。 所编写的程序应采用二级文件目录, 即设置主文件目录和用户文件目录。前者应包含文件主及它们的目录区指针;后者应给出每个文件占有的文件目录,即文件名,保护码,文件长度以及它们存放的位置等。另外为打开文件设置运行文件目录(AFD) ,在文件打开时应填入打开文件号,本次打开保护码和读写指针等。 程序流程图:
逻辑设计:
使用线性数组表表示MFD,泛型数组表示 UFD,每个元素包括用户ID、保存的文件数、再使用线性表表示文件信息,每个元素包括文件名,文件属性(保护码) ,文件的状态等信息。 物理设计: //主目录
private FileUser[] mfd; //当前用户
private FileUser currentuser; ///
///
public class FileObject { public string filename; public int size=20; public int read=0; public int write = 0; public string author; }
///
public class FileUser { public string username;
public List