操作系统笔记分享(第九章 磁盘存储器管理)

介绍

我只整理了一些比较关键的、考试可能会考的点,有些具体琐碎的内容我没整理到笔记中,希望对大家有所帮助!

九、磁盘存储器管理

9.1 外存的组织方式

了解外存的三种组织方式
顺序、链接、索引

9.1.1 连续组织方式

顺序容易存,但不灵活

9.1.2 链接组织方式

分为显式链接和隐式链接

显式链接示例

FAT12:表项长度为12个位,即1.5字节

FAT16:表项长度为16个位,即2字节

FAT32:表项长度为32个位,即4字节

盘块个数 = 表项个数

FAT表占用空间:

表项个数 * 表项长度
= 盘块个数 * 表项长度
= 硬盘容量 ÷ 盘块大小 * 表项长度

用一张链接表,记录文件中的盘块号 序号:盘块号; 表项:下一个盘块

省流:一个链接一个,一个数组的值作为索引继续找到对应的值,循环反复

掌握FAT相关计算(下方例题)

例:若采用FAT文件系统且盘块大小设定为4KB,则请问采用FAT16可管理的最大磁盘容量是多少?

计算:FAT16可管理 2 16 2^{16} 216个盘块,因此可管理的最大空间为 2 16 2^{16} 216×4KB=256MB

注意:可管理 2 16 2^{16} 216个盘块,指的是可以管理的最大盘块数量
实际上比如电脑只有 2 13 2^{13} 213个盘块,那就没有填满
如果电脑有 2 18 2^{18} 218个盘块,不仅填满而且溢出了,那只能选择FAT32(即更大的表项长度)或者其他方式了

对于FAT表项的管理,以FAT16文件系统的为例,其FAT表项是16位的,也就是每个FAT项占2个字节。16位的FAT表项项最多管理65535个簇。在Windows 2000系统之前簇大小最大为64个扇区(32KB),这样,采用FAT16操作系统最多能管理 32*65535=209120KB=2048MB=2GB 的分区

一个簇有多个盘块,每个盘块默认512B(除非题目说明 块大小)

FAT16 = 2 16 2^{16} 216 = 65536 个簇,每个簇64个盘块,那么总存储量 = 65536 * 64 * 512 = 2048MB

9.1.3 索引组织方式

磁盘块号放到索引块(表)中管理

索引、多级索引、增量式混合索引(直接寻址 + 单级 + 多级索引寻址)

9.2 文件存储空间的管理

盘块:文件存储空间的基本分配单位

空闲区表法

空闲链表法(空闲盘块链、空闲区块链)

位示图法

成组链接法

基于位示图法的盘块分配与回收

分配:根据二维矩阵的行列,计算盘块号 map[i,j] = 1

回收:根据盘块号反向推出行列位置,从而进行修改 map[i,j] = 0

9.3 提高磁盘IO速度的途径

①有效利用存储空间; ②提高磁盘的I/O速度; ③提高磁盘系统的可靠性。

提高磁盘I/O的方法

设置磁盘高速缓存、提前读、延迟写、优化物理块(分配连续盘块/簇)、虚拟盘

  • 磁盘高速缓存:数据直接给内存,LRU等置换算法
  • 提前读:读下一个盘块的内容
  • 延迟写:数据延迟写回磁盘(已被广泛采用)
  • 优化物理块的分布,减少磁头移动距离
  • 虚拟盘:利用内存空间仿真磁盘(RAM盘)

设置磁盘高速缓存的方法和目的

在内存中设置专门的缓冲区,通过减少I/O频率提高I/O速度

廉价磁盘冗余阵列RAID

概念:多个小磁盘组成的集合(大磁盘)

优点

  • 可靠性高:多磁盘互为备份
  • 磁盘IO速度快:多磁盘并行存取
  • 性价比高:采用多个廉价磁盘

廉价磁盘冗余阵列RAID的特点

可靠性高、磁盘IO速度快、性价比高

9.4 提高磁盘可靠性的技术

系统容错技术:设置冗余部件来提高可靠性

建立后备系统:把暂时不需要但仍然有用的数据存放在后备系统中并保存起来(重要数据备份)

  • 备份到 磁带机、硬盘、光盘驱动器 等

9.5 数据一致性控制

多个文件的相同数据要保持一致

事务

具有原子性

事务记录包括:事务名、数据项名、旧值、新值

检查点

引入检查点的主要目的:使事务记录表中事务记录的清理工作经常化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值