目錄桨螺、文件與磁盤空間管理

一、文件控制塊(FCB)

目的:為了能對一個(gè)文件進(jìn)行正確的存取酿秸。

內(nèi)容:

1灭翔、基本信息類:包括文件名,文件物理位置辣苏,文件邏輯結(jié)構(gòu)肝箱,文件的物理結(jié)構(gòu)哄褒。

2、存取控制信息類:包括文件主的存取權(quán)限煌张,核準(zhǔn)用戶的存取權(quán)限和一般用戶的存取權(quán)限呐赡。

3、使用信息類:建立日期和時(shí)間骏融、文件上次修改的日期和時(shí)間

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

二粥脚、索引節(jié)點(diǎn)

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

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

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

三憔鬼、目錄結(jié)構(gòu)

(1)單級目錄結(jié)構(gòu)

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

優(yōu)點(diǎn):簡單,能實(shí)現(xiàn)基本功能

缺點(diǎn):不允許重名仰禀,不便于共享侮叮,

(2)兩級目錄結(jié)構(gòu)

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

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

優(yōu)點(diǎn):提高了速度卸勺,不同目錄可重名砂沛,可共享

缺點(diǎn):不提供子目錄操作,還不方便曙求;各用戶之間被完全隔離的話用戶訪問其他用戶文件時(shí)碍庵,不方便合作。

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

這一路徑上的目錄和數(shù)據(jù)文件名用“/”連接成路徑名悟狱,稱為相對路徑名静浴。從根開始的路徑名稱為絕對路徑名

優(yōu)點(diǎn):便于系統(tǒng)和用戶將文件分散管理;提供更靈活的權(quán)限管理等

四挤渐、文件共享與保護(hù)

1苹享、共享

基本FCB法:直接在文件目錄中包含文件的物理地址

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

符號鏈法:創(chuàng)建一個(gè)link類型的文件:“文件名+共享文件路徑”得问。文件主人刪除文件,共享者只會(huì)出現(xiàn)找不到文件錯(cuò)誤软免。

五宫纬、文件操作

創(chuàng)建、刪除膏萧;讀漓骚、寫;設(shè)置讀寫位置榛泛;打開蝌蹂、關(guān)閉;修改屬性操作挟鸠。

六叉信、文件的邏輯結(jié)構(gòu)

1、文件邏輯結(jié)構(gòu)的類型

有結(jié)構(gòu)文件(記錄式):定長記錄(通常為順序文件)艘希;變長記錄(通常為索引文件硼身、索引順序文件)。

無結(jié)構(gòu)文件(字符流式):字節(jié)為單位覆享,利用讀寫指針依次訪問佳遂。系統(tǒng)對該類文件不需格式處理。

(1)順序文件

兩種記錄排列方式:串結(jié)構(gòu)(按記錄形成的時(shí)間順序串行排序)撒顿;順序結(jié)構(gòu)(按關(guān)鍵字排序)

檢索方法:從頭檢索丑罪;順序結(jié)構(gòu),可用折半查找、插值查找吩屹、跳步查找等算法提高效率跪另。

優(yōu)缺點(diǎn):

不方便隨機(jī)存取某條記錄,但適用批量存取的場合煤搜。

適合磁帶等特殊介質(zhì)免绿。

單記錄的查找、修改等交互性差擦盾;增減不方便

(2)索引文件

為文件建立一個(gè)索引表嘲驾,記錄每項(xiàng)記錄在文件的邏輯地址及記錄長度;該索引表按關(guān)鍵字排序迹卢。索引表內(nèi)容:索引號辽故、長度、記錄地址指針

優(yōu)缺點(diǎn)

適用于變長記錄腐碱,可提高檢索速度誊垢,實(shí)現(xiàn)直接存取。

索引表增加了存儲開銷喻杈。

(3)索引順序文件

將順序文件的所有記錄分組彤枢;還是建立索引表狰晚,但每個(gè)表項(xiàng)記錄的是每組第1條記錄的鍵值和地址筒饰;組內(nèi)記錄仍按順序方式檢索和使用。

七壁晒、外存分配方式

1瓷们、連續(xù)分配

為每一個(gè)文件分配一組相鄰的盤塊。邏輯文件中的記錄順序與存儲器中文件占用盤塊的順序一致秒咐。

優(yōu)點(diǎn):順序訪問容易谬晕,讀寫速度快

缺點(diǎn):會(huì)產(chǎn)生外存碎片;利于文件的動(dòng)態(tài)增加和修改

2携取、鏈接分配

設(shè)置鏈接指針攒钳,將同屬于一個(gè)文件的多個(gè)離散盤塊鏈接成一個(gè)鏈表。這樣形成的文件稱為鏈接文件雷滋。會(huì)有鏈接成本不撑。

