- 四種常見檔案系統比較
- 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系統核心的主要作用包括:
- 裝置控制:Linux核心負責管理計算機的各種硬體資源,如處理器、記憶體、硬碟、網路介面等,確保它們能夠協調工作並得到充分利用。
- 提供系統呼叫介面:核心為應用程式提供了系統呼叫介面,使應用程式能夠訪問硬體資源和執行特權指令,從而實現對系統資源的管理和控制。
- 記憶體管理:Linux核心透過虛擬記憶體管理機制,管理記憶體的分配和釋放,實現程序的地址空間隔離和虛擬記憶體的分頁機制。
- 檔案系統控制:Linux核心提供了對檔案系統的支援,實現檔案的讀寫、建立、刪除等操作,以及對檔案系統的管理和維護。
- 網路管理:Linux核心實現了網路協議棧,支援網路通訊和資料傳輸,包括TCP/IP協議棧、網路裝置驅動程式等。
- 程序管理:核心負責建立和銷燬程序, 並處理它們與外部世界的聯絡(輸入和輸出),不同程序間通訊(透過訊號,管道,或者程序間通訊原語)對整個系統功能來說是基本的,也由核心處理。 另外, 排程器, 控制程序如何共享CPU,是程序管理的一部分。
Linux核心採用了模組化的結構,由許多模組組成,每個模組負責不同的功能,如程序管理、記憶體管理等。這種模組化設計使得核心具有更好的可擴充套件性和可維護性。總之,Linux系統核心是Linux作業系統的核心組成部分,它負責管理和控制計算機的硬體和軟體資源,為應用程式提供執行環境,使得整個系統能夠高效、穩定地執行。
Linux系統目錄和windows系統目錄的區別
Linux系統目錄和Windows系統目錄在多個方面存在顯著的區別,主要包括以下幾個方面:
- 檔案系統結構
- Linux:採用級層式的樹狀目錄結構,其中最上層是根目錄“/”。一切皆檔案,所有的目錄、檔案、裝置都位於根目錄之下。
- Windows:雖然也採用樹型結構來組織檔案,但它是基於磁碟機代號(如C:\、D:\等)來表示不同的分割槽或驅動器,每個分割槽或驅動器都有自己的目錄結構。
- 目錄和資料夾
- Linux:目錄和資料夾在Linux中實際上是同一個概念,用於組織和管理檔案。
- Windows:資料夾是Windows中用於組織和管理檔案的基本單位。
- 路徑分隔符
- Linux:使用正斜槓(
/
)作為路徑分隔符。 - Windows:使用反斜槓(
\
)作為路徑分隔符。
- Linux:使用正斜槓(
- 系統目錄
- Linux:系統檔案和目錄通常位於特定的目錄下,如
/bin
、/etc
、/usr
等。這些目錄在檔案系統層次結構中佔據重要的位置,幷包含作業系統正常執行所需的關鍵檔案和目錄。 - Windows:系統檔案和目錄通常位於“Windows”資料夾下,如“System32”資料夾包含Windows的系統檔案和硬體驅動程式。
- Linux:系統檔案和目錄通常位於特定的目錄下,如
- 訪問原理
- Linux:系統透過唯一的虛擬檔案系統(樹狀結構)來訪問檔案。各個硬碟的分割槽會被掛載到這個虛擬檔案系統的某個子樹上。
- Windows:透過“某個硬碟-硬碟上的某個分割槽-分割槽上的特定檔案系統-特定檔案系統中的檔案”這樣的順序來訪問檔案。
Linux系統和Windows系統最重要的區別之一在於目錄,反映了兩種作業系統在設計和功能上的不同。Linux系統中,一切皆檔案,目錄(directory)也是一個“特殊的檔案”,它記錄檔案在儲存中的位置(透過 inode),這就涉及到硬連結的知識。區別於windows的資料夾(folder),是將檔案“放入其中”,是透過檔案系統的層次結構(如磁碟機代號、資料夾和檔案路徑)來定位和管理檔案。