作業系統 檔案管理(上)

2021-10-19 08:29:21 字數 2931 閱讀 6751

檔名:由建立檔案的使用者決定檔名,主要是為了方便使用者找到檔案,**同一目錄下不允許有重名檔案**

識別符號:乙個系統內的各個檔案識別符號唯一,對使用者來說毫無可讀性,因此識別符號只是作業系統用於去分各個檔案的一種內部名稱

型別:指明檔案的型別

大小:指明檔案大小

保護資訊:對檔案進行保護的訪問控制資訊

建立時間、上次修改時間、檔案所有者資訊等

建立檔案(create系統呼叫)

刪除檔案(delete系統呼叫)

讀檔案(read系統呼叫)

寫檔案(write系統呼叫)

開啟檔案(open系統呼叫)

關閉檔案(close系統呼叫)

可用幾個基本操作完成更複雜的操作,如複製檔案等

類似於資料結構中的「邏輯結構」和「物理結構」

如「線性表」就是一種邏輯結構,在使用者角度看來,線性表就是一組有先後關係的元素序列

「線性表」這種邏輯結構可以用不同的物理結構實現,如順序表/鍊錶。

有結構檔案的邏輯結構分為

索引檔案

索引順序檔案

目錄檔案中的一條記錄就是乙個「檔案控制塊(fcb)」

fcb的有序集合稱為「檔案目錄」,乙個fcb就是乙個檔案目錄項,fcb中包含了檔案的基本資訊

單級目錄結構

整個系統中只建立一張目錄表,沒餓檔案佔乙個目錄表

單級目錄實現了「按名訪問」,但是不允許檔案重名

兩級目錄結構:分為主檔案目錄(mfd)和使用者級目錄(ufd)

1.主檔案目錄記錄使用者名稱及相應使用者檔案目錄的存放位置

2.使用者檔案目錄由該使用者的檔案fcb組成

3.允許不同使用者名稱的檔案重名

多級目錄結構(樹形目錄結構)

使用者要訪問某個檔案時要用檔案路徑名標識檔案,檔案路徑名是個字串。

各級目錄之間用「/」隔開。從根目錄出發的路徑稱為**絕對路徑**,可以使用從當前目錄出發的「相對路徑」。

無環圖目錄結構

可以用不同的檔名指向同乙個檔案,甚至可以指向同乙個目錄

需要為每個共享結點設定乙個共享計數器,用於記錄此時有多少個地方在共享該結點,計數器為0時才真正刪除該結點

注意:共享檔案不同於複製檔案。在共享檔案中,由於使用者指向的是同乙個檔案

因此只要其中乙個使用者修改了檔案資料,那麼所有使用者都可以看到檔案資料的變化

鏈結分配採取離散分配的方式,可以為檔案分配離散的磁碟塊。分為隱式鏈結顯示鏈結兩種。

隱式鏈結

檔名…起始塊號

結束塊號

aaaa…9

16 顯示鏈結

把用於鏈結檔案各物理塊的指標顯示的存放在一張表中。即檔案分配表(fat,file allocation table)
檔名

…起始塊號

aaa…

2bbb…4

物理塊號

下一塊012

-1354

-1523…

022233

假設某個新建立檔案「aaa」依次存放在磁碟塊2->5->0->1

假設某個新建立檔案「bbb」依次存放在磁碟塊4->23->3

索引分配允許檔案離散地分配在各個磁碟塊中,系統會為每個檔案建立一張索引表,索引表中記錄了檔案的各個邏輯塊對應的物理塊(索引表功能類似於記憶體管理中的頁表)。索引表存放的磁碟塊稱為索引塊。檔案資料存放的磁碟塊稱為資料塊

檔名…索引塊

aaa…

7bbb…23

假設某個新建立的檔案「aaa」的資料依次存放在磁碟塊2->5->13->9。

7號磁碟塊作為「aaa」的索引塊,索引塊中儲存了索引表的內容

邏輯塊號

物理塊號02

15213

39索引分配方式可以支援隨機訪問。檔案拓展也很容易實現,只需要給檔案分配乙個空閒塊,並增加乙個索引表項即可。

物理結構總結

how?

目錄項內容

優點缺點

順序分配

為檔案分配的必須是連續的磁碟塊

起始塊號、檔案長度

順序訪問速度快,支援順序訪問

會產生碎片,不利於檔案拓展

隱式鏈結

出檔案的最後乙個磁碟塊之外,每個盤塊中都存有指向下乙個盤塊的指標

起始塊號、結束塊號

可解決碎片問題,外存利用率高,檔案拓展實現方便

只能順序訪問,不能隨機訪問

顯示鏈結

建立一張檔案分配表(fat),顯示記錄盤塊的先後關係(開機後fat常駐記憶體)

起始塊號

除了擁有隱式鏈結的優點之外,還可通過查詢記憶體中的fat實現隨機訪問

fat需要占用一定的儲存空間

索引分配

為檔案資料塊建立索引表,若檔案太大,可採用鏈結方案、多層索引、混合索引

鏈結方案記錄的是第乙個索引塊的塊號,多層/混合索引記錄的是頂級索引號的塊號

支援隨機訪問,易於實現穩健的拓展

索引表需占用一定的儲存空間。訪問資料塊前需要先讀入索引塊。若採用鏈結方案,查詢索引塊時可能需要很多次讀磁碟操作。

作業系統 檔案管理

使用者作業中要用到各種各樣的資訊,如源程式 目標程式 資料 各種語言的編譯程式等。有的資訊需要長期儲存,而有的只是臨時使用。計算機系統經常把資訊儲存在磁碟等儲存介質上,也要利用輸入級 印表機等裝置進行資訊的輸入或輸出。啟動外圍裝置訪問資訊時一項相當複雜 繁瑣的工作。為減輕使用者的負擔和保證系統的安全...

作業系統 檔案管理

檔案系統是用來管理計算機內部儲存的程式和資料。陣列組成可分為 資料項 記錄和檔案。資料項可以組成記錄,記錄可以組成檔案。屬性 檔案具有以下屬性 檔案型別 檔案長度 檔案物理位置 檔案的建立時間。型別 檔案型別可分為普通檔案 目錄檔案 特殊檔案。為了方便統一管理,系統將所有的輸入輸出裝置都視為檔案。檔...

作業系統 檔案管理

9 檔案系統的層次結構 10 磁碟 外存 10.4 磁碟的管理 1 順序檔案 2 索引檔案 3 索引順序檔案 1 實現 乙個檔案對應乙個fcb 檔案控制塊 乙個fcb就是乙個目錄項,多個fcb組成檔案目錄 2 操作 搜尋 建立檔案 刪除檔案 顯示檔案 修改檔案 3 目錄結構 4 索引結點 存放除了檔...