福建农林大学金山学院。
计算机类。课程设计报告。
2011-2012学年第一学期。
福建农林大学金山学院计算机类。
课程设计结果评定。
目录。1.设计思想说明 1
2.系统结构说明 1
3.数据结构说明 2
3.1开发环境 2
3.2数据存储 2
3.3数据结构 2
3.3.1数据块在内存中的物理结构 2
3.3.2文件索引结构 2
3.3.3文件系统中文件元素的结构(含文件夹和文件) 3
3.3.4文件系统结构 3
3.3.5文件系统的当前运行状态 3
3.3.6用户结构 4
4.各主要模块的算法流程图 4
4.1整体思路概述 4
4.1.1login (用户登录) 4
4.1.2系统初始化 5
4.1.3文件的创建: create 5
4.1.4文件的打开:open 6
4.1.5文件的读:read 7
4.1.6文件的写:write 8
4.1.7文件关闭:close 10
4.1.8删除文件:delete 10
4.1.9创建目录(建立子目录):mkdir 11
4.1.10改变当前目录:cd 12
4.1.11列出文件目录:dir 14
4.1.12退出:logout 15
4.2算法流程图 15
5.使用说明书 15
5.1登录 15
5.2新建目录和列出文件目录 16
5.3改变当前目录 16
5.4文件的创建 16
5.5文件的打开 17
5.6文件的写 17
5.7文件的读 17
5.8文件的关闭 17
5.9文件的删除 17
5.10返回根目录 18
5.11退出 18
6.总结 18
参考文献 19
课程设计题目名称。
本课程设计要求设计一个模拟的多用户多级目录的文件系统。通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的理解。
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
visual c++6.0下的win32控制台程序,c语言。
在内存中申请1m的空间来模拟存取设备,空间划分为三部分,第一部分用来存放位示图,用于标识数据块的使用情况,第二部分放置一个文件索引的数据,用于快速的查找数据,第三部分放置数据信息,第三部分划分为512块,每块512b,其256k,放置在1m空间的最末端,由第三部分的大小可知,第一部分只需64b即可,中间的部分用来存放文件索引。其他用到的存储单元由系统分配。
typedef struct fb
unsigned fileblockid文件块编号。
unsigned block_size文件块的容量。
char *fileblockaddr文件块地址。
struct fb *next下一个文件块的地址。
fileblock;
typedef struct
unsigned index文件元素索引编号。
char filename[name_len文件元素名。
char parentname[name_len父节点名。
unsigned fileblockid文件元素所在物理块编号。
unsigned filelevel文件元素所在层次,层+文件元素。
名为一个文件元素逻辑位置。
unsigned effect是否有效,0-无效,1-有效。
fileindexelement;
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;
typedef struct
char *fsstart文件系统的起始地址。
unsigned superblocksize文件系统的容量。
bitmap bm文件系统中的位示图。
unsigned block_count文件系统中文件块的数量。
fileblock *head文件系统中文件块首地址。
fileindex fi文件系统中的文件索引。
superblock;
typedef struct
user currentuser当前用户。
unsigned filelevel用户所在文件系统层。
fselement *currparent当前层的父节点。
char *currentpath当前路径。
currentstatus;
操作系统课程设计
课程设计 河北大学工商学院。装。订。线。操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专 操作系统课程设计。题目 操作系统课程设计 学院工商学院 学部信息科学与工程 专业计算机类 学号 姓名。指导教师。年 6 月 24 日。设备管理 2 2.1设计任务2 2.2设计要求...
操作系统课程设计
银行家算法模拟。系别 班级 组员 银行家算法模拟。1.课程设计目的。通过本次课程设计,加深对最经典的避免死锁的银行家算法的理解,掌握死锁形成必要条件 安全状态等概念的理解,通过用c语言编程模拟该算法,并在windows平台上实现,更好地掌握操作系统的原理及实现方法。2.任务及要求。设n为系统进程的个...
操作系统课程设计
学生实习实训报告。实习类型 操作系统课程设计 学号 0901110005 学生姓名 田兴杰 指导教师 曹春梅 专业班级 信息安全技术0901班 院 部 电子信息系 2011年 1 月 7日。实习实训成绩评定表。目录。目录3 摘要4关键字4 1.1虚拟机简介5 1.1.1 一般意义的虚拟机5 1.1....