操作系统之设计一个简单文件系统

请根据本课程所学的文件系统管理知识设计一个简单文件系统。
该系统要求具备基本的文件处理功能,包括文件的建立、打开、删除、关闭、
读、写、查询等基本功能。要求如下:
a、问题᧿述 1)在内存中建立一个虚拟磁盘空间作为文件存储器(模拟磁盘),设计一个
多用户二级目录文件系统。
2)为了简化文件系统的实现过程,文件的具体读写过程可简化为用输出语句
4
表述,不进行实际的读写操作。 3)采用二级目录结构,即设置主目录(MFD)和用户文件目录(UFD)。主目
录和用户文件目录均采用结构体数据结构。主目录(MFD)包含主目录用户名、
用户密码、用户文件目录数组等内容,用户文件目录(UFD)包括文件名、文件
读写属性(r、w 和 e)、文件创建日期、文件长度等内容。
主目录(MFD)结构体:
struct mdf
{
char uname[10]; //用户名
char password[20]; //用户登录密码
UF Udir; //用户文件目录
}UFD[10]; //主目录
用户文件目录结构体:
typedef struct ufd
{
char fname[10]; //用户文件名称、
int flag; //文件存在标志
int fprotected[3]; //文件保护标志数组,数组元素依次为 r\w\e
//1 表示允许,0 表示不允许
char fdate[8]; //文件创建日期
int flength; //文件长度
}ufd,UF[10];
4)要求所设计文件文件系统ᨀ供以下文件操作:文件的创建 create、文件
的删除 delete、文件的打开 open、文件的关闭 close、读文件操作 read、写文
件操作 write。这些文件操作功能均以函数的形式进行设计和实现。对文件进行
打开、关闭、读、写等操作时,要先判断文件是否已经打开。
用户打开文件结构体: Struct afd
{
5
char opname[10]; //打开文件名
int flag; //文件存在标志
char opfprotect[3] //文件保护标志数组,数组元素依次为 r\w\e
int rwpoint; //文件读写指针
}AFD[5]; //已打开文件表,文件系统最多允许同时打开 5 个文件
b、题目要求: 1)用 C 语言或类 C 语言方式(伪代码)给出该简单文件系统的设计过程。
2)给出此文件系统的逻辑设计、流程图,并给出功能函数的设计细节(可以
采用伪代码方式,也可给出真实代码)。