操作系统原理第9章 磁盘存储器管理 重点内容
目录
(一)外存的组织方式种类
(二)FAT 系统(计算)
(三)文件存储空间的管理方式
(一)外存的组织方式种类
- 连续组织方式
- 原理:在磁盘等外存上,为文件分配一组连续的物理块。比如一个文件需要 5 个物理块存储,就会在磁盘上找连续的 5 个空闲块。
- 优点:文件读取速度快,因为磁头移动距离短,可顺序读取。实现简单,管理方便,只需记录文件起始块号和块数。
- 缺点:易产生外部碎片,磁盘空间利用率低。新文件分配空间时,可能因找不到连续大块空闲区而无法存储,即便磁盘有足够零散空闲空间 。
- 链接组织方式
- 原理:为文件分配不连续的物理块,通过指针将这些块链接起来。分为隐式链接和显式链接 。隐式链接是每个物理块中含指向下一块的指针,文件目录记录起始块号;显式链接是把所有块间链接指针集中存放在一张表(如文件分配表 FAT )中 。
- 优点:有效利用磁盘零散空间,减少外部碎片。新文件分配空间灵活,只要有空闲块就能分配 。
- 缺点:隐式链接查找效率低,需逐个块读指针找后续块;显式链接虽查找效率有提升,但 FAT 表需占用一定内存空间 。
- 索引组织方式
- 原理:为每个文件建立一个索引表,表中记录文件各逻辑块对应的物理块号,索引表存于外存,文件目录记录索引表地址 。
- 优点:文件存储灵活,可分配不连续物理块,空间利用率高。查找速度快,通过索引表可直接定位物理块 。
- 缺点:索引表占用额外存储空间,大文件索引表可能很大,需多级索引,增加管理复杂度 。
(二)FAT 系统(计算)
- FAT(文件分配表)概念:FAT 是一种记录磁盘上文件存储位置和空闲空间信息的数据结构。它以表格形式记录每个簇(磁盘存储的基本分配单位 )的使用情况,通过簇号来标识。
- 计算相关要点
- 簇号计算:知道文件起始簇号,根据文件大小和每个簇容量,可计算文件占用簇数及后续簇号。如文件大小 10KB,簇大小 4KB,起始簇号为 5 ,则占用簇数约为 3(10KB÷4KB 向上取整 ),后续簇号可通过 FAT 表中指针查找 。
- 空间计算:根据 FAT 表项大小和磁盘总簇数,可计算 FAT 表占用空间。比如 FAT16(表项 16 位 ),磁盘有 n 个簇,FAT 表占用空间为 n×2 字节(16 位 = 2 字节 ) 。
- 文件定位计算:给定文件逻辑块号,通过文件目录找到索引节点(含 FAT 表指针 ),再在 FAT 表中查找对应簇号,换算出物理块号,实现文件定位 。
(三)文件存储空间的管理方式
- 空闲表法
- 原理:将外存上所有空闲区视为一个文件,用一张空闲表记录各空闲区起始块号和块数。分配空间时,找合适空闲区分配;回收时,更新空闲表 。
- 优点:简单直观,类似内存动态分区分配。
- 缺点:适合连续分配,不适合大量小文件频繁分配回收,易产生外部碎片 。
- 空闲链表法
- 原理:把空闲块或空闲区链接成链表。有单块链表(每个空闲块含指向下一空闲块指针 )和成组链表(将若干空闲块成组,每组首块记录下组位置及本组块数 ) 。分配时从链表取块,回收时插入链表 。
- 优点:灵活管理空闲空间,适合非连续分配。成组链表结合连续和链接优点,提高查找和分配效率 。
- 缺点:单块链表查找效率低;成组链表管理稍复杂 。
- 位示图法
- 原理:用一个二进制位对应一个物理块,位值 0 表示空闲,1 表示已分配。通过位示图可快速判断块状态,进行分配回收操作 。分配时找 0 位,回收时将对应位清 0 。
- 优点:空间管理紧凑,分配回收速度快,可通过位运算实现 。
- 缺点:位示图需占用一定内存空间,大规模磁盘管理时,位示图可能较大 。
- 成组链接法
- 原理:将空闲块分组,每组第一个块记录下一组空闲块信息(如块数、块号 ),最后一组空闲块的第一个块无后续组信息。超级块记录第一组空闲块信息 。分配时从第一组取块,不足时从后续组移块补充;回收时先加入当前组,满组后创建新组 。
- 优点:结合多种方法优点,高效管理大量空闲块,UNIX 系统常用 。
- 缺点:实现相对复杂,需维护组间链接和空闲块信息 。