您所在位置: 网站首页 / 操作系统二级文件管理课程设计.doc / 文档详情
操作系统二级文件管理课程设计.doc 立即下载
2024-12-12
约8.4千字
约13页
0
80KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

操作系统二级文件管理课程设计.doc

操作系统二级文件管理课程设计.doc

预览

免费试读已结束,剩余 8 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

操作系统二级文件管理课程设计






课程设计名称:二级文件管理系统
专业班级:软件工程计083-1
学生姓名:李晓斌
学号:20082553103
指导教师:任满杰





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

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

一、实验内容描述
1实验目标
本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现.
2实验要求
为linux系统设计一个简单的二级文件系统.要求做到以下几点:
①可以实现下列命令:
login用户登录
dir列文件目录
create创建文件
delete删除文件
open打开文件
close关闭文件
read读文件
write写文件
②列目录时要列出文件名、物理地址、保护码和文件长度.
③源文件可以进行读写保护.

程序设计

(1)设计思想
本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户账号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管理文件与设备文件等特殊内容。
(2)主要数据结构
A磁盘块结构体:
typedefstructdistTable
{
intmaxlength;
intstart;
intuseFlag;
distTable*next;
}diskNode;
diskNode*diskHead;
B文件块结构体:
structfileTable//文件块结构体
{
charfileName[10];
intstrat;//文件在磁盘存储空间的起始地址
intlength;//文件内容长度
intmaxlength;//文件的最大长度
charfileKind[3];//文件的属性——读写方式
structtm*timeinfo;
boolopenFlag;//判断是否有进程打开了该文件
//fileTable*next;
};
C两级目录结构体
typedefstructuser_file_directory//用户文件目录文件UFD
{
//charfileName[10];
fileTable*file;
user_file_directory*next;
}UFD;
//UFD*headFile;
typedefstructmaster_file_directory//主文件目录MFD
{
charuserName[10];
charpassword[10];
UFD*user;
}MFD;
(3)函数如下;
voiduserCreate()
{
charc;
charuserName[10];
inti;
if(used<MaxUser)
{
printf("请输入用户名:");
for(i=0;c=getch();i++)
{
if(c==13)break;
else
userName[i]=c;
printf("%c",c);
}
userName[i]='\0';
for(i=0;i<used;i++)
{
if(!strcmp(userTable[i].userName,userName))
{
printf("\n");
printf("该用户名已存在,创建用户失败\n");
system("pause");
return;
}
}
strcpy(userTable[used].userName,userName);
printf("\n");
printf("请输入密码:");
for(i=0;c=getch();i++)
{
if(c==13)break;
else
userTable[used].password[i]=c;
printf("*");
}
userTable[userID].password[i]='\0';
printf("\n");
printf("创建用户成功\n");
used++;
system("pause");
}
else
{
printf("创建用户失败,用户已达到上限\n");
system("pause");
}
fflush(stdin);//清除文件缓冲区
}

intlogin()
{
charname[10],psw[10];
charc;
inti,times;
printf("请输入用户名:");
for(i=0;c=getch();i++)
{
if(c==13)break;
else
name[i]=c;
printf("%c",c);
}
name[i]='\0';
for(i=0;i<used;i++)
{
if(!strcmp(userTable[i].userName,name))
brea
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

操作系统二级文件管理课程设计

文档大小:80KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用