版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课 程 设 计 报 告设计题目:多用户多级目录文件系统的实现班 级:计算机1208班组长学号:20124016组长姓名:樊 荣指导教师:冯 时设计时间:2015年7月设计分工组长学号及姓名:20124016 樊荣分工:文件建立、文件删除、文件查看、文件填写、主函数组员1学号及姓名:20124020 李鑫分工:目录建立、目录删除、查看目录组员2学号及姓名:20124032 杨学良分工:用户登录、创建用户、删除用户 摘 要 文件是具有文件名的一组关联信息的集合,通常文件由若干个记录组成。文件系统是操作系统与管理文件有关的软件和数据集合。从用户的角度看,文件系统实现“按名存取”。从系统的角度看,文件
2、系统是对文件存储器的存储空间进行组织、分配负责文件的存储并对存入的文件实施保护、检索的一组软件集合。 文件系统模型可以分为三个层次:底层是对象及其属性(文件、目录和磁盘存储空间);中间层是对对象的进行操作和管理的软件集合(核心部分);最高层是文件系统提供给用户的接口。 为使用户能灵活方便地使用和控制文件,文件系统提供了一组进行文件操作的系统调用:建立文件、删除文件、打开文件、关闭文件、读文件和写文件。关键词:操作系统,文件系统, 目 录摘要 1 概述 ···
3、183;·················································
4、183;······· 2 课程设计任务及要求········································
5、183;··· 2.1 设计任务··········································· 2.2 设计要求
6、183;··········································3. 算法及数据结构·····
7、3;········································· 3.1 算法的总体思想(流程)······
8、························ 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
9、 文件删除模块 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的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责
10、管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。 本次实验我们实现了多级目录下的文件管理系统,具备文件系统的文件创建、删除、读写以及目录的创建、删除等操作,并在内存中开辟一块空间,模拟虚拟磁盘,成功地展示出文件系统的功能和属性。 2 课程设计的任务和要求2.1 设计任务 在下列内容中任选其一:1
11、、多用户、多级目录结构文件系统的设计与实现;2、WDM驱动程序开发;3、存储管理系统的实现,主要包括虚拟存储管理调页、缺页统计等;4、进程管理系统的实现,包括进程的创建、调度、通信、撤消等功能;5、自选一个感兴趣的与操作系统有关的问题加以实现,要求难度相当。2.2 设计要求1、在深入理解操作系统基本原理的基础上,对于选定的题目,以小组为单位,先确定设计方案;2、设计系统的数据结构和程序结构,设计每个模块的处理流程。要求设计合理;3、编程序实现系统,要求实现可视化的运行界面,界面应清楚地反映出系统的运行结果;4、确定测试方案,选择测试用例,对系统进行测试;5、运行系统并要通过验收,讲解运行结果,
12、说明系统的特色和创新之处,并回答指导教师的提问;6、提交课程设计报告。集体要求:1 在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。2 文件物理结构可采用显式链接或其他方法。3 磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。4 文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。5 设计一个较实用的用户界面,方便用户使用。要求提供以下相
13、关文件操作:(1)具有login (用户登录)(2)系统初始化(建文件卷、提供登录模块)(3)文件的创建: create(4)文件的打开:open(5)文件的读:read(6)文件的写:write(7)文件关闭:close(8)删除文件:delete (9)创建目录(建立子目录):mkdir(10)改变当前目录:cd(11)列出文件目录:dir(12)退出:logout 3 算法及数据结构3.1 算法总体思想(流程) 流程图如下: 3.2 登录模块3.2.1功能完成用户及管理员登陆的功能,要保证用户名必须和密码匹配,否则不能登陆成功,同时对于不存在的用户的登陆请求退回,由于用户和管理员登陆后功
14、能项不同,要分开处理。3.2.2数据结构class Cdisk/管理员类public:Cuse user5;/用户个数最多为5char code10;char name10;int dis_disk();int first_dele_user();int dele_user(int);int new_user();/查看当前用户与外存空间使用情况,后创建新用户int set_code();/设置新密码int login(char);/登陆Cdisk();virtualCdisk();/虚函数,析构;3.2.3算法流程图如图3.2.1、图3.2.2 图3.2.1 图3.2.23.3用户创建模块
15、3.3.1功能完成创建用户的功能,要求用户满后不能继续创建,用户名和密码匹配进行保存。 3.3.2数据结构 同上一模块,兹不赘述。 3.3.3 算法流程图如图3.3 图3.33.4用户删除模块 3.4.1功能 删除保存的用户,以用户名作为选择项进行删除。3.4.2数据结构同上,兹不赘述。3.4.3算法流程图如下: 图3.43.5文件创建模块 3.5.1功能开辟空间创建一个新的字符文件,要求创建时说明文件的大小,文件名,并输入文件的内容。3.5.2数据结构typedef struct UFD/存储文件信息char name10;/文件名int attribute;/属性int length;/长
16、度int a10;/为文件本身分配10个空间int *p1;/一级索引,100个空间int (*p2)100;/二级索引,100*100个空间struct UFD *next;UFD;3.5.3算法流程图如下: 图3.53.6文件删除模块 3.6.1功能 以文件名作为选择项删除文件,要求文件所有相关的信息全部删除。3.6.2数据结构同上一模块,兹不赘述。3.6.3算法流程图如下: 图3.63.7文件打开模块 3.7.1功能 以文件名作为搜索项,打开文件,查看文件中存储的字符。 3.7.2数据结构同上一模块,兹不赘述。 3.7.3算法 图3.73.8目录创建模块 3.8.1功能 创建目录,要求有
17、目录名,目录本身不开辟空间,目录大小由目录下文件和子目录大小决定,可以创建多级子目录,在目录下创建即为当前目录的子目录。3.8.2数据结构typedef struct DIR/存储目录信息DIR* above;/上一结点char name10;int length;DIR *next;/下一结点UFD *File_head;/此目录下的文件指针DIR *Dir_head;/此目录下目录链表指针DIR; 3.8.3算法流程图如下: 图3.83.9目录删除模块 3.9.1功能 根据目录名删除选中的目录及其中的内容,选中目录均在当前目录下,删除时目录中的子目录和文件一并被删除,直接回收目录对应的所有
18、存储块。 3.9.2数据结构同上一模块,兹不赘述。 3.9.3算法流程图如下: 图3.9 4 程序的设计与实现4.1程序流程图 诸如上个模块,兹不赘述。4.2程序说明 系统初始化(建文件卷、提供登录模块) for(i=0;i<10000;i+)/初始化所有磁盘块为空闲 disk_blocki=0; disk_empty=10000;int Cdisk:login(char b)/登陆文件的创建:int Cuse:new_file()/建立新文件 文件的打开:openint Cuse:open_file()/打开文件 文件删除:int Cuse:first_dele_file()/删除文件
19、的前面工作 int Cuse:dele_file(UFD *f)/具体实现删除文件 文件的读:int Cuse:dis_file()/查看文件 创建目录(建立子目录):int Cuse:new_dir()/建立新目录 查看当前目录:int Cuse:dis_dir(DIR *d)/显示目录 int Cuse:dis_now()/显示当前目录 DIR *Cuse:get_now()/得到当前目录路径 删除目录:int Cuse:first_dele_dir()/删除目录的前奏 int Cuse:dele_dir(DIR *p)/具体实现删除目录的工作 返回上一级目录:int Cuse:goback()/向上返回 退出:在主菜单中用flag标记实现4.3运行结果 进入。 管理员登录: 创建用户: 用户登录: 创建文件: 创建目录打开文件 5 结论 完成了课程设计的基本要求,实现了多用户 :usr1, , usr8 (1-8个用户)多级目录:可有多级子目录,具有login (用户登录), 系统初始 文件的读:read文件的写:write,文件关闭:close,删除文件:delete,创建目录:mkdir,改目录:chdir,列出文件目录:dir,退出:logou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽涉外经济职业学院《英国文学简史》2025-2026学年期末试卷
- 运城学院《政策与法律法规》2025-2026学年期末试卷
- 厦门海洋职业技术学院《药学史》2025-2026学年期末试卷
- 管综考研试题大题及答案
- 钛渣冶炼工常识知识考核试卷含答案
- 船舶电气钳工风险评估与管理能力考核试卷含答案
- 室内装潢设计咨询公司工作总结报告
- 有色金属熔池熔炼炉工安全培训效果评优考核试卷含答案
- 溶剂发酵工操作技能竞赛考核试卷含答案
- 加气混凝土钢筋工操作能力强化考核试卷含答案
- 2025年宣城市广德县辅警招聘考试题库附答案解析
- 2026年咨询工程师咨询宏观经济考前冲刺重点知识考点总结笔记
- 中学生防诈骗安全课件
- 2025年青岛市中考生物试卷真题(含答案)
- 2025年商用车融资租赁行业分析报告及未来发展趋势预测
- 货运企业超限超载安全培训内容课
- 2024-2025学年山西省临汾市七年级下学期期中语文试题
- 防汛防洪知识培训课件
- 主管护师《专业知识》考试真题及答案(2025年新版)
- 《数据可视化技术》全套教学课件
- 苏科版八年级物理上册 第一章《声现象》章节检测卷及答案
评论
0/150
提交评论