日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统

發布時間:2024/2/28 windows 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文已收錄至 Github(MD-Notes),若博客中有圖片打不開,可以來我的 Github 倉庫:https://github.com/HanquanHq/MD-Notes,涵蓋了互聯網大廠面試必問的知識點,講解透徹,長期更新中,歡迎一起學習探討。
面試必會系列專欄:https://blog.csdn.net/sinat_42483341/category_10300357.html
操作系統系列專欄:https://blog.csdn.net/sinat_42483341/category_10519484.html


第四章 文件管理1 - 文件系統

目錄

  • 第四章 文件管理1 - 文件系統
      • 文件基礎知識
        • 文件的屬性
        • 操作系統提供的系統調用
      • 文件的邏輯結構 / 物理結構
        • 文件的邏輯結構
        • 文件的物理結構(文件分配方式)
          • 連續分配
          • 鏈接分配
          • 索引分配
      • 文件目錄
        • 文件控制塊 FCB
        • 索引結點(FCB的改進)
      • 文件存儲空間管理
          • 空閑表法
          • 空閑鏈表法
          • 位示圖法
          • 成組鏈接法
      • 文件共享
        • 硬鏈接:基于索引結點的共享方式
        • 軟鏈接:基于符號鏈的共享方式
        • 共性
      • 文件保護
        • 口令保護
        • 加密保護
        • 訪問控制
      • 文件系統的層次結構
      • 補充:文件系統實例


文件基礎知識

文件的屬性

文件名、標識符、類型、位置、大小、保護信息 …

操作系統提供的系統調用

  • 創建文件:create
  • 讀文件:read
    • 從外存讀入內存
  • 寫文件:write
    • 從內存寫回外存
  • 刪除文件:delete
  • 打開文件:open
    • 將目錄項中的信息復制到打開文件表中,并將打開文件表的索引號(文件描述符)返回給用戶
    • 打開文件之后,堆文件的操作不需要每一次都查詢目錄,可以根據內存中的打開文件表進行操作
    • 每個進程有自己的打開文件表(包含讀寫指針、訪問權限…)
    • 操作系統有一張總打開文件表(包含打開計數器…)
  • 關閉文件:close
    • 將進程打開文件表中的相應表項刪除
    • 系統打開文件表的打開計數器 -1,如果為 0,則刪除表項
  • 復制文件
    • 使用 create + read + write 的組合實現

文件的邏輯結構 / 物理結構

物理結構:操作系統角度,文件數據如何存放在外存中

邏輯結構:用戶角度,文件內部數據如何組織

文件的邏輯結構

  • 無結構文件:二進制字符流,流式文件。例如:記事本文件

  • 有結構文件記錄 是一組 數據項 的集合。例如:數據庫表

    根據 各條記錄長度是否相等,分為:

    • 定長記錄(可以隨機存取)
    • 可變長記錄(無法隨機存取)

    根據 有結構文件的邏輯結構,分為:

    • 順序文件:采用順序存儲(可以隨機存取)/ 鏈式存儲(無法隨機存取)。

      根據 記錄是否按關鍵字有序 排列,分為串結構(無序)/ 順序結構(有序)

    • 索引文件:建立一張 索引表,每個記錄對應一個表項。

      可以用不同的數據項 建立多個索引表,例如:id, username 分別作為索引

    • 索引順序文件:將記錄分組,一組記錄 對應 一個索引表項。檢索時,先順序查索引表,找到分組,再順序查找分組。可以建立多級索引順序文件。

文件的物理結構(文件分配方式)

連續分配

每個文件在磁盤上占有一組連續的塊。支持順序訪問 / 隨機訪問

鏈接分配
  • 隱式鏈接:目錄中存放 文件名、起始塊號、結束塊號,每個磁盤塊中保存下一個盤塊的指針。不支持隨機訪問。
  • 顯式鏈接:目錄中存放 文件名、起始塊號,操作系統維護 FAT 文件分配表 <物理塊號,下一塊>。支持隨機訪問。
索引分配

每個文件建立一張索引表。

  • 鏈接方案:一個索引塊裝不下,可以將多個索引塊鏈接起來存放。

  • 多級索引:建立多層索引,使第一層索引塊指向第二層的索引塊,類推。

  • 混合索引:頂級索引表中包含 直接地址索引(直接指向數據塊)、一級間接索引、兩級間接索引。對于小文件來說,訪問一個數據塊所需的讀磁盤次數更少。

區分:FAT 是一個磁盤對應一張,索引表是一個文件對應一張。

文件目錄

文件控制塊 FCB

FCB 的有序集合稱為 “文件目錄”,FCB 實現了 文件名文件 的映射。FCB 中包含:

  • 文件的基本信息(文件名、物理地址、邏輯結構、物理結構等)
  • 存取控制信息(是否可讀/可寫、禁止訪問的用戶名單等)
  • 使用信息(如文件的建立時間、修改時間等)
  • 文件名、文件物理地址

