当前位置: 首页 > 工具软件 > 外存 > 使用案例 >

外存的组织方式

漆雕宏浚
2023-12-01

连续组织方式

连续组织方式又称为连续分配方式
要求为每一个文件分配一组相邻接的盘块
例如,第一个盘块的地址为b,第二个则为b+1。
通常,它们位于一条磁道上,在进行读/写时,不必移动磁头。
在采用连续组织方式时,可把逻辑文件中的记录顺序地存储到邻接的各物理盘块中。
连续组织方式保证了逻辑文件中的记录顺序与存储器中文件占用盘块的顺序的一致性
为使系统能找到文件存放的地址,应在目录项的“文件物理地址”字段中记录该文件的第一个记录所在的盘块号和文件长度(以盘块为单位
外存空闲空间进行一次紧凑,所花费的时间远比将内存紧凑一次所花费的时间多。
优点:
(1)顺序访问容易,支持对定长文件的随机访问。
(2)顺序访问速度快,由连续分配所装入的文件,占用的盘块可能是位于一条或几条相邻的磁道上,磁头的移动距离最少——因此,这种文件的访问速度是最高的一种
缺点:
(1)要求为每一个文件分配连续的存储空间。会产生许多外部碎片,严重地降低了外存空间的利用率。如果定期利用紧凑的方法消除碎片,又会花费大量机器时间。
(2)必须事先知道文件的长度。
(3)不能灵活地插入和删除记录。
(4)对于动态增长的文件,采用预分配存储空间的方法,会使大量的存储空间长期空闲。

链接组织方式

为文件分配多个不连续的盘块,再通过每个盘块上的连接指针,将属于同一个文件的多个离散的盘块链接成一个链表。
优点:
(1)消除了磁盘的外碎片,提高了外存的利用率。
(2)对插入、删除和修改记录都非常容易。
(3)能适应文件的动态增长,无需事先知道文件的大小。

  1. 隐式链接

在采用隐式链接组织方式时,文件目录中的每个目录项,都必须含有指向链接文件第一个盘块和最后一个盘块的指针。而在每个盘块中都含有下一个指向下一个盘块的指针。
隐式链接组织方式的缺点:
(1)只适合顺序访问,如果要访问地i个盘块,则需要独处文件的第一个盘块,依次读到第i个盘块。
(2)只通过链接指针将一大批离散的盘块链接起来,可靠性较差,只要任何一个指针出问题,都会导致整个链断开。

为了提高检索速度和减小指针所占用的存储空间,可以将几个盘块组成一个簇。比如一个簇可以包含四个盘块,在进行盘块分配时,是以簇为单位进行的。在链接文件中的每个元素也是以簇为单位。但是会增大内部碎片。

  1. 显示链接——文件分配表(FAT)
    把用于链接文件的各物理块的指针显示地存放在内存的一张链接表中。该表在磁盘上仅设置一张。表的序号即物理盘块号,从0-N-1,N为盘块总数。在每个表项中存放链接指针,即下一个盘块号。在该表中,凡是某个文件的第一个盘块号(每一条链的链首指针所对应的盘块号),均作为文件地址被填入相应文件的FCB的“物理地址”字段中。
    查找记录的过程是在内存中进行的,提高了检索速度,并且减少了磁盘的访问次数。

簇是一组相邻的扇区,在FAT中它是一个虚拟扇区。在进行盘块分配时,是以簇为单位,簇的大小是2n个盘块

索引组织方式

  1. 单级索引组织方式
    链接组织方式虽然解决了连续组织方式所存在的问题(不便于随机访问),但又出来两个问题。(1)不能支持高效的直接存取,要对一个较大的文件进行存取,须在FAT中顺序查找许多盘块号。(2)FAT需要占用较大的内存空间,由于一个文件占用的盘块的盘块号随机分布在FAT中,只有将整个FAT调入内存,才能保证在FAT中找到一个文件的所有盘块号。
    在打开某个文件时,只需要把该文件所占用的盘块的编号调入内存即可,完全没必要将整个FAT调入内存。所以,应将每个文件所对应的盘块号集中放在一起,在访问某个文件时,把该文件所对应的盘块号一起调入内存。
    为每个文件分配一个索引块,把分配给该文件的所有盘块号都记录在该索引块中。
    在建立一个文件时,只须在为它建立的目录项中填上指向该索引块的指针。
    索引组织方式的优点:
    (1)支持直接访问。当要读文件的第i个盘块时,可以方便地直接从该文件的索引块中找到第i个盘块的索引号。
    (2)不会产生外部碎片。
    问题:
    (1)每当建立一个索引文件时,应为该文件分配一个索引块,将分配给该文件的所有盘块号记录于其中。每一个索引块中可以存放数百个盘块号。但对于中、小型文件,其本身通常只占数个到数十个盘块,但也需要分配一个索引块,所以,对于小型文件采用索引分配方式,索引块利用率极低。
  2. 多级索引组织方式
    在为一个大文件分配磁盘空间时,如果所分配出去的盘块的盘块号已经装满一个索引块,OS必须为该文件再分配一个索引块,把剩余的盘块号记录在其中。依次类推,再通过链接指针将各索引块链接起来,这种方法低效。
    应该为这些索引块再建立一级索引,称为第一级索引,即系统再分配一个索引块,作为第一级索引的索引块,将第一块、第二块索引块的盘块号填入此索引表中。

多级索引的优点:加快了对大型文件的查找速度
缺点:在访问一个盘块时,其所需启动磁盘的块数随着索引级数的增加而增加,即使小文件也是如此。而且实际情况中,大文件较少。

增量式索引组织方式

为了全面照顾小、中、大型作业,采用多种组织方式来构成文件的物理结构。
小型文件:每一个盘块地址直接放入文件控制块FCB中——直接寻址
中等文件:采用单级索引组织方式。为获得该文件的盘块地址,只需从FCB中找到该文件的索引表——一次间址
大型和特大型文件:两级索引和三级索引组织方式——两次间址,三次间址

UNIX系统中的索引结点有13个地址项
(1)直接地址:0~9存放直接地址
(2)一次间接地址:10
(2)多次间接地址:二级间接地址、三级间接地址:11,12

 类似资料: