计算机操作系统(第4版)汤小丹-第8章

  • 格式:ppt
  • 大小:1.30 MB
  • 文档页数:85

下载文档原格式

  / 85
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

23
第八章
磁盘存储器的管理
图8-7 两级索引分配
24
第八章
磁盘存储器的管理
3. 增量式索引组织方式
1) 增量式索引组织方式的基本思想 为了能较全面地照顾到小、中、大及特大型作业,可以
采取多种组织方式来构成文件的物理结构。如果盘块的大小
为1 KB或4 KB,对于小文件(如1 KB~10 KB或4 KB~40 KB) 而言,最多只会占用10个盘块,为了能提高对数量众多的小 型作业的访问速度,最好能将它们的每一个盘块地址都直接 放入文件控制块FCB(或索引结点)中,这样就可以直接从 FCB中获得该文件的盘块地址。
34
第八章
磁盘存储器的管理
3. 盘块的回收
盘块的回收分两步: (1) 将回收盘块的盘块号转换成位示图中的行号和列号。 转换公式为: i = (b - 1)DIV n + 1
j = (b - 1)MOD n + 1
(2) 修改位示图。令map[i, j] = 0。
35
第八章
磁盘存储器的管理
8.2.3 成组链接法
20
第八章
磁盘存储器的管理
8.1.5 索引组织方式
1. 单级索引组织方式 链接组织方式虽然解决了连续组织方式所存在的问题 (即不便于随机访问),但又出现了另外两个问题,即:① 不 能支持高效的直接存取,要对一个较大的文件进行存取,须
在FAT中顺序地查找许多盘块号;② FAT需占用较大的内存
空间,由于一个文件所占用盘块的盘块号是随机地分布在 FAT中的,因而只有将整个FAT调入内存,才能保证在FAT
1. FAT12 1) 早期的FAT12文件系统 FAT12是以盘块为基本分配单位的。由于FAT是文件系 统中最重要的数据结构,为了安全起见,在每个分区中都配
有两张相同的文件分配表FAT1和FAT2。在FAT的每个表项
中存放下一个盘块号,它实际上是用于盘块之间的链接的指 针,通过它可以将一个文件的所有的盘块链接起来,而将文
件的第一个盘块号放在自己的FCB中。
12
第八章
磁盘存储器的管理
图8-4 MS-DOS的文件物理结构
13
第八章
磁盘存储器的管理
2) 以簇为单位的FAT12文件系统
稍加分析便可看出,如果把每个盘块(扇区)的容量增大n 倍,则磁盘的最大容量便可增加n倍。但要增加盘块的容量 是不方便和不灵活的。为此,引入了簇(cluster)的概念。
将每100个盘块作为一组。假定盘上共有10000个盘块,每块 大小为1 KB,其中第201~7999号盘块用于存放文件,即作
为文件区,这样,该区的最末一组盘块号应为7901~7999;
次末组为7801~7900,…,倒数第二组的盘块号为301~400; 第一组为201~300,如图8-11所示。 (3) 将每一组含有的盘块总数N和该组所有的盘块号记入 其前一组的第一个盘块的S.free(0)~S.free(99)中。这样,由 各组的第一个盘块可链成一条链。
(1) 要求为一个文件分配连续的存储空间。 (2) 必须事先知道文件的长度。 (3) 不能灵活地删除和插入记录。 (4) 对于那些动态增长的文件。
6
第八章
磁盘存储器的管理
8.1.2 链接组织方式
如果可以将文件装到多个离散的盘块中,就可消除连续 组织方式的上述缺点。在采用链接组织方式时,可为文件分
配多个不连续的盘块,再通过每个盘块上的链接指针,将同
31
第八章
磁盘存储器的管理
8.2.2 位示图法
1. 位示图 位示图是利用二进制的一位来表示磁盘中一个盘块的使
用情况。当其值为“0”时,表示对应的盘块空闲;为“1”时,
表示已分配。有的系统把“0”作为盘块已分配的标志,把 “1”作为空闲标志。(它们在本质上是相同的,都是用一位的 两种状态来标志空闲和已分配两种情况。)磁盘上的所有盘 块都有一个二进制位与之对应,这样,由所有盘块所对应的 位构成一个集合,称为位示图。
14
第八章
磁盘存储器的管理
2. FAT16
FAT12对磁盘容量限制的原因在于, FAT12表中的表项 有限制,亦即最多只允许4096个。这样,随着磁盘容量的增 加,必定会引起簇的大小和簇内碎片也随之增加。
15
第八章
磁盘存储器的管理
3. FAT32
由于FAT16表的长度只有65 535项,随着磁盘容量的增 加,簇的大小也必然会随之增加,为了减少簇内零,也就应 当增加FAT表的长度,为此需要再增加FAT表的宽度,这样 也就由FAT16演变为FAT32。
第八章
磁盘存储器的管理
第八章
磁盘存储器的管理
8.1 外存的组织方式 8.2 文件存储空间的管理 8.3 提高磁盘I/O速度的途径 8.4 提高磁盘可靠性的技术 8.5 数据一致性控制 习题
1
第八章
磁盘存储器的管理
8.1 外存的组织方式
如前所述,文件的物理结构直接与外存的组织方式有关。
对于不同的外存组织方式,将形成不同的文件物理结构。目 前常用的外存组织方式有: (1) 连续组织方式。 (2) 链接组织方式。
38
第八章
磁盘存储器的管理
(4) 将第一组的盘块总数和所有的盘块号记入空闲盘块
号栈中,作为当前可供分配的空闲盘块号。 (5) 最末一组只有99个盘块,其盘块号分别记入其前一 组的S.free(1)~S.free(99)中,而在S.free(0)中则存放“0”,作 为空闲盘块链的结束标志。(注:最后一组的盘块数应为99,
(3) 索引组织方式。
2
第八章
磁盘存储器的管理
8.1.1 连续组织方式
连续组织方式又称连续分配方式,要求为每一个文件分 配一组相邻接的盘块。例如,第一个盘块的地址为b,则第 二个盘块的地址为b+1,第三个盘块的地址为b+2,…。通常, 它们都位于一条磁道上,在进行读/写时,不必移动磁头。在
采用连续组织方式时,可把逻辑文件中的记录顺序地存储到
找到第一个其大小能满足要求的空闲区,再将该盘区分配给
用户(进程),同时修改空闲表。
30
第八章
磁盘存储器的管理
2. 空闲链表法
1) 空闲盘块链 这是将磁盘上的所有空闲空间以盘块为单位拉成一条链,
Fra Baidu bibliotek
其中的每一个盘块都有指向后继盘块的指针。
2) 空闲盘区链 这是将磁盘上的所有空闲盘区(每个盘区可包含若干个 盘块)拉成一条链。在每个盘区上除含有用于指示下一个空 闲盘区的指针外,还应有能指明本盘区大小(盘块数)的信息。
16
第八章
磁盘存储器的管理
图8-5 FAT中簇的大小与最大分区的对应关系
17
第八章
磁盘存储器的管理
8.1.4 NTFS的文件组织方式
1. NTFS新特征 NTFS(New Technology File System)是一个专门为 Windows NT开发的、全新的文件系统,并适用于Windows 2000/XP及后续的Windows OS。
1. 空闲盘块的组织 (1) 空闲盘块号栈,用来存放当前可用的一组空闲盘块 的盘块号(最多含100个号),以及栈中尚有的空闲盘块(号)数 N。顺便指出,N还兼作栈顶指针用。
36
第八章
磁盘存储器的管理
图8-11 空闲盘块的成组链接法
37
第八章
磁盘存储器的管理
(2) 文件区中的所有空闲盘块被分成若干个组,比如,
该区的空闲盘块数等信息。再将所有空闲区按其起始盘块号 递增的次序排列,形成空闲盘块表,如图8-9所示。
28
第八章
磁盘存储器的管理
图8-9 空闲盘块表
29
第八章
磁盘存储器的管理
2) 存储空间的分配与回收
空闲盘区的分配与内存的分区(动态)分配类似,同样是 采用首次适应算法和最佳适应算法等,它们对存储空间的利 用率大体相当,都优于最坏适应算法。在系统为某新创建的 文件分配空闲盘块时,先顺序地检索空闲表的各表项,直至
3. 文件的组织
在NTFS中,以卷为单位,将一个卷中的所有文件信息、 目录信息以及可用的未分配空间信息,都以文件记录的方式
记录在一张主控文件表MFT(Master File Table)中,该表是
NTFS卷结构的中心,从逻辑上讲,卷中的每个文件作为一 条记录,在MFT表中占有一行,其中还包括MFT自己的这一 行。每行大小固定为1 KB,每行称为该行所对应文件的元数 据(metadata),也称为文件控制字。
不应是100,因为这是指可供使用的空闲盘块。其编号应为
(1~99),0号中放空闲盘块链的结尾标志。)
39
第八章
磁盘存储器的管理
2. 空闲盘块的分配与回收
当系统要为用户分配文件所需的盘块时,须调用盘块分 配过程来完成。该过程首先检查空闲盘块号栈是否上锁,如 未上锁,便从栈顶取出一空闲盘块号,将与之对应的盘块分 配给用户,然后将栈顶指针下移一格。若该盘块号已是栈底,
27
第八章
磁盘存储器的管理
8.2 文件存储空间的管理
8.2.1 空闲表法和空闲链表法 1. 空闲表法 1) 空闲表 空闲表法属于连续分配方式,它与内存的动态分配方式 雷同,它为每个文件分配一块连续的存储空间。即系统也为 外存上的所有空闲区建立一张空闲表,每个空闲区对应于一
个空闲表项,其中包括表项序号、该空闲区的第一个盘块号、
18
第八章
磁盘存储器的管理
2. 磁盘组织
NTFS是以簇作为磁盘空间分配和回收的基本单位的。 一个文件占用若干个簇,一个簇只属于一个文件。这样,在 为文件分配磁盘空间时,就无须知道盘块的大小,只要根据 不同的磁盘容量,选择相应大小的簇,即使NTFS具有了与
磁盘物理块大小无关的独立性。
19
第八章
磁盘存储器的管理
8
第八章
磁盘存储器的管理
图8-2 磁盘空间的链接式分配
9
第八章
磁盘存储器的管理
2. 显式链接
这是指把用于链接文件各物理块的指针显式地存放在内 存的一张链接表中。该表在整个磁盘中仅设置一张,如图83所示。
10
第八章
磁盘存储器的管理
图8-3 显式链接结构
11
第八章
磁盘存储器的管理
8.1.3 FAT技术
32
第八章
磁盘存储器的管理
图8-10 位示图
33
第八章
磁盘存储器的管理
2. 盘块的分配
根据位示图进行盘块分配时,可分三步进行: (1) 顺序扫描位示图,从中找出一个或一组其值为“0”
的二进制位(“0”表示空闲时)。
(2) 将所找到的一个或一组二进制位转换成与之相应的 盘块号。假定找到的其值为“0”的二进制位位于位示图的第i 行、第j列,则其相应的盘块号应按下式计算: b = n(i - 1) + j 式中,n代表每行的位数。 (3) 修改位示图,令map[i, j] = 1。
即S.free(0),这是当前栈中最后一个可分配的盘块号。
40
第八章
磁盘存储器的管理
8.3 提高磁盘I/O速度的途径
(1) 改进文件的目录结构以及检索目录的方法来减少对 目录的查找时间; (2) 选取好的文件存储结构,以提高对文件的访问速度; (3) 提高磁盘的I/O速度,能将文件中的数据快速地从磁 盘传送到内存中,或者相反。其中的第1和第2点已在上一章 或本章作了较详细的阐述,本节主要对如何提高磁盘的I/O
中找到一个文件的所有盘块号。
21
第八章
磁盘存储器的管理
图8-6 索引分配方式
22
第八章
磁盘存储器的管理
2. 多级索引组织方式
在为一个大文件分配磁盘空间时,如果所分配出去的盘 块的盘块号已经装满一个索引块时,OS须再为该文件分配另 一个索引块,用于将以后继续为之分配的盘块号记录于其中。 依此类推,再通过链指针将各索引块按序链接起来。
属于一个文件的多个离散的盘块链接成一个链表,由此所形 成的物理文件称为链接文件。链接组织方式的主要优点是: (1) 消除了磁盘的外部碎片,提高了外存的利用率。 (2) 对插入、删除和修改记录都非常容易。 (3) 能适应文件的动态增长,无需事先知道文件的大小。
7
第八章
磁盘存储器的管理
1. 隐式链接
在采用隐式链接组织方式时,在文件目录的每个目录项 中,都须含有指向链接文件第一个盘块和最后一个盘块的指 针。
邻接的各物理盘块中,这样所形成的文件结构称为顺序文件 结构,此时的物理文件称为顺序文件。
3
第八章
磁盘存储器的管理
图8-1 磁盘空间的连续组织方式
4
第八章
磁盘存储器的管理
连续组织方式的主要优点有:
(1) 顺序访问容易。 (2) 顺序访问速度快。
5
第八章
磁盘存储器的管理
连续组织方式的主要缺点如下:
25
第八章
磁盘存储器的管理
2) UNIX System V的组织方式
在UNIX System V的索引结点中设有13个地址项,即 i.addr(0)~i.addr(12),如图8-8所示。 (1) 直接地址。 (2) 一次间接地址。
(3) 多次间接地址。
26
第八章
磁盘存储器的管理
图8-8 混合索引方式