目錄

文件控制塊—FCB

為了能對(duì)一個(gè)文件進(jìn)行正確的存取,必須為文件設(shè)置用于描述和控制文件的數(shù)據(jù)結(jié)構(gòu),稱之為“文件控制塊”(FCB)

文件與文件控制塊一一對(duì)應(yīng)

記錄文件名及其存放地址、文件的說明和控制信息。(是誰?在哪里?什么權(quán)?)

文件管理程序借助于文件控制塊中的信息對(duì)文件施以各種操作。

? 把文件控制塊的有序集合稱為文件目錄,即一個(gè)文件控制塊就是一個(gè)目錄項(xiàng)。通常一個(gè)文件目錄也被看作是一個(gè)文件,稱為目錄文件。

目錄管理

對(duì)文件實(shí)施有效的管理,必須對(duì)它們加以妥善組織,主要是兩大操作:

1.基本信息記錄(FCB,目錄項(xiàng))

2.方便檢索、管理(目錄操作)

目錄管理的要求如下:

實(shí)現(xiàn)“按名存取”;(最基本功能)

提高對(duì)目錄的檢索速度;

文件共享;

允許文件重名。

1)FCB內(nèi)容

在文件控制塊中,通常含有以下三類信息。

1.基本信息類

包括文件名,文件物理位置,文件邏輯結(jié)構(gòu),文件的物理結(jié)構(gòu)。

2.存取控制信息類

包括文件主的存取權(quán)限,核準(zhǔn)用戶的存取權(quán)限和一般用戶的存取權(quán)限。

3.使用信息類

建立日期和時(shí)間、文件上次修改的日期和時(shí)間

當(dāng)前使用信息:打開該文件的進(jìn)程數(shù)、是否被進(jìn)程鎖住、是否已修改等。

2)索引結(jié)點(diǎn)

索引結(jié)點(diǎn)的引入

文件目錄占越大量的盤塊,需進(jìn)行的磁盤讀寫開銷越大。減少實(shí)際檢索的信息量就減少移動(dòng)磁頭的開銷,提高速度;

目錄一般是按名檢索。而直到找到正確文件前,只關(guān)心文件名,不需要其它的文件描述信息,目錄中這部分內(nèi)容的調(diào)入不是必須的。

所以:將文件名、文件具體信息分開,使文件描述信息單獨(dú)形成一個(gè)索引結(jié)點(diǎn)。

Unix為例,

目錄項(xiàng)簡(jiǎn)化為16B:

文件名+索引結(jié)點(diǎn)指針

0? 13? 14? 15

索引結(jié)點(diǎn)由外存到內(nèi)存的過程中有不同的形式:

磁盤索引結(jié)點(diǎn)

存放在磁盤上的索引結(jié)點(diǎn)。主要包括以下內(nèi)容:文件主標(biāo)識(shí)符、文件類型、文件存取權(quán)限、文件物理地址、文件長(zhǎng)度、文件連接計(jì)數(shù)、文件存取時(shí)間。

內(nèi)存索引結(jié)點(diǎn)

文件被打開后,將磁盤索引結(jié)點(diǎn)拷貝到內(nèi)存索引結(jié)點(diǎn)中以便使用。比磁盤索引結(jié)點(diǎn)增加了以下內(nèi)容:索引結(jié)點(diǎn)編號(hào)、狀態(tài)、訪問計(jì)數(shù)、文件所屬文件系統(tǒng)的邏輯設(shè)備號(hào)、鏈接指針。

3)目錄結(jié)構(gòu)

目錄結(jié)構(gòu)的組織,關(guān)系到文件系統(tǒng)的存取速度,也關(guān)系到文件的共享性和安全性。

組織好文件的目錄,是設(shè)計(jì)好文件系統(tǒng)的重要環(huán)節(jié)。

目前常用的目錄結(jié)構(gòu)形式有

單級(jí)目錄

兩級(jí)目錄

多級(jí)目錄

①單級(jí)目錄結(jié)構(gòu)(Single-Level Directory)

最簡(jiǎn)單的目錄結(jié)構(gòu)。

整個(gè)文件系統(tǒng)中只建立一張目錄表,每個(gè)文件一個(gè)目錄項(xiàng),含有文件相關(guān)信息。

每建立一個(gè)新文件:

先檢索所有的目錄項(xiàng),保證文件名唯一。

