当前位置:文档之家› (完整word版)多用户多级目录文件系统的实现报 告

(完整word版)多用户多级目录文件系统的实现报 告

课程设计报告设计题目:多用户多级目录文件系统的实现班级:计算机1208班组长学号:20124016组长姓名:樊荣指导教师:冯时设计时间:2015年7月设计分工组长学号及姓名:20124016 樊荣分工:文件建立、文件删除、文件查看、文件填写、主函数组员1学号及姓名:20124020 李鑫分工:目录建立、目录删除、查看目录组员2学号及姓名:20124032 杨学良分工:用户登录、创建用户、删除用户摘要文件是具有文件名的一组关联信息的集合,通常文件由若干个记录组成。

文件系统是操作系统与管理文件有关的软件和数据集合。

从用户的角度看,文件系统实现“按名存取”。

从系统的角度看,文件系统是对文件存储器的存储空间进行组织、分配负责文件的存储并对存入的文件实施保护、检索的一组软件集合。

文件系统模型可以分为三个层次:底层是对象及其属性(文件、目录和磁盘存储空间);中间层是对对象的进行操作和管理的软件集合(核心部分);最高层是文件系统提供给用户的接口。

为使用户能灵活方便地使用和控制文件,文件系统提供了一组进行文件操作的系统调用:建立文件、删除文件、打开文件、关闭文件、读文件和写文件。

关键词:操作系统,文件系统,……目录摘要1 概述·····························································2 课程设计任务及要求············································2.1 设计任务···········································2.2 设计要求···········································3. 算法及数据结构···············································3.1 算法的总体思想(流程)······························3.2 登陆模块3.2.1 功能3.2.2 数据结构3.2.3 算法3.3 用户创建模块3.3.1功能3.3.2 数据结构3.3.3算法3.4 用户删除模块3.4.1功能3.4.2 数据结构3.4.3算法3.5 文件创建模块3.5.1功能3.5.2 数据结构3.5.3算法3.6 文件删除模块3.6.1功能3.6.2 数据结构3.6.3算法3.7 文件打开模块3.7.1功能3.7.2 数据结构3.7.3算法3.8 目录创建模块3.8.1功能3.8.2 数据结构3.8.3算法3.9 目录删除模块3.9.1功能3.9.2 数据结构3.9.3算法4. 程序设计与实现4.1 程序流程图4.2 程序说明4.3 实验结果5. 结论6. 参考文献。

7. 收获、体会和建议。

1 概述文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。

操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。

从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。

具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

本次实验我们实现了多级目录下的文件管理系统,具备文件系统的文件创建、删除、读写以及目录的创建、删除等操作,并在内存中开辟一块空间,模拟虚拟磁盘,成功地展示出文件系统的功能和属性。

2 课程设计的任务和要求2.1 设计任务在下列内容中任选其一:1、多用户、多级目录结构文件系统的设计与实现;2、WDM驱动程序开发;3、存储管理系统的实现,主要包括虚拟存储管理调页、缺页统计等;4、进程管理系统的实现,包括进程的创建、调度、通信、撤消等功能;5、自选一个感兴趣的与操作系统有关的问题加以实现,要求难度相当。

2.2 设计要求1、在深入理解操作系统基本原理的基础上,对于选定的题目,以小组为单位,先确定设计方案;2、设计系统的数据结构和程序结构,设计每个模块的处理流程。

要求设计合理;3、编程序实现系统,要求实现可视化的运行界面,界面应清楚地反映出系统的运行结果;4、确定测试方案,选择测试用例,对系统进行测试;5、运行系统并要通过验收,讲解运行结果,说明系统的特色和创新之处,并回答指导教师的提问;6、提交课程设计报告。

集体要求:1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。

2.文件物理结构可采用显式链接或其他方法。

3.磁盘空闲空间的管理可选择位示图或其他方法。

如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。

4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。

目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。

5.设计一个较实用的用户界面,方便用户使用。

要求提供以下相关文件操作:(1)具有login (用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建: create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete(9)创建目录(建立子目录):mkdir(10)改变当前目录:cd(11)列出文件目录:dir(12)退出:logout3 算法及数据结构3.1 算法总体思想(流程)流程图如下:开始是否格式化VFS ?清空文件内容是从文件读出数据否初始化数据结构C=1?管理员登陆模块是C=2?否用户登录模块是C=3?否保存信息入文件是提示错误,重新输入否结束输入选择c3.2 登录模块3.2.1功能完成用户及管理员登陆的功能,要保证用户名必须和密码匹配,否则不能登陆成功,同时对于不存在的用户的登陆请求退回,由于用户和管理员登陆后功能项不同,要分开处理。

3.2.2数据结构class Cdisk{ //管理员类public:Cuse user[5]; //用户个数最多为5char code[10];char name[10];int dis_disk();int first_dele_user();int dele_user(int);int new_user(); //查看当前用户与外存空间使用情况,后创建新用户int set_code(); //设置新密码int login(char); //登陆Cdisk();virtual~Cdisk(); //虚函数,析构};3.2.3算法流程图如图3.2.1、图3.2.2管理员开始输入账号a,输入密码b !strcmp (a,默认账号)?提示没有该账号否!strcmp(b,默认密码)?是提示密码错误否登陆成功,显示管理员权限是结束图3.2.1用户登陆开始用户列表为空?检索当前用户列表匹配成功?输入账号、密码输入账号a 、密码bUser[i].set_use(a,b);账号注册成功进入用户界面是提示相应错误信息结束图3.2.23.3用户创建模块3.3.1功能完成创建用户的功能,要求用户满后不能继续创建,用户名和密码匹配进行保存。

相关主题