26 文件外存分配方式

磁盘具有可直接访问的特性,故当利用磁盘存放文件时,具有很大的灵活性。

目前,常用的外存分配方法有连续分配链接分配索引分配三种。采用不同的分配方式时,将形成不同的文件物理结构。

连续分配方式对应顺序式文件结构,链接分配方式形成链接式文件结构,索引分配方式将形成索引式文件结构。有的系统(如DOS操作系统)对三种方法都支持,但是更普遍的是一个系统只提供一种方法的支持

1 连续分配

连续分配方法要求每个文件在磁盘上占有一组连续的块,如图所示。这样所形成的文件结构称为顺序文件结构,此时的物理文件称为顺序文件。这种分配方式保证了逻辑文件中的的记录顺序与存储器中的文件占用盘块的顺序是一致的

优点

优点是实现简单、存取速度快,支持顺序访问和直接访问,作业访问磁盘时需要的寻道数和寻道时间最短。

缺点

缺点在于,文件长度不宜动态增加,因为一个文件末尾后的盘块可能已经分配给其他文件,一旦需要增加, 就需要大量移动盘块。在外存上使用紧凑技术所花费的时间远比内存紧凑一次所花费的时间多得多。

此外,反复增删文件后会产生外部碎片(与内存管理分配方式中的碎 片相似),并且很难确定一个文件需要的空间大小,因而只适用于长度固定的文件。

2 链接分配

链接分配是釆取离散分配的方式,消除了外部碎片,故而显著地提高了磁盘空间的利用率;又因为是根据文件的当前需求,为它分配必需的盘块,当文件动态增长时,可以动态地再为它分配盘块,故而无需事先知道文件的大小。此外,对文件的增、删、改也非常方便

链接分配又可以分为隐式链接和显式链接两种形式。

2.1 隐式链接

文件,目录中每个目录项都包括指向链接文件第一盘块和最后一个盘块的指针。磁盘块分布在磁盘的任何地方,除最后一个盘块外,每一个盘块都有指向下一个盘块的指针,这些指针对用户是透明的。

缺点
  • 隐式链接只适用于顺序访问,对随机访问时极其低效的。

  • 隐式链接可靠性差,只要其中任一指针出错,都将导致整个链断开。

为了提高检索速度和减小指针所占存储空间,可以将几个盘块组成一个簇(cluster),虽然成倍减少了访问时间,以及指针存储空间,但却增大了内部碎片,改进很有限

2.2 显式链接

显示链接把用于链接文件各物理块的指针,显示地存放在内存的一张链接表中。该表在整个磁盘仅设置一张。

表的序号从0开始,直至N-1,N为盘块总数,在每个表项中存放链接指针,即下一个盘块号。

在该表中,凡是属于某一文件的第一个盘块号(链首指针所对应的盘块号)均作为文件地址被填入相应的文件的FCB的物理地址字段中。

由于查找记录的过程是在内存中进行的,因而提高了检索速度,减少了访问磁盘的次数。由于分配给文件的所有盘块号都在该表中,故把该表称为文件分配表FAT(File Allocation Table)。

缺点
  • 不能支持高效的直接存储(要对一个较大的文件进行直接存取,须首先在FAT中顺序地查找很多盘块号);

  • FAT需要占用较大的内存空间(由于一个文件所占用的盘块的盘块号是随机地分布在FAT中的,因而只有将整个FAT调入内存,才能保证FAT中找到一个文件的所有盘块号,当磁盘容量较大时,FAT占用的容量更大)

3 索引分配

在打开某个文件时,只需把该文件占用的盘块号的编号调入内存即可,无需把整个FAT调入内存。为此,将每个文件所对应的盘块号集中地放在一起,索引分配方式就是基于此想法所形成的一种分配方式。

3.1 单级索引

其为每个文件分配一个索引表,再把分配给该文件的所有盘块号都记录在该索引块中,因而该索引块就是一个含有许多磁盘块号的数组。在建立一个文件时,只需要在为之建立的目录项中填上指向该索引块的指针。

3.2 多级索引

当文件太大时,索引块太多,单级索引是低效的。此时,为这些索引块再建立一级索引,称为第一级索引,还可再建立索引,称为第二级索引等等。称为多级索引分配。

在二级索引分配方式下,若每个盘块的大小为1KB,每个盘块号占4个字节,在一个索引块可以存放256个盘块号。则,在两级索引时,最多可以包括存放文件的盘块号总数为64K(256 * 256)个盘块号,所允许文件最大长度为64MB。

若盘块号为4KB,则一级索引的最大文件大小为4MB,二级索引的最大文件大小为4GB。

3.3 混合索引分配

多种索引分配方式相结合而形成的一种分配方式,如直接地址,一次间接地址,多次间接地址。

Unix SystemV的分配采用了三级索引分配方式。共设置了13个索引地址项。前10个:iaddr(0)~iaddr(9)为直接地址项,iaddr(10)为一次间接地址项,iaddr(11)为二次间接地址项,iaddr(12)为三次间接地址项。

4 分配方式比较

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容