模拟实现unix文件管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
计算机发展到今天,从个人计算机到巨型计算机系统,毫无例外都配置一种或是多种操作系统。操作系统管理和控制计算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并且为用户提供一个良好的工作环境和友好的接口。
在计算机操作系统的功能中,对文件存储设备的管理是一项非常重要的任务,文件在存储器上按一定的顺序有组织地存放,使得用户访问高效,操作方便。
UNIX文件系统采用SFD和BFD方式管理文件:SFD称为符号文文件目录,存放文件名以及致使该文件说明信息表标识符ID;把存放文件说明信息和相应标识符的BFD称为i节点。UNIX文件系统将存储设备分为引导块、超级快、i节点区、目录和数据区四个存储区。引导块主要是为了存储引导系统启动的数据;超级块描述文件系统的状态,包括磁盘空闲块栈,空闲i结点栈;i节点区存放文件说明信息,每项32字节;目录和数据每个目录项16字节,文件名区分大小写。
在界面上我们使用MFC可视化设计,将实现的代码加载到MFC界面中,在响应鼠标消息的函数中调用实现模拟系统设计的代码,这样最后的操作是在Windows界面的操作,响应鼠标的命令。界面美好,操作方便。
关键词:操作系统,文件系统,UNIX文件系统模拟
摘要
目录
1. 概述 (6)
2. 课程设计任务及要求 (6)
2.1 设计任务 (6)
2.2 设计要求 (7)
3. 算法及数据结构 (7)
3.1算法的总体思想(流程) (8)
3.2 i节点模块 (8)
3.2.1功能
3.2.2 数据结构
3.2.3算法
3.3 装入和退出系统模块 (11)
3.3.1功能
3.3.2算法
3.4用户登录注销模块 (14)
3.4.1 功能
3.4.2 数据结构及流程图
3.4.3 算法
3.5 目录管理模块 (16)
3.5.1功能
3.5.2 数据结构及流程图
3.3.3算法
3.6 创建删除文件模块 (19)
3.6.1功能
3.6.2 数据结构及流程图
3.6.3算法
3.7 文件模块 (21)
3.7.1功能
3.7.2 数据结构及流程图
3.7.3算法
4. 程序设计与实现 (24)
4.1 程序流程图
4.2 程序说明
4.3 实验结果
5. 结论 (28)
6. 参考文献 (29)
7. 收获、体会和建议 (29)
1.概述
UNIX文件系统采用SFD和BFD方式管理文件。SFD称为符号文件目录,存放文件名以及致使该文件说明信息表标识符ID。把存放文件说明信息和相应标识符的BFD称为i节点。i节点又分为磁盘i节点和内存i节点。目录表目中仅包含文件名和指向另一个数据块的指针-i节点号。就可以通过这些i节点访问文件或是到另一个目录。文件采用二级指针模块,可以存储大文件。超级块结构采用成组块链接法,管理着磁盘的空闲块。系统启动时的初始化是读磁盘的超级块到内存,可以操作和管理目录和文件数据,既是管理了磁盘块,同时读入根目录到内存作为当前操作目录,之后就可以访问到其他任意目录树的地方。
模拟UNIX文件系统程序设计。首先要了解UNIX文件系统的结构和管理方法,建立数据结构,组织数据,通过概要设计出大体流程,然后细化完善每一个功能模块,先底层后表层,边写代码边测试,保证完成的每一个模块代码的无错性。最后将完成的代码加到界面中。
2. 课程设计任务及要求
2.1 设计任务
模拟实现UNIX的文件系统,多用户、多级目录结构文件系统的设计与实现模拟实现UNIX的文件系统
2.2 设计要求
1、在深入理解操作系统基本原理的基础上,对于选定的题目,以小组为单位,先确定设计方案;
2、设计系统的数据结构和程序结构,设计每个模块的处理流程。要求设计合理;
3、编程序实现系统,要求实现可视化的运行界面,界面应清楚地反映出系统的运行结果;
4、确定测试方案,选择测试用例,对系统进行测试;
5、运行系统并要通过验收,讲解运行结果,说明系统的特色和创新之处,并回答指导教师的提问;
6、提交课程设计报告。
3. 算法及数据结构
3.1算法的总体思想(流程)
3.1.1总体设计思想:
利用内存的一段空间模拟unix的文件系统的实现。设计结构体数组存放用户信息。设计文件和目录通用的结构体,用一个字段标识是文件或目录,每个文件均有一个字段对应其所占用的数据块。创建文件时通过搜索数据块位示图查找第一个空闲的数据块供文件使用。建立文件后对占用的数据块对应的位示图的位进行置位操作。删除文件时要释放对应的数据块,对数据块相应的位示图进行清零操作。对文件的内容的读写都是对该文件数据块对应的一段内存空间内容的读写。
文件卷的组织:将文件卷分块、用位示图来管理或成组块链;块的大小可设成512字节,i节点区块数为32块;数据区块数为512块。(如下图结构)。
引导区:系统的引导位置,在此设计中没有设计对引导区的操作。
超级块:描述文件系统的状态,包括磁盘空闲块栈,空闲i结点栈。在程序设计中实质是存储一个数据结构的数据。
i节点:存放文件说明信息,每项32字节,这个区域有32块,每块512字节,也就是可以存储512个i节点。在UNIX系统中,索引文件或是目录都是通过先索引i节点,通过i节点找到对应的目录或是文件数据块。
目录和文件:每个目录项16字节,文件名区分大小写。
3.1.2 总体实现算法:
1)进入模拟文件系统VFS;