需要對目錄進行的操作:

  • 搜索:當用戶要使用一個文件時,系統要根據文件名搜索目錄,找到該文件對應的目錄項
  • 創建文件:增加目錄項
  • 刪除文件:刪除目錄項
  • 顯示目錄:用戶請求顯示目錄的內容,如:所有文件、相應屬性
  • 修改目錄:保存在目錄中的文件屬性變化,如:文件重命名

目錄結構

  • 單級目錄結構:不允許文件重名
  • 兩級目錄結構:允許不同用戶的文件重名
  • 多級目錄結構:又稱樹形目錄結構,不同目錄下的文件可以重名
  • 無環圖目錄結構:整個目錄成為一個有向無環圖,方便用戶間文件共享。每個共享結點設置一個共享計數器,有共享計數器減為 0 時,才刪除結點。

索引結點(FCB的改進)

原有的文件目錄表項:

將冗余信息放在索引節點中:節省空間,減少 IO 次數,提升文件檢索速度

找到文件名對應的目錄項后,才需要將索引結點調入內存,然后根據“存放位置”即可找到文件。

文件存儲空間管理

操作系統需要對磁盤塊進行哪些管理:

  • 對非空閑磁盤塊的管理:(文件的物理結構)連續分配、鏈接分配、索引分配
  • 對空閑磁盤塊的管理:空閑表法、空閑鏈表法(空閑盤快鏈 / 空閑盤區鏈)、位示圖法、成組鏈接法
空閑表法

空閑鏈表法

空閑盤快鏈:以盤區為單位組成一條空閑鏈

空閑盤區鏈:以盤區為單位組成一條空閑鏈

位示圖法

要能自己推出盤塊號與(字號,位號)相互轉換的公式:若n表示字長,則

(字號,位號)=(i, j)的二進制位對應的盤塊號b = ni + j

b號盤塊對應的字號i = b/n,位號j = b%n

成組鏈接法

UNIX 采用的策略,適合大型文件系統

文件共享

硬鏈接:基于索引結點的共享方式

  • 兩個變量名指向了同一個物理位置,硬鏈接的文件擁有相同的 inode。操作系統靠 inode 來區分文件的,2 個 inode 相同的文件,代表它們是同一個文件。
  • 如果刪掉了其中一個文件,另外一方還能找到這個文件。相當于只是刪除了一個引用。
  • 若 count > 0,說明還有別的用戶要使用該文件。除非你把硬鏈接和源文件都刪除,count 值變為 0,這個文件才被真正刪除。

軟鏈接:基于符號鏈的共享方式

  • 軟鏈接是兩個獨立的文件,相當于創建了一個 快捷方式
  • 文件的共享用戶只有該文件的 路徑名,只有文件擁有者才擁有 指向其索引節點的指針
  • 若符號鏈接被刪除,不影響源文件。若源文件被刪除,符號鏈接仍然存在,但找不到源文件了,會標紅報錯。
  • 軟鏈接有 自己的 inode 號 以及用戶數據塊
  • 軟鏈接可跨文件系統,硬鏈接不行
  • 通過軟鏈接方式訪問共享文件時,要查詢多級目錄,會有多次磁盤 IO,因此比硬鏈接慢

共性

  • 無論是硬鏈接還是軟連接,如果修改任意一方,另外一個文件也會看到這個變化。

文件保護

口令保護

為文件設置一個“口令”(如:abc112233),用戶請求訪問該文件時必須提供“口令”。口令一般存放在文件對應的FCB或索引結點中。

缺點:正確的“口令”存放在系統內部,不夠安全。

加密保護

使用某個“密碼”對文件進行加密,在訪問文件時需要提供正確的“密碼”才能對文件進行正確的解密。

缺點:編碼/譯碼,或者說加密/解密要花費一定時間。

Eg:一個最簡單的加密算法——異或加密,假設用于加密 / 解密的 “密碼” 為“01001”

訪問控制

在每個文件的FCB(或索引結點)中增加一個訪問控制列表(Access-Control List, ACL),該表中記錄了各個用戶可以對該文件執行哪些操作。

精簡的訪問列表:以“組”為單位,標記各“組”用戶可以對文件執行哪些操作。

如:分為系統管理員、文件主、文件主的伙伴、其他用戶幾個分組。當某用戶想要訪問文件時,系統會檢查該用戶所屬的分組是否有相應的訪問權限。

文件系統的層次結構

補充:文件系統實例


總結

以上是生活随笔為你收集整理的操作系统:第四章 文件管理1 - 文件逻辑结构,物理结构,文件目录,软硬连接,文件系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。