優(yōu)點(diǎn):離散分配,消除外部碎片晤斩,提高利用率焕檬;同時(shí)適用于文件的動(dòng)態(tài)增長;修改容易

(1)隱式鏈接

鏈接信息隱含記錄在盤塊數(shù)據(jù)中澳泵;每個(gè)盤塊拿出若干字節(jié)实愚,記錄指向下一盤塊號的指針。

問題:只能順著盤塊讀取,可靠性低

(2)顯式鏈接

記錄盤塊鏈接的指針顯示地記錄為一張鏈接表腊敲。所有已分配的盤塊號都記錄在其中,稱文件分配表碰辅。鏈條的首地址作為文件地址記錄在相應(yīng)文件的FCB的“物理地址”字段中。

為了提高文件系統(tǒng)訪問速度乎赴,F(xiàn)AT一般常駐內(nèi)存

計(jì)算:

表項(xiàng)個(gè)數(shù) = 盤塊個(gè)數(shù)= 容量 / 盤塊大小

表項(xiàng)大小=決定于盤塊數(shù)量編號需要的位數(shù)

FAT表大小 = 表項(xiàng)個(gè)數(shù) * 表項(xiàng)大小

磁盤組織:以簇為單位分配回收、但不規(guī)定盤塊大虚藕稹饿序;

文件組織:以卷為單位,將卷的所有文件信息羹蚣、目錄信息原探、可用未分配空間記錄在主控文件表MFT中。

3顽素、索引分配

系統(tǒng)運(yùn)行時(shí)只涉及部分文件咽弦,F(xiàn)AT表無需全部調(diào)入內(nèi)存。每個(gè)文件單獨(dú)建索引表(物理盤塊索引)胁出,記錄所有分配給它的盤塊號型型;建立文件時(shí),便分配一定的外存空間用于存放文件盤塊索引表信息全蝶;

(1)單級索引分配:適合大文件

(2)多級索引:若文件較大闹蒜,存放索引表也需要多個(gè)盤塊(索引盤塊)。若索引盤塊較多抑淫,需對索引盤塊也采用索引方式管理绷落,形成多級索引。

(3)混合組織索引

一個(gè)索引結(jié)點(diǎn)定義為13個(gè)地址項(xiàng):

iaddr(0)~iaddr(12)始苇,總的來說分為兩種:直接地址砌烁、間接地址

iaddr(0)~iaddr(9)存放直接地址,即存文件數(shù)據(jù)的盤塊號催式;

iaddr(10)存放單級索引的索引盤塊號函喉;

剩余的用于文件較大時(shí)存放多級索引數(shù)據(jù)。

iaddr(11)存放二級索引的主索引盤塊號

iaddr(12)存放三級索引的主索引盤塊號

圖片發(fā)自簡書App

圖片發(fā)自簡書App

圖片發(fā)自簡書App

圖片發(fā)自簡書App

圖片發(fā)自簡書App


八蓄氧、存儲空間的管理

記住空閑存儲空間使用情況函似;為空間設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu);提供對存儲空間分配喉童、回收的操作手段撇寞。

1顿天、空閑表法

(1)數(shù)據(jù)結(jié)構(gòu):系統(tǒng)為外存上的所有空閑區(qū)建立一張空閑表,表項(xiàng)包括序號蔑担、空閑區(qū)的第一個(gè)盤塊號牌废、空閑盤塊數(shù)等蜜托。將所有空閑區(qū)按其起始盤塊號遞增的次序排列倔监。

(2)空間的分配和回收:與內(nèi)存的動(dòng)態(tài)分配類似,同樣可采用首次適應(yīng)算法铜异、循環(huán)首次適應(yīng)算法等没陡。回收主要解決對數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)修改届搁。

2卡睦、空閑鏈表法

(1)數(shù)據(jù)結(jié)構(gòu):鏈(空閑盤塊鏈、空閑盤區(qū)鏈)

(2)空間的分配和回收:

空閑盤塊鏈:請求分配空間時(shí)恕齐,系統(tǒng)從鏈?zhǔn)滓来握逻m當(dāng)數(shù)目的空閑盤塊分配給用戶檐迟。釋放存儲空間時(shí)码耐,系統(tǒng)將回收的盤塊依次插入空閑盤塊鏈的末尾溶其。

空閑盤區(qū)鏈:分配通常采用首次適應(yīng)算法瓶逃。回收盤區(qū)時(shí)契沫,將回收區(qū)與相鄰的空閑盤區(qū)相合并昔汉。為提高檢索速度,可以采用顯式方法口予,為空閑盤區(qū)建立一張鏈表放在內(nèi)存中沪停。

優(yōu)缺點(diǎn):

空閑盤塊鏈:分配回收簡單裳涛。鏈表長端三,大量分配時(shí)需要操作的指針多

