毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

多用户多级目录文件系统的实现-操作系统 第2页

更新时间:2010-4-20:  来源:毕业论文
多用户多级目录文件系统的实现-操作系统 第2页
1.设计思想说明
本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
2.系统结构说明
2.1在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。
2.2文件物理结构可采用显式链接或其他方法。
2.3磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。
2.4文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。
2.5设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:
2.5.1具有login (用户登录)
2.5.2系统初始化(建文件卷、提供登录模块)
2.5.3文件的创建: create
2.5.4文件的打开:open
2.5.5文件的读:read
2.5.6文件的写:write
2.5.7文件关闭:close
2.5.8删除文件:delete
2.5.9创建目录(建立子目录):mkdir
2.5.10改变当前目录:cd
2.5.11列出文件目录:dir
2.5.12退出:logout
3.数据结构说明
3.1开发环境
Visual C++6.0下的win32控制台程序,C语言。
3.2数据存储
在内存中申请1M的空间来模拟存取设备,空间划分为三部分,第一部分用来存放位示图,用于标识数据块的使用情况,第二部分放置一个文件索引的数据,用于快速的查找数据,第三部分放置数据信息,第三部分划分为512块,每块512B,其256K,放置在1M空间的最末端,由第三部分的大小可知,第一部分只需64B即可,中间的部分用来存放文件索引。其他用到的存储单元由系统分配。
3.3数据结构
3.3.1数据块在内存中的物理结构
 typedef struct fb
{
 unsigned FileBlockId;  //文件块编号
 unsigned BLOCK_SIZE;     //文件块的容量
 char *FileBlockAddr;     //文件块地址
 struct fb *next;     //下一个文件块的地址
} FileBlock;
3.3.2文件索引结构
 typedef struct
{
 unsigned Index;      //文件元素索引编号
 char FileName[NAME_LEN];         //文件元素名
 char ParentName[NAME_LEN];        //父节点名
 unsigned FileBlockId;    //文件元素所在物理块编号
 unsigned FileLevel;              //文件元素所在层次,层+文件元素
名为一个文件元素逻辑位置
 unsigned effect;       //是否有效,0-无效,1-有效
} FileIndexElement;
3.3.3文件系统中文件元素的结构(含文件夹和文件)
 typedef struct fse
{
 struct fse *parent;      //指向自己的父亲节点
 unsigned FileLevel;      //文件元素所在层次,层+文件元素名
为一个文件元素的逻辑位置
 char FileName[NAME_LEN];     //文件元素名
 unsigned FileBlockId;   //文件元素所在物理块编号
 unsigned FileElemLen;   //文件元素的长度
 FileType Type;     //文件元素类型
 FileAccess Access;    //文件元素可供操作的权限
 User Creator;      //文件创建者
 char CreateTime[18];    //创建时间,日期格式:MM/DD/YY HH:MI:SS
 char LastModTime[18];   //最后一次修改时间
 char *FileData;   //一个文件的数据开始地址,文件夹时该值为NULL
 FileStatus fileStu;    //如果是一个文件表示文件当前的状态
} FSElement;
3.3.4文件系统结构
 typedef struct
{
 char *FSStart;     //文件系统的起始地址
 unsigned SuperBlockSize;     //文件系统的容量
 BitMap bm;      //文件系统中的位示图
 unsigned BLOCK_COUNT;   //文件系统中文件块的数量
 FileBlock *head;    //文件系统中文件块首地址
 FileIndex FI;     //文件系统中的文件索引
} SuperBlock;
3.3.5文件系统的当前运行状态
 typedef struct
{
 User CurrentUser;    //当前用户
 unsigned FileLevel;    //用户所在文件系统层
 FSElement *CurrParent;   //当前层的父节点
 char *CurrentPath;    //当前路径
} CurrentStatus;

上一页  [1] [2] [3] [4] [5] [6] 下一页

多用户多级目录文件系统的实现-操作系统 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。