文档介绍:广东工业大学课程设计任务书
(源代码在附录)
题目名称
多用户多级目录文件系统的实现
学生学院
计算机学院
专业班级
2008级软件工程2班
姓名
学号
一、课程设计的内容
本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
二、课程设计的要求与数据
在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。
文件物理结构可采用显式链接或其他方法。
磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。
文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,。
设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:
(1)具有login (用户登录)
(2)系统初始化(建文件卷、提供登录模块)
(3)文件的创建: create
(4)文件的打开:open
(5)文件的读:read
(6)文件的写:write
(7)文件关闭:close
(8)删除文件:delete
(9)创建目录(建立子目录):mkdir
(10)改变当前目录:cd
(11)列出文件目录:dir
(12)退出:logout
系统必须可实际演示,选用程序设计语言:C++、C等。
目录
一、设计思想说明 2
2
2
2
2
二、数据结构 3
3
3
3
3
4
三、功能实现 4
4
4
5
5
5
5
5
5
5
5
5
四、操作思想 5
五、界面演示 6
6
6
6
六、系统具体运行演示 7
(读文件) 7
7
7
七、实验体会 8
八、收集的资料及主要参考文献 8
一、设计思想说明
a)程序设计语言:C++语言
b)计算机及操作系统:PC机,WindowsXP
c)开发平台:Microsoft Visual C++
d)运行平台:PC机,WindowsXP
文件系统是操作系统中负责管理和存取文件信息的机构,它具有“按名存取”的功能。文件系统主要实现对具体的文件存取空间的管理、文件的物理结构、目录结构管理和文件操作。
本实验中的文件系统是多用户多级目录的文件系统。实验中定义用户的上限为5个,目录结构采用多级目录结构。
系统中的数据文件,需要为之分配磁盘空间。采用模拟方法,虚拟磁盘为一个10000大小的一维数组:disk_block[10000],0表示空闲,1表示已分配出去。
使用混合索引分配方式来为存储文件分配所在外存的块号:当文件大小较小时,采用直接地址,索引结点的每项存放文件数据的盘块的盘块号;当文件大小较大时,采用一次间接地址,即一级索引;当文件非常大时,采用多次间接地址,即二级索引。
目录结构的组织,关系到文件系统的存取速度、安全性、共享性。为了提高目录的检索速度和文件系统的性能,采用了多目录结构来组织目录,即树形目录结构,主目录称为根目录,数据文件为树叶,其他的目录为树的结点。如下图所示。
二、数据结构
,初始化时所有盘块置0
for(i=0;i<10000;i++) //初始化所有磁盘块为空闲
disk_block[i]=0;
disk_empty=10000;
,即树叶
typedef struct UFD //存储文件信息
{
char name[10]; //文件名
int attribute; //属性
int length; //长度
int a[10]; //为文件本身分配10个空间
int *p1; //一级索引,100个空间
int (*p2)[100];