空閑盤區(qū)鏈:鏈表長度不定技肩,分配時(shí)操作的指針數(shù)量相對較少,但分配回收操作相對復(fù)雜旋奢。

3至朗、位示圖法

利用二進(jìn)制的一位來表示一個(gè)盤塊的使用情況锹引。值為0表示對應(yīng)的盤塊空閑唆香,為1表示已分配躬它。有的系統(tǒng)則相反。磁盤上的所有盤塊都有一個(gè)二進(jìn)制位與之對應(yīng)倘待,這樣由所有盤塊所對應(yīng)的位構(gòu)成一個(gè)集合凸舵,稱為位示圖啊奄。

(1)數(shù)據(jù)結(jié)構(gòu):二維數(shù)組

(2)空間的分配和回收:

分配:1、順序掃描位示圖整以。找到為0的二進(jìn)制位峻仇。2摄咆、將所找到的一個(gè)或一組二進(jìn)制位,轉(zhuǎn)換成與之對應(yīng)的盤塊號朝蜘。進(jìn)行分配操作涩金。盤塊號計(jì)算公式為:盤塊號 = 列總數(shù)(i-1)+ j;(注意下標(biāo)i步做,j從1開始)*。3煮剧、修改位示圖勉盅。

回收:

1草娜、將回收盤塊的盤塊號轉(zhuǎn)換成位示圖中的行號和列號驱还。轉(zhuǎn)換公式為:i=(盤塊號-1)div列數(shù)+1;j=(盤塊號-1)mod列數(shù)+1(Div 求商闷沥,mod 取余舆逃,公式中的i、j都是從1開始的虫啥。如12號盤塊轉(zhuǎn)換后為1涂籽,12)

2、修改位示圖树枫。

4砂轻、成組鏈接法

所有盤塊按規(guī)定大小劃分為組搔涝;組間建立鏈接体谒;組內(nèi)的盤塊借助一個(gè)系統(tǒng)検阊鳎可快速處理故响,且支持離散分配回收颁独。組內(nèi)的盤塊借助一個(gè)系統(tǒng)棧可快速處理樟蠕,且分配回收比較簡單寨辩。支持離散分配回收歼冰。

(1)數(shù)據(jù)結(jié)構(gòu):空閑盤塊號棧(用來存放當(dāng)前可用的一組空閑盤塊的盤塊號)隔嫡;鏈接

(每一組的第一個(gè)盤塊記錄下一組的盤塊號,形成了一條鏈温兼∧寂校總將鏈的第一組盤塊總數(shù)和所有的盤塊號兰伤,記入棧,作為當(dāng)前可供分配的空閑盤塊號恨溜。)

(2)空閑盤塊的分配與回收

分配:須調(diào)用分配過程來完成

1判族、檢查空閑盤塊號棧是否上鎖,如沒有项戴,便從棧頂取出一空閑盤塊號形帮,將與之對應(yīng)的盤塊分配給用戶,然后將棧頂指針下移一格周叮。

2辩撑、若該盤塊號已是棧底,即S.free(0)仿耽,到達(dá)當(dāng)前棧中最后一個(gè)可供分配的盤塊號合冀。

3、讀取該盤塊號所對應(yīng)的盤塊中的信息:即下一組可用的盤塊號入棧项贺。

4君躺、原棧底盤塊分配出去。修改棧中的空閑盤塊數(shù)。

回收:

1、回收盤塊號記入棧頂砌滞,空閑數(shù)N加1

2铝宵、N達(dá)到100時(shí)侣夷,若再回收一塊,則將該100條信息填寫入新回收塊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件比庄,死亡現(xiàn)場離奇詭異,居然都是意外死亡何吝,警方通過查閱死者的電腦和手機(jī)黔酥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門坑夯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淑履,“玉大人指煎,你說我怎么就攤上這事便斥。” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么室奏? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任谦疾,我火速辦了婚禮仗考,結(jié)果婚禮上叽赊,老公的妹妹穿的比我還像新娘必指。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布弹砚。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪椭迎。 梳的紋絲不亂的頭發(fā)上疼蛾,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機(jī)與錄音察郁,去河邊找鬼衍慎。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绳锅,可吹牛的內(nèi)容都是我干的西饵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鳞芙,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了期虾?” 一聲冷哼從身側(cè)響起原朝,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎镶苞,沒想到半個(gè)月后喳坠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茂蚓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年壕鹉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片聋涨。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晾浴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牍白,到底是詐尸還是另有隱情脊凰,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布茂腥,位于F島的核電站狸涌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏最岗。R本人自食惡果不足惜帕胆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望般渡。 院中可真熱鬧懒豹,春花似錦右蹦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至豹储,卻和暖如春贷盲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剥扣。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工巩剖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钠怯。 一個(gè)月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓佳魔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親晦炊。 傳聞我的和親對象是個(gè)殘疾皇子鞠鲜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

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