1. 程式人生 > >作業系統 第七、八章 目錄管理 + 檔案共享和保護

作業系統 第七、八章 目錄管理 + 檔案共享和保護

目錄管理:

1、檔案控制塊—FCB

為檔案設定用於描述和控制檔案的資料結構,稱之為“檔案控制塊”(FCB)

檔案與檔案控制塊一一對應、

記錄檔名及其存放地址、檔案的說明和控制資訊。

 檔案管理程式藉助於檔案控制塊中的資訊對檔案施以各種操作。

2、檔案目錄

把 檔案控制塊的有序集合稱為   檔案目錄。

即一個檔案控制塊就是一個目錄項。

通常一個檔案目錄也被看作是一個檔案,稱為目錄檔案

3、FCB內容:

  • 對於連續檔案:檔案起始塊號;
  • 對於連結檔案:指向第一個物理塊的指標;
  • 對於索引檔案:索引表地址。

在檔案控制塊中,通常含有以下三類資訊:

1)基本資訊類 :包括檔名,檔案物理位置,檔案邏輯結構,檔案的物理結構。

2)存取控制資訊類 :包括檔案主的存取許可權,核准使用者的存取許可權和一般使用者的存取許可權。

3)使用資訊類 :建立日期和時間、檔案上次修改的日期和時間

                     當前使用資訊:開啟該檔案的程序數、是否被程序鎖住、是否已修改等。

4、檢索速度:

        檔案FCB組成的“目錄”檔案存放於磁碟(外存上);需要時,要從磁碟將目錄內容調入記憶體進行檢索和使用。

                                                    如果目錄佔用多個盤塊,則需啟動多次磁頭讀寫,檢索速度慢,

                                                                                  如何提高檢索速度?

 1)索引結點:    (檔名 + 索引結點指標)

       將檔名、檔案具體資訊分開,使檔案描述資訊單獨形成一個索引結點,減少實際檢索的資訊量,提高速度。

       1.1    索引結點由外存到記憶體的過程中有不同的形式:

             1.1.1 磁碟索引結點    

             1.1.2 記憶體索引結點

  2) 目錄結構 :

   ①單級目錄結構:

        整個檔案系統中只建立一張目錄表,每個檔案一個目錄項,含有檔案相關資訊。

        1.1每建立一個新檔案: 先檢索所有的目錄項,保證檔名唯一。 獲得一空白目錄項,填入相關資訊,修改狀態位(表明每個目錄項是否空閒)。

        1.2 刪除一個檔案: 找到對應目錄項,回收檔案所佔用空間 ;   清除目錄項

         1.3 優點: 實現 按名存取

         1.4 缺點

                         檔案檢索時需搜遍整個目錄檔案,範圍大速度慢。

                          不允許重名。

                          不便於實現檔案共享    

     ②兩級目錄結構:

        為每一個使用者建立一個單獨的使用者檔案目錄  UFD,UFD由使用者所有檔案的檔案控制塊組成。

        系統建立一個主檔案目錄  MFD, MFD中每個使用者目錄檔案都佔有一個目錄項,其中包括使用者名稱指向UFD的指標

        1.1  優點:  

                   提高了檢索目錄的速度。

                   在不同的目錄中可重名。

                   不同使用者還可以使用相同/不同的檔名來訪問系統中的同一個共享檔案。(不同使用者下可重名)

        1.2  缺點: 

不提供子目錄操作,還不方便;各使用者之間被完全隔離的話使用者訪問其他使用者檔案時,不方便合作。

   ③多級目錄結構:(又稱為樹狀目錄)

       適用於較大的檔案系統管理。

      1.1  優點:

           在檔案數目較多時,便於系統和使用者將檔案分散管理。

           層次結構更清晰、提供更靈活的許可權管理等

     1.2  缺點:

            但目錄級別太多時也會增加路徑檢索層次,增加磁碟訪問時間。

    1.3 相關名詞

         1.3.1 目錄結構 :

            主目錄稱為根目錄,資料檔案為樹葉,其它目錄為結點。多級目錄縮小檢索範圍提高檢索速度和檔案系統的效能。

         1.3.2 路徑名 :

            從根目錄到任何資料檔案都只有一條唯一通路

            目錄檔名 和 資料檔名依次用  “/”  連線起來,即構成資料檔案的路徑名

         1.3.3 當前目錄 :

             為每個程序設定一個“當前目錄”,又稱“工作目錄”。

             從當前目錄開始,逐級經過中間的目錄檔案,最後達到要訪問的資料檔案。

             這一路徑上的目錄和資料檔名用“/”連線成路徑名,稱為相對路徑名

             從根開始的路徑名稱為絕對路徑名。

3)目錄查詢技術:

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

     1. 線性檢索法:(又稱為順序檢索法)

          單級目錄中 :使用者提供檔名,順序查詢檔案目錄。

          樹型目錄中: 使用者提供路徑名,對多級目錄進行 逐層查詢。

     2. Hash 方法:

         如果建立了一張Hash索引檔案目錄,便可利用Hash方法進行查詢。

       對於使用萬用字元的檔案名系統無法利用Hash法檢索目錄,還是需用線性查詢法

檔案共享與保護:

1)檔案共享

      ① 索引結點 :

            

           基本FCB法: 名+詳細資訊。 直接在檔案目錄中包含檔案的實體地址,該方法實現的共享不適用檔案動態變化。一個使用者對檔案的修改(如物理塊號增加),對其他使用者不可見,共享檔案的FCB資訊記錄同步更新困難。

           檔名+索引結點指標。  一個使用者修改指標指向地址裡的內容,指標不變,其他使用者通過指標總能感知索引結點中的最新內容 

      ②符號鏈法:

        link檔案:   “檔名+共享檔案路徑”

       該方法適用於網路檔案共享,但根據路徑檢索共享檔案的目標位置增加了訪問開銷,link檔案獨佔索引結點也耗費一定的空間。

2)磁碟容錯:

    磁碟表面故障

    磁碟驅動器、控制器故障

    高階容錯技術