第八章 磁盘存储器的管理
外存的组织方式
文件存储空间的管理
提高磁盘I/O速度的途径
提高磁盘可靠性的技术
数据一致性控制
连续组织方式
索引组织方式
链接组织方式
外存的组织方式:指如何为一个文件分配磁盘空间,磁盘的最小空间是盘块(扇区),即文件的盘块是如何组织的
空闲表法和空闲链表法
位示图法
成组链接法
磁盘高速缓存
提高磁盘I/O速度的其他方法
廉价磁盘冗余阵列RAID
第一级容错技术SFT-1(低级磁盘)
第二季容错技术SFT-II(中级磁盘)
第三级容错技术(系统):基于集群技术的容错技能
后备系统
防止系统因素造成的破坏
防止自然因素的破坏
事务:保证数据一致性的手段
检查点
并发控制
重复的一致性问题
主要任务:有效地利用存储空间、提高磁盘的IO速度、提高磁盘系统的可靠性
概念:为每一个文件分配一组相邻接的盘块
目录上:存放每个文件的文件名、开始盘块号、长度
优点:顺序访问容易、顺序访问速度快
缺点:要求分配连续空间、事先必须知道文件长度、不适合动态增长、不能灵活的删除和增加
概念:为每个文件分配的盘块可以是离散的
链接方式
1、隐式链接
目录上:存放每个文件的文件名、开始盘块号、截止盘块号
隐式:盘块上有指向下一个盘块的指针
2、显示链接
目录上:存放每个文件的文件名、开始盘块号
显式:用一个FAT文件分配表记录所有的物理块号,以及每一个物理盘块链接的下一个盘块
显示链接的支持的文件系统
1、FAT
2、NFS
概念:利用显示链接的组织方式组织文件系统
FAT的代数
FAT12
以簇作为分配和回收的基本单位,一簇是一组邻接的盘块
所支持的文件系统的容量大小=一族的大小*2的FAT位数的次方*分区数
FAT16、FAT32
特征:64位磁盘地址,具有数据一致性检查等等功能
优点:
概念
解决问题
1、解决前两种组织方式不支持高效的直接存取
2、解决FAT的表项较大时,调入内存占用内存空间的问题
思想:只需要将打开的文件的盘块号调入到内存即可,完全没必要把所有的FAT调入内存
为每一个文件分配一个索引表
索引表都分配在一个盘块中,称为索引盘块
目录上:保存每个文件的文件名和索引盘块号
优缺点
优点:大大加快了大型文件的查找速度
缺点:小型文件多,那么索引盘块就多,且索引盘块的利用率不高
增量式索引组织方式:混合式的
引言 对文件存储空间的管理:主要是明确知道哪些盘块已经使用、哪些未被使用,其次还要提供分配和回收的操作
1、空闲表法(连续)
概念:记录连续的空闲的盘块的第一个盘块号与空闲盘块数
分配与回收:每次分配都可以采用FCFS等分配一个连续的空闲盘块
2、空闲链表(离散)
概念:空闲盘块拉成一条空闲链
分配与回收:离散分配盘块
概念:是利用二进制的1和0表示盘块是否使用,所有盘块对应的位构成一个的集合
分配与回收:查找状态为未分配的盘块,转换出对应的盘块号的物理地址,然后修改位示图
缺点:分配必须是连续空间的
概念:在内存中为磁盘盘块是指一个缓冲区,而缓冲区保存某些盘块的副本
考虑的问题
1、如何将磁盘高速缓存的数据传输给请求进程
2、采取什么置换策略
3、已修改的盘块数据如何从缓存写回磁盘中
1、数据交付:把数据交付到该请求进程的内存工作区中
2、指针交付:将指向该缓存数据的指针交付给请求进程
使用置换算法,考虑因素:访问频率、可预见性、数据的一致性
周期性的写回磁盘
原因:缓存区中的数据可能满,该如何进行置换
常见的有
1、预先读:适合顺序文件,提前将下一个盘块的数据读取到内存中
2、延迟写:数据并不立即写到磁盘,而是挂在缓存区,因为考虑到局部性
3、优化物理块的分布:盘块分配尽量在一起,减少磁头的移动
4、虚拟盘:利用内存区仿真磁盘
RAID0(并行交叉存取)、RAID1(磁盘镜像功能)、RAID2(并行传输功能)、RAID5(具有独立传送功能)
优点:并行传输提高IO速度、有备份可靠性高、利用小磁盘组成价格优惠
作用:防止磁盘因表面缺陷而造成数据丢失
措施
1、双份目录和双份文件分配表(备份)
2、热修复重定向和写后叫校验
作用:防止磁盘驱动器和磁盘控制器故障所导致的系统不能正常工作
措施(将两者都备份)
磁盘镜像:在同一个磁盘控制器下再增设一个完全相同的磁盘驱动器
磁盘双工:在主机下在增设一个相同的磁盘控制器
集群:指多个主机组成一个统一的计算机系统
1、双机热备份模式:一台主机工作,一台主机备份数据
2、双机互为备份模式:双机同时工作,各自工作各自的任务,每个服务
器都配有两个磁盘,一个使用,一个用于接受对方发来的备份数据
3、公用磁盘:指双机模式下公用一个磁盘,一个磁盘分为两个卷来使用
数据的一致性:指的是数据在不同的文件,在任何时刻都是相同的
概念:事务可以被看作一系列相关的读和写操作
事务的属性 事务在对一批数据进行修改,要么全部完成,要么就一个也不修改
操作
托付操作:指事务对所有文件的读、写操作全部成功完成
夭折操作:指事务对多个文件的任何一个操作失败就会导致夭折
借助:事务记录 事务记录是一种数据结构,能够记录事务运行时的数据项修改的全部信息
事务的恢复算法
1、undo:事务记录表中只有开始操作,没有托付操作时,就将所有数据还原
2、redo:事务记录表中有开始操作和托付操作,就将所有数据更新
目的:完成事务表的清理工作
问题:记录事务表随着时间的推移,记录的数据会越来越多
问题:各个事务的执行是顺序的,只有一个事务执行后,才允许另一个事务执行,如何保证顺序性
当然,事务还有很多问题需要解决,如下面的问题和解决方法
可通过事务来保证
方法:并发控制
1、互斥锁:只有获得对象的互斥锁才能对对象进行操作
2、信号量机制
数据的一致性得到保证了,那如何保证数据的安全性了?