操作系统概念(高等教育出版社,第七版)复习——第十一章:文件系统实现

来源:互联网 发布:sql 合计列 编辑:程序博客网 时间:2024/06/02 01:05

第十一章 文件系统实现

基础知识

文件系统实现(超重点)

一个磁盘可分为多个分区,或者一个卷可横跨多个磁盘上的数个分区。分区可以是“生的”,即没有文件系统,也可以是“熟的”,即含有文件系统。

目录实现

线性列表、哈希表

分配方法

连续分配:每个文件在磁盘上占有一个连续的块。

链接分配:每个文件是磁盘块的链表,磁盘块分布在磁盘的任何一个地方,目录包括文件的第一块的指针和最后一块的指针。

索引分配:通过把所有指针放在一起(即通过索引块)来解决。

链接分配的变种:建立文件分配表(FAT)。通过多备份几个FAT来增强可靠性。

链接分配提高了连续分配的外部碎片和大小声明的问题。

索引分配提高了链接分配的可靠性。

索引分配包括链接方案、多层索引、组合方案。

空闲空间管理

位向量、链表、组、计数

位向量(位图)

如果一块为空闲,那么其位为1,如果一块已分配,其位为0.

第一个空闲块=(值为0的字数)×(一个字的位数)+第一个值为1的位的偏移

链表

通过链表将空闲空间连接起来

组(grouping)

将n个空闲块的地址存在第一个空闲块中。这些块中前n-1块个确实为空,而最后一块包含另外n个空闲块的地址。

计数

记录第一块的地址和紧跟第一块的连续的空闲块的数量n

效率与性能

课后作业

2.

优点:根据指针可以找到位置,简单有效。

缺点:如果不缓存会导致大量的磁头寻道时间。

 

6.

连续分配:

a. 初始地址加逻辑地址等于物理地址

b. 1

链接分配:

a. 根据链表依次寻找

b. 4

索引分配:

a. 获取指向物理地址的指针

b. 2

 

10.

日志文件系统可防止系统崩溃时导致的数据不一致问题。对文件系统元数据的更改都被保存在一份单独的日志里,当发生系统崩溃时可以根据日志正确地恢复数据。除此之外,日志使系统重新启动时不必进行文件系统的检查,从而缩短了恢复时间。

思考题

文件系统的目录实现:

线性表:简单;查找需要线性搜索,费时

哈希表:搜索快;会出现冲突;依赖哈希表大小、哈希函数

 

说明几种文件分配方式的思想、特点:

连续分配:

简单,可以随机存取,速度快,适合文件系统不变动的情况,有外部碎片会浪费空间,文件不能变大

链接分配:

简单,没有外部碎片,创建时无需声明所需空间,需要空间存储指针,不能随机存取,可靠性低

索引分配:

随机存取,创建时无需声明所需空间,没有外部碎片,浪费空间,索引块的指针开销通常大于链接分配的指针开销

 

说明几种磁盘空闲空间的管理方法的思想及特点(优点及缺点):

位向量:

位示图空闲为1,已分配为0,存储在磁盘上,检索时装入主存;或放在超级块中。

简单,容易获得连续文件,效率低。

链表:

链表的头放在超级块中。

不易得到连续空间,不占用额外磁盘空间。

组:

建立一个类似于分区内存管理中的分区表;每个表项记录第一块的地址和与第一块连续的空闲块的数量。

容易找到连续的空间,需要额外的空间。

计数:

需要额外空间(磁盘上有一个“空闲盘块表”);为磁盘上的每个空闲连续存储空间中的磁盘块建立一个表项。

适合连续文件空间的连续分配。

 

为提高文件系统的性能,可采用哪些措施:

磁盘cache

同步读写与异步读写结合

优化顺序访问

采用立即释放与提前预读顺序

让磁盘块在内存中驻留足够长时间

通过将内存部分作为虚拟磁盘或RAM磁盘来提高PC性能

尽量减少磁盘的访问频率

阅读全文
0 0