26 文件外存分配方式

磁盤具有可直接訪問的特性纷妆,故當利用磁盤存放文件時,具有很大的靈活性墅冷。

目前纯路,常用的外存分配方法有連續(xù)分配鏈接分配索引分配三種寞忿。采用不同的分配方式時驰唬,將形成不同的文件物理結(jié)構(gòu)。

連續(xù)分配方式對應(yīng)順序式文件結(jié)構(gòu),鏈接分配方式形成鏈接式文件結(jié)構(gòu)叫编,索引分配方式將形成索引式文件結(jié)構(gòu)辖佣。有的系統(tǒng)(如DOS操作系統(tǒng))對三種方法都支持,但是更普遍的是一個系統(tǒng)只提供一種方法的支持搓逾。

1 連續(xù)分配

連續(xù)分配方法要求每個文件在磁盤上占有一組連續(xù)的塊卷谈,如圖所示。這樣所形成的文件結(jié)構(gòu)稱為順序文件結(jié)構(gòu)霞篡,此時的物理文件稱為順序文件世蔗。這種分配方式保證了邏輯文件中的的記錄順序與存儲器中的文件占用盤塊的順序是一致的

優(yōu)點

優(yōu)點是實現(xiàn)簡單朗兵、存取速度快凸郑,支持順序訪問和直接訪問,作業(yè)訪問磁盤時需要的尋道數(shù)和尋道時間最短矛市。

缺點

缺點在于芙沥,文件長度不宜動態(tài)增加,因為一個文件末尾后的盤塊可能已經(jīng)分配給其他文件浊吏,一旦需要增加而昨, 就需要大量移動盤塊。在外存上使用緊湊技術(shù)所花費的時間遠比內(nèi)存緊湊一次所花費的時間多得多找田。

此外歌憨,反復(fù)增刪文件后會產(chǎn)生外部碎片(與內(nèi)存管理分配方式中的碎 片相似),并且很難確定一個文件需要的空間大小墩衙,因而只適用于長度固定的文件务嫡。

2 鏈接分配

鏈接分配是釆取離散分配的方式,消除了外部碎片漆改,故而顯著地提高了磁盤空間的利用率心铃;又因為是根據(jù)文件的當前需求,為它分配必需的盤塊挫剑,當文件動態(tài)增長時去扣,可以動態(tài)地再為它分配盤塊,故而無需事先知道文件的大小樊破。此外愉棱,對文件的增、刪哲戚、改也非常方便奔滑。

鏈接分配又可以分為隱式鏈接和顯式鏈接兩種形式。

2.1 隱式鏈接

文件顺少,目錄中每個目錄項都包括指向鏈接文件第一盤塊和最后一個盤塊的指針朋其。磁盤塊分布在磁盤的任何地方王浴,除最后一個盤塊外,每一個盤塊都有指向下一個盤塊的指針令宿,這些指針對用戶是透明的。

缺點
  • 隱式鏈接只適用于順序訪問腕窥,對隨機訪問時極其低效的粒没。

  • 隱式鏈接可靠性差,只要其中任一指針出錯簇爆,都將導(dǎo)致整個鏈斷開癞松。

為了提高檢索速度和減小指針所占存儲空間,可以將幾個盤塊組成一個簇(cluster)入蛆,雖然成倍減少了訪問時間响蓉,以及指針存儲空間,但卻增大了內(nèi)部碎片哨毁,改進很有限枫甲。

2.2 顯式鏈接

顯示鏈接把用于鏈接文件各物理塊的指針,顯示地存放在內(nèi)存的一張鏈接表中扼褪。該表在整個磁盤僅設(shè)置一張想幻。

表的序號從0開始,直至N-1话浇,N為盤塊總數(shù)脏毯,在每個表項中存放鏈接指針,即下一個盤塊號幔崖。

在該表中食店,凡是屬于某一文件的第一個盤塊號(鏈首指針所對應(yīng)的盤塊號)均作為文件地址被填入相應(yīng)的文件的FCB的物理地址字段中。

由于查找記錄的過程是在內(nèi)存中進行的赏寇,因而提高了檢索速度吉嫩,減少了訪問磁盤的次數(shù)。由于分配給文件的所有盤塊號都在該表中嗅定,故把該表稱為文件分配表FAT(File Allocation Table)率挣。

