文件管理(上)——天勤

179 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情

文件的操作

1.创建文件

分配外存空间,建立目录项

2.删除文件

删除目录项,释放其外存空间

3.读文件

文件名
读入内存的目标地址

4.写文件

读文件的逆过程

5.截断文件

放弃原有的文件内容(将原有文件的长度设置为0)

6.设置文件的读写位置

设置文件读/写指针的位置,以便每次读/写文件时,不是从其始端而是从所设置的位置开始操作。

7.文件的打开与关闭

文件的打开:是指系统将文件控制块从外存拷贝到内存打开文件表的一个表目中,并将该表目的编号返回给用户,以方便之后的文件操作
文件的关闭:将文件控制块从打开文件表目中删除。

文件的逻辑结构

定义:从用户观点出发所观察到的文件组织形式,它独立于文件的物理特性。

按记录长度分类:

1.定长记录文件
指记录个数不一定,记录长度固定,数据项长度,次序固定。
2.变长记录文件

按记录组织形式分类:

1.顺序文件

记录按某种顺序排列所形成的文件
1)串结构文件:按照记录添加的时间先后顺序排列
2)顺序结构文件:指文件中的所有记录按关键字排序,排序规则可以有很多种

顺序文件中的读写操作

既然要读写操作那么首先要寻址(首地址)

定长记录文件

某记录首址为A则下一个记录首址为A+L
第一个记录首地址为0,第n个记录首地址为(n-1)L,支持随机存取

变长记录文件:

只能一个个递推,不支持随机存取

顺序文件的优缺点

优点:便于对记录进行批量处理
缺点:查找效率低,增加或删除记录效率低

2.索引文件

给记录地址建立索引表(索引号,长度,指针: 指向每个记录首地址
每一个表项长度相等,索引表本质为一个定长记录顺序文件,因此索引文件支持随机存取

image.png

3.索引顺序文件(前两者方案混合)

定义:将顺序文件中的所有记录分为若干组,并建立一张索引表,在索引表中为每组中的第一个记录建立一个索引项,其中含有该记录的键值和指向该记录的指针。
image.png索引表按记录关键字键排序

目录管理

1.文件控制块(FCB)

一个文件控制块对应一个文件,文件控制块的有序集合称为文件目录,一个文件控制块就是一个文件目录项。

1)文件控制块包含的基本信息:

文件名,文件物理位置,文件逻辑结构和文件的物理结构

2)文件控制块包含的存取控制信息:

文件的存取权限,核准用户的存取权限以及一般用户的存取权限

3)文件控制块包含的文件使用信息

文件的建立日期和时间,文件上一次修改的日期和时间及当前使用信息

2.索引结点

image.png

image.png

3.目录结构

1)单级目录结构
2) 两级目录结构
3)树型目录结构
4)图型目录结构