作業系統 - 結構



作業系統是一個允許使用者應用程式與系統硬體互動的結構。由於作業系統是一個如此複雜的結構,因此應謹慎建立,以便於使用和修改。一種簡單的方法是將作業系統分成多個部分。每個部分都應具有明確的輸入、輸出和功能。

以下是作業系統結構的各種流行實現。

  • 簡單結構

  • 單體結構

  • 微核心結構

  • 外核結構

  • 分層結構

  • 模組化結構

  • 虛擬機器

簡單結構

許多作業系統都具有相當簡單的結構。這些作業系統最初都是小型系統,後來迅速擴充套件到超出其範圍的程度。MS-DOS就是一個常見的例子。它最初只是為一小部分人設計的。當時並沒有預料到它會變得如此流行。

Operating System Basic Structure

與MS-DOS不同,作業系統最好具有模組化結構。這將使對計算機系統及其各種應用程式有更好的控制。模組化結構還允許程式設計師根據需要隱藏資訊,並根據需要實現內部例程,而無需更改外部規範。

優點

以下是簡單作業系統結構的優點。

  • 易於開發 - 在簡單的作業系統中,由於介面很少,開發起來很容易,尤其是在只需要提供有限功能的情況下。

  • 效能更好 - 這種系統由於層級較少,並且直接與硬體互動,因此與其他型別的作業系統相比,可以提供更好的效能。

缺點

以下是簡單作業系統結構的缺點。

  • 系統故障頻繁 - 由於設計不佳,這種系統不夠健壯。如果一個程式發生故障,整個作業系統都會崩潰。因此,簡單作業系統中系統故障相當頻繁。

  • 可維護性差 - 由於作業系統的所有層都緊密耦合,因此一層中的更改可能會嚴重影響其他層,並導致程式碼在一段時間內變得難以管理。

單體結構

在單體結構的作業系統中,一個稱為核心的核心程式碼段負責作業系統的所有主要操作。這些操作包括檔案管理、記憶體管理、裝置管理等等。核心是作業系統的核心元件,它嚮應用程式和系統程式提供作業系統的所有服務。

核心可以訪問所有資源,並且充當應用程式和底層硬體之間的介面。單體核心結構促進了分時、多程式設計模型,並被用於舊的銀行系統。

Operating System Monolith Structure

優點

以下是單體作業系統結構的優點。

  • 易於開發 - 由於核心是唯一需要開發的層級,並且包含所有主要功能,因此設計和開發起來更容易。

  • 效能 - 由於核心負責記憶體管理和其他操作,並且可以直接訪問硬體,因此效能更好。

缺點

以下是單體作業系統結構的缺點。

  • 容易崩潰 - 由於核心負責所有功能,如果一個功能發生故障,整個作業系統就會崩潰。

  • 難以增強 - 在不影響單體作業系統其他服務的情況下,新增新服務非常困難。

微核心結構

與單體結構中只有一個核心的情況不同,在微核心中,我們有多個核心,每個核心專門負責特定的服務。每個微核心都是獨立開發的,這使得系統更加穩定。如果一個核心發生故障,作業系統將繼續使用其他核心的功能繼續工作。

Operating System Micro-Kernel Structure

優點

以下是微核心作業系統結構的優點。

  • 可靠且穩定 - 由於多個核心同時工作,作業系統發生故障的可能性非常小。如果一個功能出現故障,作業系統仍然可以使用穩定的核心提供其他功能。

  • 可維護性 - 由於核心規模較小,程式碼量易於維護。可以增強微核心程式碼庫,而不會影響其他微核心程式碼庫。

缺點

以下是微核心作業系統結構的缺點。

  • 設計複雜 - 這種基於微核心的架構很難設計。

  • 效能下降 - 與單體架構相比,多核心、多模組通訊可能會影響效能。

外核結構

外核結構的作業系統是在麻省理工學院設計和開發的。該設計的目的是使核心規模最小化,同時允許應用程式直接管理硬體資源。移除作業系統對硬體資源的抽象是為了使應用程式程式設計師能夠編寫高效能程式碼,而外核則處理其他操作。

優點

以下是外核作業系統結構的優點。

  • 高效能 - 由於應用程式可以分配記憶體,因此設計良好的程式碼可以最佳化使用並獲得更好的效能。

  • 應用程式控制 - 由於資源管理不受作業系統保護,因此應用程式對系統資源有更多控制權,並且可以在系統資源上編寫自定義操作。

缺點

以下是外核作業系統結構的缺點。

  • 不可靠且不安全 - 由於安全性在應用程式級別,因此編寫不當的程式碼可能會破壞系統。

  • 設計複雜 - 外核設計複雜。

分層結構

在作業系統中實現模組化的一種方法是分層方法。在這種方法中,最底層是硬體,最頂層是使用者介面。

演示分層方法的影像如下:

Operating System Layered Structure

從圖中可以看出,每一層都建立在底層之上。所有層都對其上層隱藏了一些結構、操作等。

分層結構的一個問題是每個層都需要仔細定義。這是必要的,因為上層只能使用其下方層的函式。

優點

以下是分層作業系統結構的優點。

  • 高度可定製 - 由於分層,每層的實現都可以輕鬆定製。可以新增新功能,而不會影響其他模組。

  • 可驗證 - 由於模組化,每個層都可以輕鬆驗證和除錯。

缺點

以下是分層作業系統結構的缺點。

  • 效能較差 - 與基本結構的作業系統相比,分層結構的作業系統效能較差。

  • 設計複雜 - 每層都需要仔細規劃,因為每層只能與下層通訊,並且需要一個良好的設計過程來建立分層作業系統。

模組化結構

模組化結構的作業系統的工作原理與單體結構類似,但設計更好。一箇中央核心負責作業系統的所有主要操作。該核心具有一組核心功能,其他服務作為模組在引導時或執行時動態載入到核心中。Sun Solaris OS 是模組化結構作業系統的示例之一。

優點

以下是模組化作業系統結構的優點。

  • 高度可定製 - 由於模組化,每個模組的實現都可以輕鬆定製。可以新增新功能,而不會影響其他模組。

  • 可驗證 - 由於模組化,每個層都可以輕鬆驗證和除錯。

缺點

以下是模組化作業系統結構的缺點。

  • 效能較差 - 與基本結構的作業系統相比,模組化結構的作業系統效能較差。

  • 設計複雜 - 每個模組都需要仔細規劃,因為每個模組都與核心通訊。需要設計一個通訊 API 來促進通訊。

虛擬機器結構

在這種結構中,CPU、記憶體、硬碟等硬體被抽象成虛擬機器。使用者可以使用它們,而無需實際使用執行上下文配置它們。虛擬機器佔用大量的磁碟空間,需要進行配置。可以在單個物理機上建立多個虛擬機器。

優點

以下是基於虛擬機器的作業系統結構的優點。

  • 高度可定製 - 由於是虛擬的,功能易於訪問,可以根據需要進行定製。

  • 安全 - 由於是虛擬的,並且沒有直接訪問硬體,因此此類系統非常安全。

缺點

以下是基於虛擬機器的作業系統結構的缺點。

  • 效能較差 - 與模組化結構的作業系統相比,虛擬結構的作業系統效能較差。

  • 設計複雜 - 由於每個元件都需要抽象底層硬體,因此機器的每個虛擬元件都需要仔細規劃。

廣告