没有合适的资源?快使用搜索试试~ 我知道了~
操作系统实验五-文件系统.docx
资源推荐
资源详情
资源评论
操作系统实验五-文件系统
计算机科学与技术学院
2018-2019 学年第一学期
《 操作系统》实验报告
班级: XXXXXXX
学号: XXXXXXXXX
姓名: XXX
教师: XXX
成绩:
1. 题目分析
操作系统实验五-文件系统
1.1 设计目的
深入了解磁盘文件系统的实现。
1.2 设计内容
(1)设计一个简单的文件系统,用文件模拟磁盘,用数组模拟缓冲区,要求实
现:
(2)支持多级目录结构,支持文件的绝对读路径;
(3)文件的逻辑结构采用流式结构,物理结构采用链接结构中的显示链接方式;
(4)采用文件分配表;
(5)实现的命令包括建立目录、列目录、删除空目录、建立文件、删除文件、
显示文件内容、打开文件、读文件、写文件(追加方式)、关闭文件、改变文件
属性。
(6)最后编写主函数对所做工作进行测试。
1.3 相关知识概述
(1)文件的操作:①创建文件;②删除文件;③读文件;④写文件;⑤设置文
件读/写位置。
(2)文件的逻辑结构:从用户的观点出发所能观察到的文件组织形式,即问价
是由一系列的逻辑记录组成的,是用户可以直接处理的数据及其结构。
文件的物理结构:系统将文件存储在外存上所形成的一种存储组织形式,用
户不可见。
(3)磁盘空间的管理:采取合理的文件分配方式,为每个文件分配必要的存储空
间,使每个文件都能“各得其所”,并能有效减少磁盘碎片。
(4)磁盘目录结构
2. 实验设计
2.1 基本设计思路
用一个文件模拟磁盘:
操作系统实验五-文件系统
FAT
根
目
录
目
录
1
目
录
2
目
录
3
目
录
4
…
文
件
1
文
件
2
…
文件分配表 FAT(128B):
第几项
0
1
2
3
4
5
6
7
8
9
…
内容
-1
-1
-1
4
9
0
7
8
-1
12
…
根目录(64B)
目录 1(64B)
目录 6(64B)
目录 n
……….
实验中,模拟的磁盘有 128 块,每块 64B,故文件分配表有 128 项,每项 3 一个
字节,共占磁盘的前两块,盘块编号 0、1;根目录紧邻在文件分配表后面,占
编号为 2 的盘块。
0
1
2
3
4
5
6
7
8
9
10
11
12
8B
8B
8B
8B
8B
8B
8B
8B
操作系统实验五-文件系统
文件管理系统要实现的功能包括:
(1)磁盘操作:
①磁盘分配
(2)目录操作:
①建立目录
②显示目录内容
③删除空目录
(3)文件操作:
①建立文件
②打开文件
③关闭文件
④读文件
⑤写文件
⑥删除文件(磁盘回收)
⑦显示文件内容
⑧改变文件属性
⑨使用绝对路径名查找文件
(4)对数据结构——已打开文件表的操作:
①在已打开文件表中查找某文件
②将文件从已打开文件表中删除
③将某文件插入已打开文件表
2.2 主要数据结构描述
1、每个目录项的数据结构(8B):
typedef struct
{
char name[3]; // 文件/目录名
char type[2]; //文件类型 目录未使用字节(填充空格)
int attribute;//属性
操作系统实验五-文件系统
int startnum; //起始盘块号
int length; //文件长度 目录未使用字节(填充 0)
}DF_item;
2、已打开文件表项类型:
typedef struct {
char name[20]; //文件绝对路径名
char attribute; //文件的属性,用 1 个字节表示,所以采用 char 类型
int number; //文件起始盘块号
int length; //文件长度,文件占用的字节数
int flag; //操作类型,用 “0”表示以读操作方式开文件,用“1”表示写操
作方式打开文件
pointer read; //读文件的位置,文件打开时 dnum 为文件起始盘块号,bnum 为
“0”
pointer write; //写文件的位置,文件刚建立时 dnum 为文件起始盘块号,bnum
为“0”,打开文件时 dnum 和 bnum 为文件的末尾位置
}OFILE;
3、已打开文件登记表:
struct{
OFILE file[n]; //已打开文件登记表
int length; //已打开文件登记表中登记的文件数量
}openfile;
剩余32页未读,继续阅读
资源评论
是空空呀
- 粉丝: 173
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功