幾個作業系統的基本概念

Rice_rice發表於2024-05-07

目錄
  • 四種常見檔案系統比較
  • MMU記憶體管理單元
  • Linux系統核心的作用
  • Linux系統目錄和windows系統目錄的區別

四種常見檔案系統比較


​ 四種常見的檔案系統分別為FAT16、FAT32、NTFS、ExFAT,儲存方式和特性各不相同。我們可以在電腦磁碟,隨身碟等檔案屬性看到歸屬的不同檔案系統。以隨身碟使用為例,不同檔案系統的主要因素還是其容量及用途,下面就簡單歸納總結下四種檔案系統的優劣:

  • FAT16:
    優點:相容性最好,某些數碼裝置可能對FAT32和NTFS格式的儲存卡支援不太好,因此只能使用FAT16。

    缺點:最大僅支援2GB分割槽,空間浪費大。

    適用場景:對於需要高相容性的小型儲存裝置,尤其是那些與較舊裝置或特殊裝置配合使用的場景。

  • FAT32:
    優點:相容性好,支援最大4GB的檔案和最大2TB的分割槽。

    缺點:單個檔案不能超過4GB,不支援512MB以下容量的隨身碟。

    適用場景:適用於個人使用者和小型裝置,尤其是那些不需要處理大於4GB檔案的場景。

  • NTFS:
    優點:相容性好,支援任意大小的隨身碟。提供長檔名、資料保護和恢復,能透過目錄和檔案許可實現安全性,並支援跨越分割槽。

    缺點:在某些情況下,可能會縮短快閃記憶體壽命。

    適用場景:適用於需要高階檔案管理和安全性的大型儲存裝置,尤其是與Windows系統配合使用的場景。

  • ExFAT:
    優點:專為快閃記憶體和隨身碟設計,空間浪費小。支援大於4GB的檔案和大於2TB的分割槽。

    缺點:在某些系統中,可能需要額外的驅動程式支援。

    適用場景:特別適用於快閃記憶體和隨身碟等移動裝置,因為它們需要處理大於4GB的檔案,並且希望最大化儲存空間的使用效率。

MMU記憶體管理單元


MMU(Memory Management Unit)記憶體管理單元是一種負責處理中央處理器(CPU)的記憶體訪問請求的計算機硬體,主要用來管理虛擬記憶體與實體記憶體的對映,由硬體自動完成。主要功能總結為以下四點:

  • 虛擬地址到實體地址的轉換(即虛擬記憶體管理)

    ​ 根據實體記憶體和虛擬記憶體之間的對映關係,透過一定的演算法將虛擬地址轉換為實體地址。這個對映關係由作業系統在虛擬記憶體管理中進行設定和維護。

  • 記憶體保護

    ​ 對實際的實體記憶體進行分割和保護,使得每個軟體任務只能訪問其分配到的記憶體空間。如果某個任務試圖訪問其他任務的記憶體空間,記憶體管理單元將自動產生異常,保護其他任務的程式和資料不受破壞。

  • 中央處理器快取記憶體的控制

    ​ 在進行地址轉換時,會首先查詢快取記憶體(Cache),看是否命中。如果命中,可以直接從快取記憶體中獲取資料,避免了訪問記憶體的延遲。如果未命中,會發出對記憶體的訪問請求。

  • 匯流排的仲裁以及儲存體切換(bank switching):

    ​ 在較為簡單的計算機體系結構中(例如小型微控制器),負責這些任務,尤其是在8位的系統上。

​ 此外,MMU還包含一個獨立的硬體模組——地址翻譯快取(TLB),用於快取最近使用過的地址對映,以加快地址轉換過程。當發生地址轉換時,MMU首先查詢TLB,如果找到了對應的對映,則可以提供快速的地址轉換。

​ MMU在作業系統中起著至關重要的作用,使得計算機可以更加高效地管理和使用記憶體資源。

Linux系統核心的作用