缺點
  • 不能支持高效的直接存儲(要對一個較大的文件進行直接存取,須首先在FAT中順序地查找很多盤塊號)露戒;

  • FAT需要占用較大的內(nèi)存空間(由于一個文件所占用的盤塊的盤塊號是隨機地分布在FAT中的椒功,因而只有將整個FAT調(diào)入內(nèi)存,才能保證FAT中找到一個文件的所有盤塊號,當磁盤容量較大時樱衷,F(xiàn)AT占用的容量更大)

3 索引分配

在打開某個文件時怎燥,只需把該文件占用的盤塊號的編號調(diào)入內(nèi)存即可,無需把整個FAT調(diào)入內(nèi)存旱眯。為此,將每個文件所對應(yīng)的盤塊號集中地放在一起,索引分配方式就是基于此想法所形成的一種分配方式删豺。

3.1 單級索引

其為每個文件分配一個索引表共虑,再把分配給該文件的所有盤塊號都記錄在該索引塊中,因而該索引塊就是一個含有許多磁盤塊號的數(shù)組呀页。在建立一個文件時妈拌,只需要在為之建立的目錄項中填上指向該索引塊的指針。

3.2 多級索引

當文件太大時蓬蝶,索引塊太多尘分,單級索引是低效的。此時丸氛,為這些索引塊再建立一級索引培愁,稱為第一級索引,還可再建立索引缓窜,稱為第二級索引等等定续。稱為多級索引分配。

在二級索引分配方式下禾锤,若每個盤塊的大小為1KB香罐,每個盤塊號占4個字節(jié),在一個索引塊可以存放256個盤塊號时肿。則庇茫,在兩級索引時,最多可以包括存放文件的盤塊號總數(shù)為64K(256 * 256)個盤塊號螃成,所允許文件最大長度為64MB旦签。

若盤塊號為4KB,則一級索引的最大文件大小為4MB寸宏,二級索引的最大文件大小為4GB宁炫。

3.3 混合索引分配

多種索引分配方式相結(jié)合而形成的一種分配方式,如直接地址氮凝,一次間接地址羔巢,多次間接地址。

Unix SystemV的分配采用了三級索引分配方式罩阵。共設(shè)置了13個索引地址項竿秆。前10個:iaddr(0)~iaddr(9)為直接地址項,iaddr(10)為一次間接地址項稿壁,iaddr(11)為二次間接地址項幽钢,iaddr(12)為三次間接地址項。

4 分配方式比較

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末傅是,一起剝皮案震驚了整個濱河市匪燕,隨后出現(xiàn)的幾起案子蕾羊,更是在濱河造成了極大的恐慌,老刑警劉巖帽驯,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件龟再,死亡現(xiàn)場離奇詭異,居然都是意外死亡尼变,警方通過查閱死者的電腦和手機利凑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來享甸,“玉大人截碴,你說我怎么就攤上這事梳侨◎韧” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵走哺,是天一觀的道長蚯嫌。 經(jīng)常有香客問我,道長丙躏,這世上最難降的妖魔是什么择示? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮晒旅,結(jié)果婚禮上栅盲,老公的妹妹穿的比我還像新娘。我一直安慰自己废恋,他們只是感情好谈秫,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鱼鼓,像睡著了一般拟烫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迄本,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天硕淑,我揣著相機與錄音,去河邊找鬼嘉赎。 笑死置媳,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的公条。 我是一名探鬼主播半开,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼赃份!你這毒婦竟也來了寂拆?” 一聲冷哼從身側(cè)響起奢米,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎纠永,沒想到半個月后鬓长,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡尝江,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年涉波,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片炭序。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡啤覆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惭聂,到底是詐尸還是另有隱情窗声,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布辜纲,位于F島的核電站笨觅,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏耕腾。R本人自食惡果不足惜见剩,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扫俺。 院中可真熱鬧苍苞,春花似錦、人聲如沸狼纬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畸颅。三九已至担巩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間没炒,已是汗流浹背涛癌。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留送火,地道東北人拳话。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像种吸,于是被迫代替她去往敵國和親弃衍。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容