【我的筆記】文件系統(一)基本結構知識

內存的主要使用者是進程,而外存的主要使用者是用戶,外存中的信息可以離開進程獨立的存在。

可將外存數據的集合體稱為文件,將外存抽象成文件的集合。外存的管理者稱為文件系統。

外存通常被劃分為大小相等的存儲塊,每個存儲塊有一個地址(序號)。外存的基本訪問單位為塊。


1、外部存儲器

(1)磁帶:能永久保存大容量數據,順序存取,存取速度慢,主要用于備份。

(2)磁盤:隨機存取,可以定位并存取磁盤上任意存儲塊中的數據。

一次磁盤操作時間=尋道時間 + 旋轉延遲時間 + 數據傳輸時間。

(3)光盤:容量大,便宜,結構與磁盤類似。

(4)U盤:Flash Memory,與內存類似,在掉電情況下內容不會丟失

(5)外存抽象

(6)分區與卷

磁盤分區的實例

2、外存管理

(1)分配策略

外存分配給文件 —— ①預分配(文件創建時為其分配存儲空間);② 動態分配(按需分配)

(2)分配單位

分配單位可以是扇區、塊、簇。綜合考慮,常用的分配單位有以下兩種:

①連續、變長大分配單位 ——NTFS

②不連續、定長小分配單位(塊) ——EXT2/3/4

(3)空閑塊管理(略寫)

外存管理的首要任務是記錄塊的使用情況。

①空閑空間表法——適用于連續、變長大單位分配、

②空閑塊鏈表法——小塊鏈表適合于以塊為單位的定長、動態分配;大塊鏈表適合于連續的、變長分配。

③位圖法——即可用于變長的連續分配,也可用于定長的非連續分配。

④空閑塊成組鏈接法


3、文件物理結構

邏輯塊是分配給文件的。在文件的生存周期中,它會請求追加和釋放邏輯塊,邏輯塊內的數據會被讀、寫。

文件系統要為每個文件建立一個數據結構,記錄它的各個文件塊在外存中的位置(文件的各個數據塊多對應的邏輯塊)映射關系取決于文件在外存上的存儲方式或存儲結構(即文件的物理組織結構)。

(1)連續結構——可用作備份,光盤上大量使用

將文件數據連續存儲在連續的邏輯塊中,只需文件在外存上的開始位置和大小。

(2)串連結構:每個邏輯塊中設立一個指針,指向文件的下一個邏輯塊。

(3)索引結構:為每個文件建立一個索引表,在其中記錄文件各數據塊到邏輯塊的映射關系。

(4)多重索引結構

為了方便擴充,應建立多重索引表(索引表分級,類似多級頁表)

(5)ucore采用簡化的多重索引結構。前12塊(0-11)直接索引,12塊以后簡介索引。

每個sfs_disk

文件最大為 1024*4096 + 12*4096 字節。


4、文件控制塊

(1)FCB文件控制塊 —— 文件的檔案,一個文件控制塊唯一的描述一個文件。包含內容:

(2)一個文件有兩種標識:文件系統用文件控制塊和標志號描述整個文件;用戶用文件名。

文件名到文件控制塊的映射 --> 目錄或文件夾

一個目錄通常是一張表,其中的表項稱為目錄項,一個 目錄項記錄一個名字與一個FBC的對應關系。(目錄項:文件名到文件的映射,即文件名與inode號的對應關系)

一個文件只能有一個FBC,但是可以有多個文件名。代表同一文件的不同名字可以位于不同的目錄中。

①單級目錄結構

②二級目錄結構:用戶名為第一級,文件為第二級

③樹型目錄結構:允許用戶在自己的目錄中再建立子目錄。

目錄樹一個唯一的根,文件是樹的葉子。標識文件的方法是路徑名。

用戶或進程當前的位置為當前工作目錄,用戶注冊時的工作目錄為他的home。

從根到某一個特定文件的路徑稱為絕對路徑;從當前工作目錄到特定文件的路徑稱為相對路徑。(絕對路徑是相對于主目錄 home 的路徑名;相對路徑名是相對于其當前工作目錄的路徑名)

④非循環圖目錄結構

樹型目錄結構不支持共享,增加了共享以后的樹變成了圖。

非循環圖目錄結構允許一個文件或目錄出現在多個父目錄中。

ucore中FCB結構的nlink就是硬鏈接數。

(3)ucore一個存儲塊中僅保存一個目錄項。目錄項:文件名到文件的映射,即文件名與inode號的對應關系。ucore目錄是一個目錄項的數組。

EXE根目錄文件實例:第一個名字“.”,第二個名字“..”,前兩個inode號均為2。

(4)如果一個文件僅有一個名字,刪除文件時要刪除目錄項和文件的FCB。如果文件有多個名字 --> 刪除目錄項不一定刪除FCB。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,622評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,716評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,746評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,991評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,706評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,036評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,029評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,203評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,725評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,451評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,677評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,161評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,857評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,266評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,606評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,407評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,643評論 2 380

推薦閱讀更多精彩內容