操作系统课程设计报告--模拟UNIX文件系统的设计及实现.doc
文本预览下载声明
福建农林大学金山学院
计算机类
课程设计报告
课程名称: 操作系统 课程设计题目: 模拟UNIX文件系统的设计及实现 姓 名: 陈华实 系: 信息与机电工程系 专 业: 计算机科学与技术 年 级: 2009 学 号: 092231044 指导教师: 方艳 职 称: 讲师
2011-2012学年 第一学期
福建农林大学金山学院计算机类
课程设计结果评定
评价内容 评价指标 评分权值 评定成绩 设计的可用性,实用性,通用性,可扩充性 有扎实的基础理论知识和专业知识,能正确设计实验方案;掌握设计课题的基本步骤和方法;独立进行实验工作;对系统进行功能模块分析、控制模块分析正确;编程简练,可用,功能全面; 0.4 设计报告
写作质量 系统说明文档包括系统界面、变量说明、系统功能说明、编程算法或思路、流程图和完整程序;综合分析的正确性和设计、计算的正确性;文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确; 0.4 工作量、系统实现的难度 工作量饱满,难度较大; 0.1 工作态度 按期完成规定的任务,工作努力,遵守纪律;工作作风严谨务实 0.1 合 计 1.0 指导教师签字: 任务下达日期:2011.12.2 评定日期:
目 录
1. 课程设计内容 1
2. 概述 1
3. 课程设计任务及要求 1
3.1. 设计任务 1
3.2. 设计要求 2
4. 算法及数据结构 2
4.1. 算法的总体思想 2
4.2. 系统总体框架图 3
4.3. 系统总体流程图 4
4.4. 各模块功能说明 4
4.5. 该文件系统的数据结构和申明函数 6
5. 程序设计与实现 8
5.1. 主要函数列表 8
5.2. 函数之间的关系 9
5.3. 程序流程图 10
5.4. 源程序 16
6. 使用说明 33
7. 结论、问题及解决办法 37
8. 收获与体会 39
模拟UNIX文件系统的设计及实现
课程设计内容
多用户的多级目录的文件系统设计。
概述
UNIX采用树型目录结构,每个目录表称为一个目录文件。
一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下:
0# 1# 2# … K# K+1# K+2# K+3# … n#
本次课程设计是要实现一个简单的模拟UNIX文件系统。我们在内存中开辟一个虚拟磁盘空间(1MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。
课程设计任务及要求
设计任务
多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令
login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 quit 退出文件系统 设计要求
1) 多用户 :usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录;
3) 具有login (用户登录) 4) 系统初始化(建文件卷、提供登录模块)
5) 文件的创建:create (用命令行来实现) 6) 文件的打开:open
7) 文件的读:read 8) 文件的写:write
9) 文件关闭:close 10) 删除文件:delete
11) 创建目录(建立子目录):mkdir 12) 改变当前目录:cd
13) 列出文件目录:dir 14) 退出:logout
新增加的功能:
15) 删除目录树:rd
16) 格式化文件系统:format
算法及数据结构
算法的总体思想
本课程设计是要求我们模拟UNIX文件系统功能设计一个虚拟文件系统,依据UNI
显示全部