操作系統之目錄


目錄

 

 

准備: 文件控制塊——PCB:

    

為了能對一個文件進行正確的存取,必須為文件設置用於描述和控制文件的數據結構,稱之為“文件控制塊”(FCB)
文件與文件控制塊一一對應
記錄文件名及其存放地址、文件的說明和控制信息。
文件管理程序借助於文件控制塊中的信息對文件施以各種操作。
把文件控制塊的有序集合稱為文件目錄,即一個文件控制塊就是一個目錄項。通常一個文件目錄也被看作是一個文件,稱為目錄文件

    一:   目錄管理

   主要有兩大操作:

    1.方便信息記錄(PCB,目錄項)

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

    管理要求:

        (1)   實現按名存取

         (2) 提高對目錄的檢索速度

           (3)  文件共享

        (4)允許文件重名

    (一)  PCB內容

    1:基本信息類:   文件名,文件物理位置,文件邏輯結構,文件物理結構

   2.   存取控制信息 :    文件主的存取權限,其他用戶的存取權限。

  3. 使用信息類:   建立日期,文件修改日期

                               當前使用信息:打開文件的進程數,是否被進程上鎖,是否已經修改。

   (二)索引節點

      將文件名,文件具體信息分開,使文件描述信息單獨形成一個索引結點。

     不同形式:

     1:磁盤索引結點:

           文件主標識符、文件類型、文件存取權限、文件物理地址、文件長度、文件連接計數、文件存取時間。

      2:  內存索引結點:

         將磁盤結點拷貝到內存結點使用。新增一些內容,如:狀態,訪問計數等。

    (三) 目錄結構、

       目錄結構的組織

     1:  單機目錄:

          最簡單的目錄結構。

         整個文件系統中只建立一張目錄表 ,每個文件一個目錄項,含有文件相關信息。

      建立一個新文件:

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

              (2)獲得一張空白目錄項,填入相關信息,修改狀態位

           刪除一個文件:

               (1)  找到對應的目錄項,回收文件所占用空間。

                 (2) 清楚目錄項。

       優點:  

                  簡單,能夠實現目錄管理的基本功能————按名存取

       缺點:

       ( 1:  文件檢索的時候需要搜索所有目錄文件

      ( 2: 不允許重名,對多用戶不友好

        (3:    不便實現文件共享,一般只適用於單機環境。

     2:   兩級目錄結構:

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

   系統建立一個主文件目錄MFD,MFD中每個用戶目錄文件都占有一個目錄項,其中包括用戶名和指向UFD的指針

     特點:

     (1):  提高了檢索目錄的速度。

     (2):   在不同的,目錄中可以重名

     (3):    不同的用戶可以使用相同或不同的文件名來訪問系統中的同一個

共享文件,

     (4):不提供子目錄操作,各個用戶之間不方便合作。

  3.多級目錄結構   

      使用與較大的文件管理系統,又稱樹狀目錄

    目錄結構:   

        主目錄又稱根目錄:數據文件成為樹葉,其他目錄稱為結點

    路徑名;

        從根目錄到任何數據都有一條唯一的通路

    當前目錄:

       為每個進程設置一個當前目錄,又稱’工作目錄‘;

        從當前目錄開始,逐級經過中間目錄文件,最后到達要訪問的數據文件。這一路徑上的目錄和數據文件連接成的路徑名,成為相對路徑 。

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

  (四)   目錄查詢技術

      用戶法訪問一個已存在的文件:

      (1):目錄調入數據庫

      (2):按名檢索

      (3):找到該文件控制塊。

      (4):讀FCB或對應的索引結點

      (5):從文件物理地址換算成在磁盤上的物理位置。

     1:目錄查詢方式:線性檢索發和哈希法

      線性檢索法:

        單機目錄中: 用戶提供文件名,順序查找文件

        樹形目錄:用戶提供路徑名;對多級目錄進行逐級逐層查找。

      HASH法:

        建立一張hash索引文件目錄

        系統將用戶提供的文件名變換為文件目錄的索引值,在利用索引值到目錄中查找。

        如果文件名使用了通配符,無法利用哈希法。   

   (五) 文件共享與保護

     1:文件共享

        多個用戶共享一份文件,只保留一份文件副本。

      (1)索引結點法:

         基本FCB法:

            名+詳細信息

            

         直接在文件目錄中包含文件的物理地址,該方法實現的共享不適用文件動態變化。一個用戶對文件的修改(如物理塊號增加),對其他用戶不可見,共享文件的FCB信息記錄同步更新困難。
         文件名+索引結點指針。
         一個用戶修改指針指向地址里的內容,指針不變,其他用戶通過指針總能感知索引結點中的最新內容
       索引結點中增加count計數
         主人刪除操作問題:
刪,共享用戶訪問錯誤;不刪,計費問題。

        符號鏈法:

      創建一個link類型的文件:“文件名+共享文件路徑”(類似快捷方式)
      文件主人刪除文件,共享者只會出現找不到文件錯誤。不會發生共享文件刪除后出現懸空指針的情況。
      該方法適用於網絡文件共享,但根據路徑檢索共享文件的目標位置增加了訪問開銷,link文件獨占索引結點也耗費一定的空間。
無論哪種共享,鏈接就對應一個文件,如果遍歷復制整個目錄內的文件,可能會從多條路徑對共享文件進行多次訪問

    2:磁盤容錯:

      SFT:

        (1) 磁盤表面故障

        (2)磁盤驅動器、控制器故障

 

                      

     

       

   

    

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM