文件管理

245 阅读4分钟

《王道操作系统》学习笔记总目录+思维导图_BitHachi的博客

1. 文件的结构

1.1 逻辑结构

无结构文件

image.png

记录式文件

记录式文件是一组有序记录的集合,在记录式文件中,构成文件的基本单位是记录,如excel表
可分成定长记录式文件和不定长记录式文件两种。 在定长记录文件中,各个记录长度相等。在检索时,可以根据记录好i及记录长度L就可以确定该记录的逻辑地址。 在不定长记录文件中,各个记录长度不等,在查找是,必须从第一个记录起一个记录一个记录查找,直到找到所需要的记录。

1.2 物理结构

顺序结构

基本思想

把逻辑上连续的文件信息依次存放在连续编号的物理块中。 image.png

优点

一旦知道了文件在文件存储设备上的起始块号和文件长度,就能快速定位物理地址,支持顺序存取和随机存取。

缺点

文件不能动态增长,会产生碎片

链接结构

基本思想

为每个文件构造所使用磁盘表的链表,使用这种链接结构的文件,将逻辑上连续的文件分散存放在若干不连续的物理块中。在每个物理块中都设有一个指针,指向后续的物理块。 image.png

优点

解决存储碎片问题,有利于文件动态扩充,有利于文件插入和删除,提高了磁盘空间利用率。

缺点

只能顺序存取,存取速度慢,不适合随机存取

索引结构

基本思想

为每个文件创建一个文件索引表,存放每个物理盘块的指针字,索引表中第i个条目指向文件的第i块,要读某个文件的第i块,只需从文件索引表的第i个条目中得到该文件块的地址就行了。 image.png

优点

可以满足文件动态增长的要求,满足了文件插入、删除的要求,能充分利用内存空间

缺点

1.会引起较多的寻道次数和寻道事件
2.索引表本身过于庞大,可采用索引结构与顺序/链式结构相结合的方式或多级索引的方式解决。

2. 文件目录

2.1 目录组成

文件控制块(FCB)

每个文件都有一个FCB,FCB是文件存在的标志,记录了系统管理文件所需要的全部信息,如文件名、逻辑结构,物理结构...

  • 文件逻辑结构:指出该文件是流式文件还是记录式文件
  • 文件物理结构:表示该文件内部的物理结构是顺序文件、链接文件还是索引结构
  • 文件物理位置:记录了与文件在存储介质中的物理位置有关的信息。如果文件是链接结构,则该栏目中保存了该文件记录的首指针;如果是索引结构,则该栏目中保存了该文件的索引表地址。
  • 文件长度和记录大小:分别保存了文件的长度和每个物理块的大小

目录文件

多个文件的控制块集中在一起组成了文件的目录,目录以文件的形式保存起来,构成目录文件。

2.2 目录结构

一级目录结构

image.png

二级目录结构

image.png

多级目录结构(树形目录)

image.png

3. 磁盘分配与回收

位示图

简单的内存分配表可以用一张“位示图”构成。 利用遗传二进制位(bit)的值来访反应磁盘空间的分配情况。在位示图中,每一个磁盘中物理块用一个二进制位对应,0表示对应的内存块为空闲,1表示已占用
假设内存的可分配区域被分成256块,则可用字长为32位的8个字作为“位示图”。位示图中的每一位与一个内存块对应,每一位的值可以是0或1,0表示对应的内存块为空闲,1表示已占用

image.png

空闲块表

20200527094303480.png

空闲链表法

image.png image.png image.png

成组链接法

在这里插入图片描述
超级块的作用
在这里插入图片描述
如何分配?
需要1个空闲磁盘块
在这里插入图片描述
在这里插入图片描述
需要100个空心啊磁盘块
在这里插入图片描述
在这里插入图片描述
如何回收?
在这里插入图片描述
在这里插入图片描述
第二种情况,第一组已满
在这里插入图片描述
在这里插入图片描述