模拟一个简单二级文件管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模拟一个简单二级文件管理系统

模拟一个简单二级文件管理系统

设计目的:经过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。

设计内容:模拟一个简单二级文件管理系统

一、实验内容描述

1 实验目标

本实验的目的是经过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现.

2 实验要求

为DOS系统设计一个简单的二级文件系统.要求做到以下几点:①能够实现下列命令:

login 用户登录

dir 列文件目录

create 创立文件

delete 删除文件

open 打开文件

close 关闭文件

read 读文件

write 写文件

②列目录时要列出文件名、物理地址、保护码和文件长度.

③源文件能够进行读写保护.

二、程序主要内容

1设计思路

程序中要求每个用户在登陆后才可对其拥有的文件进行操作,用户对于其它用户的文件无操作权.文件操作包括浏览、创立、删除、打开、关闭、阅读、写入、修改模式.其它操作包括新建用户、帮助、用户登入、用户登出、退出系统.

在程序文件夹下有个名为“file”的系统根目录,此目录下包括:一个名为“mfd”的文件,记录所有注册过的帐号及密码;用户文件,以用户名作为文件名,内容为其拥有的文件名及属性;一个名为“keiji”的文件夹.“keiji”文件夹中包括:

“file.p”指针文件,记录所有已用的物理地址;一些以物理地址为名的文件,内容为文件内容.

2 数据结构

file结构体系统文件数据结构:

fpaddrint,文件的物理地址、flengthint,文件长度、fmodeint,文件模式 0.只读;1.可写;2.可读写;3.保护、fname[]char,文件名;

filemode结构体文件状态数据结构:

isopenint,文件当前状态,0.关闭;1.打开、modeint,文件模式 0.只读;1.可写;2.可读写;3.初始化;

user结构体用户信息数据结构:

uname[]char,用户名、upassword[]char,用户密码;

userfile结构体用户文件数据结构:

uname[]char,用户名、ufile[]file,用户拥有的文件数组. .......

[cpp]view plaincopyprint?

1.#include

2.#include

3.#include

4.#include

5.#include

6.#define MaxUser 100 //定义最大MDF主目录文件

7.#define MaxDisk 512*1024 //模拟最大磁盘空间

8.#define commandAmount 12 //对文件操作的指令数

9.//存储空间管理有关结构体和变量

10.char disk[MaxDisk]; //模拟512K的磁盘存储空间

11.typedef struct distTable //磁盘块结构体

12.{

13.int maxlength;

14.int start;

15.int useFlag;

16.distTable *next;

17.}diskNode;

18.diskNode *diskHead;

19.struct fileTable //文件块结构体

20.{

21.char fileName[10];

22.int strat; //文件在磁盘存储空间的起始地址

23.int length; //文件内容长度

24.int maxlength; //文件的最大长度

25.char fileKind[3]; //文件的属性——读写方式

26.struct tm *timeinfo;

27.bool openFlag; //判断是否有进程打开了该文件

28.//fileTable *next;

29.};

30.

31.//两级目录结构体

32.typedef struct user_file_directory //用户文件目

录文件UFD

33.{

34.//char fileName[10];

35.fileTable *file;

er_file_directory *next;

37.}UFD;

38.//UFD *headFile;

相关文档
最新文档