模拟二级文件的管理系统.doc
文本预览下载声明
青岛理工大学
操作系统课程设计报告
院(系): 计算机工程学院
专 业: 计算机科学与技术专业
学生姓名: OOOOOO __
班级: OOOOOOO 学号: OOOOOOOOO
题目: __ 模拟二级文件管理系统
起迄日期:
设计地点:
指 导 教 师: OOOOOOO
课程设计目的
通过研究Linux的文件系统结构,模拟设计一个简单的二级文件系统,第一级为主目录文件,第二级为用户文件。
进行操作系统课程设计主要是在学习操作系统课程的基础上,在完成操作系统各部分实验的基础上,对操作系统的整体进行一个模拟,通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。
课程设计内容与要求
设计要求
运行时根据输入的用户数目创建主目录
设定一个超级用户,可以查看整个二级文件系统结构
普通用户只能根据自己的用户名与密码访问自己的文件与共享的文件
能够实现下列命令:
Login 用户登录;Dir 列文件目录;Create 创建文件;Delete 删除文件
Open 打开文件;Close 关闭文件;Read 读文件;Write 写文件
系统能检查键入命令的正确性,出错时应能显示出错原因
创建文件时需设定文件保护码的内容
列目录时要列出文件目录、文件名、保护码(只执行、只读、只写、共享)和文件长度
不允许对打开的文件执行重复打开操作或执行删除操作
对于共享文件,除了文件的创建者,其他人只有查看权,不能进行写入与删除操作
对于文件的越权操作,要有相应的错误提示
设计内容
采用二级目录结构时,第一级为主文件目录MFD,第二级为用户文件目录UFD。假定系统可同时管理N个用户的文件,每个用户最多在磁盘上保存L个文件。约定用户把文件都组织成记录式文件,文件中每个记录都是定长的,文件在磁盘上的组织形式为链接结构。
用户名 用户文件目录 文件名 文件属性 记录长度 文件地址 整个系统只有一张主文件目录表,但有N张用户文件目录表。用户文件目录UFD中的“文件属性”规定文件的使用权限为“只执行”、“只读”、“只写”、“共享”,指组成该文件的逻辑记录长度,“文件地址”指文件存放在磁盘上的首块地址。
设计用户创建、用户删除、文件创建、文件删除、写文件、读文件等函数,对这个数据结构进行处理,并作出交互式界面。
系统分析与设计
系统分析
本次设计的“模拟二级文件管理系统”利用的是二级目录管理方式,分别由用户文件目录UFD(User File Directory)、主文件目录MFD(Master File Directory)构成。其中UFD由用户的所有文件块组成,在MFD中每个用户目录文件占用一个目录项,其中目录项中包含用户名、用户密码以及指向用户文件目录文件链表的指针。
用户文件目录项的基本信息包括基本信息、地址信息、访问控制信息、使用信息。
基本信息:文件名、文件属性(共享、只读、只写、只执行)
地址信息:文件长度(文件可容纳数据的最大量)、存放位置(在虚拟磁盘中的起始位置)
使用信息:文件使用状态(打开、关闭)
文件系统中文件管理的基本操作:
创建文件:创建一个新文件时,系统首先要为新文件申请必要的外存空间,并在用户文件目录UFD中为文件分配一个目录项。目录项中应记录新建文件的文件名、文件总容量、当前已经使用的容量、文件属性、文件在磁盘中的起始位置。
删除文件:当已不在需要某文件时,可将它从文件系统中删除。在删除时,首先在UFD的文件链表中找到与该文件对应的文件结点,然后确认文件是否处于关闭状态,若以上条件都满足,则系统就可以把结点从文件链表中删除,然后回收改结点对应的磁盘空间。
打开文件:只有处于打开状态的文件才能被读取、写入、重复关闭且不能被删除。
关闭文件:只有处于关闭状态的文件才能被删除,且不能被重复关闭。
列文件目录:普通用户只能获取自己建立的文件或其他用户共享的文件的列表;超级用户(管理员)可以查看所用户建立的文件列表。
写文件:用户可以把相关数据写入到用户自定义的文件中(磁盘上);待写文件必须处于打开状态,且不能是其他用户共享的文件。
读文件:用户可以把文件中存储的数据读取出来;待读
显示全部