Linux系統核心的主要作用包括:

  1. 裝置控制:Linux核心負責管理計算機的各種硬體資源,如處理器、記憶體、硬碟、網路介面等,確保它們能夠協調工作並得到充分利用。
  2. 提供系統呼叫介面:核心為應用程式提供了系統呼叫介面,使應用程式能夠訪問硬體資源和執行特權指令,從而實現對系統資源的管理和控制。
  3. 記憶體管理:Linux核心透過虛擬記憶體管理機制,管理記憶體的分配和釋放,實現程序的地址空間隔離和虛擬記憶體的分頁機制。
  4. 檔案系統控制:Linux核心提供了對檔案系統的支援,實現檔案的讀寫、建立、刪除等操作,以及對檔案系統的管理和維護。
  5. 網路管理:Linux核心實現了網路協議棧,支援網路通訊和資料傳輸,包括TCP/IP協議棧、網路裝置驅動程式等。
  6. 程序管理:核心負責建立和銷燬程序, 並處理它們與外部世界的聯絡(輸入和輸出),不同程序間通訊(透過訊號,管道,或者程序間通訊原語)對整個系統功能來說是基本的,也由核心處理。 另外, 排程器, 控制程序如何共享CPU,是程序管理的一部分。

​ Linux核心採用了模組化的結構,由許多模組組成,每個模組負責不同的功能,如程序管理、記憶體管理等。這種模組化設計使得核心具有更好的可擴充套件性和可維護性。總之,Linux系統核心是Linux作業系統的核心組成部分,它負責管理和控制計算機的硬體和軟體資源,為應用程式提供執行環境,使得整個系統能夠高效、穩定地執行。

Linux系統目錄和windows系統目錄的區別


Linux系統目錄和Windows系統目錄在多個方面存在顯著的區別,主要包括以下幾個方面:

  1. 檔案系統結構
    • Linux:採用級層式的樹狀目錄結構,其中最上層是根目錄“/”。一切皆檔案,所有的目錄、檔案、裝置都位於根目錄之下。
    • Windows:雖然也採用樹型結構來組織檔案,但它是基於磁碟機代號(如C:\、D:\等)來表示不同的分割槽或驅動器,每個分割槽或驅動器都有自己的目錄結構。
  2. 目錄和資料夾
    • Linux:目錄和資料夾在Linux中實際上是同一個概念,用於組織和管理檔案。
    • Windows:資料夾是Windows中用於組織和管理檔案的基本單位。
  3. 路徑分隔符
    • Linux:使用正斜槓(/)作為路徑分隔符。
    • Windows:使用反斜槓(\)作為路徑分隔符。
  4. 系統目錄
    • Linux:系統檔案和目錄通常位於特定的目錄下,如/bin/etc/usr等。這些目錄在檔案系統層次結構中佔據重要的位置,幷包含作業系統正常執行所需的關鍵檔案和目錄。
    • Windows:系統檔案和目錄通常位於“Windows”資料夾下,如“System32”資料夾包含Windows的系統檔案和硬體驅動程式。
  5. 訪問原理
    • Linux:系統透過唯一的虛擬檔案系統(樹狀結構)來訪問檔案。各個硬碟的分割槽會被掛載到這個虛擬檔案系統的某個子樹上。
    • Windows:透過“某個硬碟-硬碟上的某個分割槽-分割槽上的特定檔案系統-特定檔案系統中的檔案”這樣的順序來訪問檔案。

​ Linux系統和Windows系統最重要的區別之一在於目錄,反映了兩種作業系統在設計和功能上的不同。Linux系統中,一切皆檔案,目錄(directory)也是一個“特殊的檔案”,它記錄檔案在儲存中的位置(透過 inode),這就涉及到硬連結的知識。區別於windows的資料夾(folder),是將檔案“放入其中”,是透過檔案系統的層次結構(如磁碟機代號、資料夾和檔案路徑)來定位和管理檔案。

相關文章