操作系统磁盘存储器管理知识点
对磁盘存储器管理的主要任务和要求
- 有效地利用存储空间
- 提高磁盘的I/O速度
- 提高磁盘系统的可靠性
外存的组织方式
- 连续组织方式(连续分配方式)
- 概述
- 定义
连续组织方式要求为每一个文件分配一组相邻接的盘块 - 记录方法
在目录项的“文件物理地址”字段中记录该文件第一个记录所在的盘块号和文件长度(以盘块为单位)
- 定义
- 优点
- 顺序访问容易
- 顺序访问速度快,磁头的移动距离最少
- 缺点
- 要求为一个文件分配连续的存储空间;且易产生许多外部碎片
- 必须事先知道文件的长度
- 不能灵活地删除和插入记录
- 文件长度不宜动态增加
- 概述
- 链接组织方式
- 隐式链接
- 注意事项
在文件目录的每个目录项中,都须含有指向链接文件第一个盘块和最后一个盘块的指针 - 缺点
无法直接访问盘块且稳定性差
- 注意事项
- 显式链接
- 定义
把用于链接文件各物理块的指针显式地存放在内存的一张链接表中,记为文件分配表FAT。文件分配表在整个磁盘中仅设置一张 - 优点
不仅显著地提高了检索速度,而且大大减少了访问磁盘的次数
- 定义
- 链接组织方式优点
- 消除了磁盘的外部碎片,提高了外存的利用率
- 对插入、删除和修改记录都非常容易
- 能适应文件的动态增长,无需事先知道文件的大小
- 链接组织方式缺点
- 不支持高效的直接存取
- FAT需占用较大的内存空间
- 隐式链接
- 索引组织方式
- 单级索引组织方式
- 索引分配方法
把每个文件的所有盘块号都记录在一个索引块(表)中 - 优点
- 支持直接访问
- 不会产生外部碎片
- 缺点
- 对于小文件采用索引分配方式时,其索引块的利用率将是极低的
- 索引表增加存储空间开销,索引表的查找方法影响文件系统的效率
- 索引分配方法
- 多级索引组织方式
- 概述
多层索引使第一层索引块指向第二层索引块,第二层索引块再指向操盘空间的盘块。文件过大时,还可以指向第三层索引…… - 优点
大大加快了对大型文件的查找速度 - 缺点
在访问一个盘块时,其所需启动磁盘的次数随着索引级数的增加而增多
- 概述
- 增量式索引组织方式(混合组织方式)
增量式索引组织方式既采用了直接寻址方式,又采用了单级和多级索引组织方式(间接寻址)
- 单级索引组织方式
文件存储空间的管理
- 空闲表法和空闲链表法
- 空闲表法
-
空闲表
空闲表法属于连续分配方式,系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应于一个空闲表项
-
存储空间的分配与回收
空闲盘区的分配同样是采用首次适应算法和最佳适应算法等算法
-
- 空闲链表法
空闲链表法是将所有空闲盘区拉成一条空闲链。根据构成链所用基本元素的不同,可把链表分成:- 空闲盘块链
- 优点
用于分配和回收一个盘块的过程非常简单 - 缺点
在为一个文件分配盘块时,可能要重复操作多次,分配和回收的效率较低
以盘块为单位,相应的空闲盘块链会很长
- 优点
- 空闲盘区链
- 优点
分配和回收的效率可能较高,每次为文件分配多个连续的块,且空闲盘区链较短 - 缺点
分配与回收的过程比较复杂
- 优点
- 空闲盘块链
- 空闲表法
- 位示图法
-
位示图
位示图是利用二进制的一位来表示磁盘中一个盘块的使用情况。当其值为“0”时,表示对应的盘块空闲;为“1”时,表示已分配
-
盘块的分配
根据位示图进行盘块分配的步骤如下:- 顺序扫描位示图,从中找出一个或一组其值为“0”的二进制位
- 将所找到的一个或一组二进制位转换成与之相应的盘块号。假定找到的其值为“0”的二进制位位于位示图的第i行、第j列,则其相应的盘块号应按下式计算
b = n ( i - 1 ) + j,式中,n代表每行的位数。 - 修改位示图,令
map[i,j] = 1
-
盘块的回收
根据位示图对盘块进行回收的步骤如下:- 将回收盘块的盘块号转换成位示图中的行号和列号。转换公式为
i = (b - 1) DIV n + 1,j = (b - 1) MOD n + 1 - 修改位示图。令
map[i,j] = 0
- 将回收盘块的盘块号转换成位示图中的行号和列号。转换公式为
-
优点
- 从位示图中很容易找到一个或一组相邻接的空闲盘块
- 由于位示图占用空间少,因而可将它保存在内存中,进而节省了许多磁盘的启动操作
-
- 成组链接法
成组链接法是空闲表和空闲链表的结合,适合与大型文件系统中
提高磁盘 I/O 速度的途径
- 为了提高对文件的访问速度,从三方面入手
- 改进文件的目录结构以及检索目录的方法来减少对目录的查找时间
- 选取好的文件存储结构,以提高对文件的访问速度
- 提高磁盘的I/O速度,能将文件中的数据快速地从磁盘传送到内存中
- 采用磁盘高速缓存
- 提高磁盘 VO 速度的其他方法
- 提前读
- 延迟写
- 优化物理块的分布
- 使用虚拟盘
- 廉价磁盘冗余阵列(RAID)
- RAID 的分级
- RAID 0级
- 将数据分块,即把数据分布到多个盘上
- 无冗余校验功能
- RAID 1级
- 具有磁盘镜像功能,可利用并行读、写特性,将数据分块同时写入主盘和镜像盘
- 可靠性好,且从故障中恢复很简单
- 磁盘容量的利用率只有50%
- RAID 3级
- 具有并行传输功能
- 校验盘采用奇偶校验
- RAID 5级
- 具有独立传送功能
- 奇偶校验信息均匀分布在所有磁盘上
- RAID 6级
设置了一个专用的、可快速访问的异步校验盘。具有独立的数据访问通路。 - RAID 7级
采用Cache,是对RAID6的改进
- RAID 0级
- RAID 的优点
- 可靠性高
- 磁盘I/O速度高
- 性价比高
- RAID 的分级
提高磁盘可靠性的技术
- 第一级容错技术 SFT-I
- 双份目录和双份文件分配表
- 热修复重定向和写后读校验
- 第二级容错技术 SFT-II
- 磁盘镜像
- 磁盘双工
- 基于集群技术的容错功能配置后备系统、
数据一致性控制
- 事务
- 事务的定义
事务是用于访问和修改各种数据项的一个程序单位 - 事务的属性
- 原子性
- 一致性
- 隔离性
- 持久性
- 事务的定义
- 检查点
检查点的作用是使对事务记录表中事务记录的清理工作经常化 - 并发控制
- 利用互斥锁实现“顺序性”
- 利用互斥锁和共享锁实现顺序性
原文地址:https://blog.csdn.net/CoderZzz6310/article/details/144309831
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!