下载此文档

操作系统课程设计-模拟一个简单二级文件管理系统.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
模拟一个简单二级文件管理系统
设计目的:通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
设计内容:模拟一个简单二级文件管理系统

一、实验内容描述
1 实验目标
本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现.
2 实验要求
:
①可以实现下列命令:
login 用户登录
dir 列文件目录
create 创建文件
delete 删除文件
open 打开文件
close 关闭文件
read 读文件
write 写文件
②列目录时要列出文件名、物理地址、保护码和文件长度.
③源文件可以进行读写保护.
二、程序主要内容
1设计思路
程序中要求每个用户在登陆后才可对其拥有的文件进行操作,、创建、删除、打开、关闭、阅读、写入、、帮助、用户登入、用户登出、退出系统.
在程序文件夹下有个名为“file”的系统根目录,此目录下包括:一个名为“mfd”的文件,记录所有注册过的帐号及密码;用户文件,以用户名作为文件名,内容为其拥有的文件名及属性;一个名为“keiji”的文件夹.“keiji”文件夹中包括:“”指针文件,记录所有已用的物理地址;一些以物理地址为名的文件,内容为文件内容.
2 数据结构
file结构体系统文件数据结构:
fpaddrint,文件的物理地址、flengthint,文件长度、fmodeint,文件模式 ;;;、 fname[]char,文件名;
filemode结构体文件状态数据结构:
isopenint,文件当前状态,;、modeint,文件模式 ;;;;
user结构体用户信息数据结构:
uname[]char,用户名、upassword[]char,用户密码;
userfile结构体用户文件数据结构:
uname[]char,用户名、ufile[]file,用户拥有的文件数组.
代码:
#include <>
#include <>
#include <>
#include <>
#include <>
#define MaxUser 100 //定义最大MDF主目录文件
#define MaxDisk 512*1024 //模拟最大磁盘空间
#mandAmount 12 //对文件操作的指令数
//存储空间管理有关结构体和变量
char disk[MaxDisk]; //模拟512K的磁盘存储空间
typedef struct distTable //磁盘块结构体
{
int maxlength;
int start;
int useFlag;
distTable *next;
}diskNode;
diskNode *diskHead;
struct fileTable //文件块结构体
{
char fileName[10];
int strat; //文件在磁盘存储空间的起始地址
int length; //文件内容长度
int maxlength; //文件的最大长度
char fileKind[3]; //文件的属性——读写方式
struct tm *timeinfo;
bool openFlag; //判断是否有进程打开了该文件
//fileTable *next;
};

//两级目录结构体
typedef struct user_file_directory //用户文件目录文件UFD
{
//char fileName[10];
fileTable *file;
user_file_directory *next;
}UFD;
//UFD *headFile;
typedef struct master_file_directory //主文件目录MFD
{
char userName[10];
char password[10];
UFD *user;
}MFD;
MFD userTable[MaxUser];
int used=0; //定义MFD目录中用已有的用户数

//文件管理
void fileCreate(char f

操作系统课程设计-模拟一个简单二级文件管理系统 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人3346389411
  • 文件大小0 KB
  • 时间2013-03-26