獲得一空白目錄項(xiàng),填入相關(guān)信息,修改狀態(tài)位(表明每個(gè)目錄項(xiàng)是否空閑)。

刪除一個(gè)文件:

找到對(duì)應(yīng)目錄項(xiàng),回收文件所占用空間

清除目錄項(xiàng)

優(yōu)點(diǎn):簡(jiǎn)單、能實(shí)現(xiàn)目錄管理的基本功能——按名存取。

缺點(diǎn):

1.文件檢索時(shí)需搜遍整個(gè)目錄文件,范圍大速度慢。

2.不允許重名。名字過多難于記憶,對(duì)于多用戶環(huán)境重名難以避免。

3.不便于實(shí)現(xiàn)文件共享(因?yàn)椴荒苤孛?,不同用戶使用的共享文件必須不同名字,?biāo)識(shí)哪些用戶共享文件也不方便),一般只適用單機(jī)環(huán)境。

②兩級(jí)目錄結(jié)構(gòu)(Two-Level Directory )

為每一個(gè)用戶建立一個(gè)單獨(dú)的用戶文件目錄UFD,UFD由用戶所有文件的文件控制塊組成。

系統(tǒng)建立一個(gè)主文件目錄MFD, MFD中每個(gè)用戶目錄文件都占有一個(gè)目錄項(xiàng),其中包括用戶名和指向UFD的指針。

兩級(jí)目錄的特點(diǎn)

基本克服了單級(jí)目錄的缺點(diǎn),并具有以下優(yōu)點(diǎn):

1.提高了檢索目錄的速度。

2.在不同的目錄中可重名。

3.不同用戶還可以使用相同/不同的文件名來訪問系統(tǒng)中的同一個(gè)共享文件。

不提供子目錄操作,還不方便;各用戶之間被完全隔離的話用戶訪問其他用戶文件時(shí),不方便合作。

③多級(jí)目錄結(jié)構(gòu)

適用于較大的文件系統(tǒng)管理。又稱為樹狀目錄(tree-like)

在文件數(shù)目較多時(shí),便于系統(tǒng)和用戶將文件分散管理。

層次結(jié)構(gòu)更清晰、提供更靈活的權(quán)限管理等

但目錄級(jí)別太多時(shí)也會(huì)增加路徑檢索層次,增加磁盤訪問時(shí)間。

相關(guān)名詞:

目錄結(jié)構(gòu)

主目錄稱為根目錄,數(shù)據(jù)文件為樹葉,其它目錄為結(jié)點(diǎn)。多級(jí)目錄縮小檢索范圍提高檢索速度和文件系統(tǒng)的性能。

路徑名

從根目錄到任何數(shù)據(jù)文件都只有一條唯一通路。目錄文件名和數(shù)據(jù)文件名依次用“/”連接起來,即構(gòu)成數(shù)據(jù)文件的路徑名。

當(dāng)前目錄

為每個(gè)進(jìn)程設(shè)置一個(gè)“當(dāng)前目錄”,又稱“工作目錄”。

從當(dāng)前目錄開始,逐級(jí)經(jīng)過中間的目錄文件,最后達(dá)到要訪問的數(shù)據(jù)文件。這一路徑上的目錄和數(shù)據(jù)文件名用“/”連接成路徑名,稱為相對(duì)路徑名。

從根開始的路徑名稱為絕對(duì)路徑名

4)目錄查詢技術(shù)

用戶要訪問一個(gè)已存文件

目錄數(shù)據(jù)調(diào)入內(nèi)存;

按名檢索:系統(tǒng)利用提供的文件名對(duì)目錄(根據(jù)目錄層次,需要做的檢索次數(shù)也不同)進(jìn)行查詢

找該文件控制塊

讀FCB或?qū)?yīng)索引結(jié)點(diǎn);

從文件物理地址換算出文件在磁盤上的物理位置;

最后通過磁盤驅(qū)動(dòng)程序,將所需文件讀入內(nèi)存。

目錄查詢方式:線性檢索法和Hash方法。

線性檢索法

又稱為順序檢索法。

單級(jí)目錄中

用戶提供文件名,順序查找文件目錄。

樹型目錄中

用戶提供路徑名,如/user/ast/mbox

對(duì)多級(jí)目錄進(jìn)行逐層查找。

文件共享與保護(hù)

1)文件共享

多個(gè)用戶共享一份文件,只保留文件的一份副本,節(jié)約存儲(chǔ)空間

