1,文件的邏輯結(jié)構(gòu)file logical structure:按用戶觀點(diǎn)如何組織數(shù)據(jù);又稱文件組織file organization
①定長(zhǎng)記錄(例順序文件)
②變長(zhǎng)記錄(例索引文件)
? 1)順序文件。系統(tǒng)需按該類型記錄“長(zhǎng)度”,通常定長(zhǎng)。
? 2)索引文件。系統(tǒng)需為文件建立索引表。
? 3)索引順序文件。建索引表,記錄每組記錄的第一個(gè)記錄位置。
? 4)無結(jié)構(gòu)文件(字符流式)。字節(jié)為單位,利用讀寫指針依次訪問。系統(tǒng)對(duì)該類文件不需格式處理。
2,文件的物理結(jié)構(gòu):根據(jù)外存上的物理塊的分配機(jī)制,記錄文件外存的存儲(chǔ)結(jié)構(gòu)。用戶感知不到的。
目標(biāo):有效利用外存空間,提高文件訪問速度
常用三種方式:
連續(xù)分配
鏈接分配(不連續(xù))
索引分配
通常一個(gè)系統(tǒng)中僅采用一種方式
采用的磁盤分配方式?jīng)Q定了文件的“物理結(jié)構(gòu)”
順序結(jié)構(gòu);鏈接式結(jié)構(gòu);索引式結(jié)構(gòu)。
注意與邏輯結(jié)構(gòu)名類似但不是一回事。
3,連續(xù)存儲(chǔ):
為每一個(gè)文件分配一組相鄰的盤塊。
邏輯文件中的記錄順序與存儲(chǔ)器中文件占用盤塊的順序一致。
優(yōu)點(diǎn):順序訪問容易,讀寫速度快
缺點(diǎn):會(huì)產(chǎn)生外存碎片??删o湊法彌補(bǔ),但需要額外的空間,和內(nèi)存緊湊相比更花時(shí)間。
創(chuàng)建文件時(shí)要給出文件大小;存儲(chǔ)空間利用率不高,不利于文件的動(dòng)態(tài)增加和修改。
4,鏈接分配
設(shè)置鏈接指針,將同屬于一個(gè)文件的多個(gè)離散盤塊鏈接成一個(gè)鏈表,這樣形成的文件稱為鏈接文件。會(huì)有鏈接成本。
優(yōu)點(diǎn):
離散分配,消除外部碎片,提高利用率
同時(shí)適用于文件的動(dòng)態(tài)增長(zhǎng);修改容易
1)隱式鏈接
鏈接信息隱含記錄在盤塊數(shù)據(jù)中;
每個(gè)盤塊拿出若干字節(jié),記錄指向下一盤塊號(hào)的指針。
問題:只能順著盤塊讀取,可靠性低,可靠性低。
2)顯式鏈接
錄盤塊鏈接的指針顯示地記錄為一張鏈接表;
所有已分配的盤塊號(hào)記錄在其中,稱文件都分配表;
為了提高文件系統(tǒng)訪問速度,F(xiàn)AT一般常駐內(nèi)存。
5,
表項(xiàng)大小取決于盤快數(shù)量編碼所需的位數(shù)。
表項(xiàng)個(gè)數(shù)=盤塊個(gè)數(shù)。
6,索引分配
系統(tǒng)運(yùn)行時(shí)只涉及部分文件,F(xiàn)AT表無需全部調(diào)入內(nèi)存
每個(gè)文件單獨(dú)建索引表(物理盤塊索引),記錄所有分配給它的盤塊號(hào);
建立文件時(shí),便分配一定的外存空間用于存放文件盤塊索引表信息;
③混合組織索引(增量式索引組織方式)
iaddr(0)~iaddr(9)存放直接地址,即存文件數(shù)據(jù)的盤塊號(hào);
iaddr(10)存放單級(jí)索引的索引盤塊號(hào);
剩余的用于文件較大時(shí)存放多級(jí)索引數(shù)據(jù)。
iaddr(11)存放二級(jí)索引的主索引盤塊號(hào)
iaddr(12)存放三級(jí)索引的主索引盤塊號(hào)