共享范圍:?jiǎn)螜C(jī)系統(tǒng)/多主機(jī)系統(tǒng)/網(wǎng)絡(luò)范圍

20世紀(jì)六七十年代,出現(xiàn)了若干文件早期共享方法,繞彎路法、連訪法等,逐漸發(fā)展為現(xiàn)代一些共享方式

索引結(jié)點(diǎn)

符號(hào)鏈

①索引結(jié)點(diǎn)法

基本FCB法:

名+詳細(xì)信息。

直接在文件目錄中包含文件的物理地址,該方法實(shí)現(xiàn)的共享不適用文件動(dòng)態(tài)變化。一個(gè)用戶對(duì)文件的修改(如物理塊號(hào)增加),對(duì)其他用戶不可見,共享文件的FCB信息記錄同步更新困難。

文件名+索引結(jié)點(diǎn)指針。

一個(gè)用戶修改指針指向地址里的內(nèi)容,指針不變,其他用戶通過指針總能感知索引結(jié)點(diǎn)中的最新內(nèi)容

索引結(jié)點(diǎn)中增加count計(jì)數(shù)

主人刪除操作問題:

刪,共享用戶訪問錯(cuò)誤;不刪,計(jì)費(fèi)問題。

②符號(hào)鏈法

創(chuàng)建一個(gè)link類型的文件:“文件名+共享文件路徑”(類似快捷方式)

文件主人刪除文件,共享者只會(huì)出現(xiàn)找不到文件錯(cuò)誤。不會(huì)發(fā)生共享文件刪除后出現(xiàn)懸空指針的情況。

該方法適用于網(wǎng)絡(luò)文件共享,但根據(jù)路徑檢索共享文件的目標(biāo)位置增加了訪問開銷,link文件獨(dú)占索引結(jié)點(diǎn)也耗費(fèi)一定的空間。

無論哪種共享,鏈接就對(duì)應(yīng)一個(gè)文件,如果遍歷復(fù)制整個(gè)目錄內(nèi)的文件,可能會(huì)從多條路徑對(duì)共享文件進(jìn)行多次訪問

2)磁盤容錯(cuò)

SFT,system fault tolerance

防止磁盤故障造成的文件不安全

SFT I:磁盤表面故障

雙目錄、雙文件分配表(空間冗余)

寫后讀校驗(yàn)、熱修復(fù)重定向(時(shí)間操作冗余)

寫入磁盤后再讀回內(nèi)存做一致性校驗(yàn)

熱修復(fù)寫過程:從壞道重定向到專區(qū)并記錄

SFT II:磁盤驅(qū)動(dòng)器、控制器故障

驅(qū)動(dòng)器故障:磁盤鏡像

控制器故障:磁盤雙工——并行控制器,分離搜索加快讀取

SFT III:高級(jí)容錯(cuò)技術(shù)

雙機(jī)熱備份

雙機(jī)互備份

公用磁盤模式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 現(xiàn)代計(jì)算機(jī)系統(tǒng)主要通過文件目錄對(duì)其大量存儲(chǔ)的文件進(jìn)行有效的管理。文件目錄是一種數(shù)據(jù)結(jié)構(gòu),用于標(biāo)識(shí)系統(tǒng)中的文件及其物...
    saviochen閱讀 1,482評(píng)論 0 5
  • 目錄 文件控制塊---FCB 為了能對(duì)一個(gè)文件進(jìn)行正確的存取,必須為文件設(shè)置用于描述和控制文件的數(shù)據(jù)結(jié)構(gòu),稱之為文...
    w王好人w閱讀 1,332評(píng)論 0 0
  • 1、文件和文件系統(tǒng) 文件管理:把所管理的程序和數(shù)據(jù)組織成一系列的文件,并能進(jìn)行合理的存儲(chǔ)、使用等操作。 1 )基本...
    盆栽木只閱讀 1,583評(píng)論 0 0
  • 從前奏便喜歡上了這首歌,卻不曾想聽著聽著就陷入了沉思,想想自己的青春 做了什么 , 沒做什么,還能做什么... ....
    Re_Young閱讀 732評(píng)論 0 1
  • 在北方做生意,四處都是爺,都要打點(diǎn)好,人情社會(huì),哪怕是球友,整天在一起稱兄道弟的,真遇到事了,需要幫忙了,咱也需要...
    內(nèi)心一直帥閱讀 129評(píng)論 0 0

友情鏈接更多精彩內(nèi)容