在組織得當的前提下,通過抽象將系統分解為元件有助於我們了解其工作機制。
我們將元件劃分為層次或級別。元件的層次(或級別)代表它在使用者和硬體系統之間所處的位置。
web瀏覽器、遊戲等應用處於最高層,底層則是計算機硬體系統,如記憶體。作業系統處於這兩層之間。
linux作業系統主要分為三層。如圖1-1所示,最底層是硬體系統,包括記憶體和**處理器(用於計算和從記憶體中讀寫資料),此外硬碟和網路介面也是硬體系統的一部分。
硬體系統之上是核心,它是作業系統的核心。核心是執行在記憶體中的軟體,它向**處理器傳送指令。核心管理硬體系統,是硬體系統和應用程式之間進行通訊的介面。
程序是指計算機中執行的所有程式,由核心統一管理,它們組成了最頂層,稱為使用者空間(user space)。(另乙個更確切的術語是使用者程序,無論它們是否直接和使用者互動。例如,所有的web伺服器都是以使用者程序的形式執行的。)
圖1-1 linux系統的基本組成
核心和使用者程序之間最主要的區別是:核心在核心模式(kernel mode)中執行,而使用者程序則在使用者模式(user mode)中執行。在核心模式中執行的**可以不受限地訪問**處理器和記憶體,這種模式功能強大,但也非常危險,因為核心程序可以輕而易舉地使整個系統崩潰。那些只有核心可以訪問的空間我們稱為核心空間(kernel space)。
相對於核心模式,使用者模式對記憶體和**處理器的訪問有一定程度的限制,可訪問的記憶體空間通常很小,對cpu的操作也很安全。使用者空間指的是那些使用者程序能夠訪問的記憶體空間。如果乙個使用者程序出錯並崩潰的話,其導致的後果也相對有限,並且能夠被核心清理掉。例如,如果你的web瀏覽器崩潰了,不會影響到你正在執行的其他程式。
理論上來說,乙個使用者程序出問題並不會對整個系統造成嚴重的影響。當然這取決於我們如何定義「嚴重的影響」,並且還取決於該程序擁有的許可權。因為不同的程序擁有的許可權可能不同,一些程序能夠執行一些別的程序無權執行的操作。舉個例子,如果擁有足夠的許可權,使用者程序可以將硬碟上的資料全部清除。也許你會覺得這樣太危險,但好在作業系統提供了一些相關的安全措施,而且大多數使用者程序並沒有這個許可權。
我們之所以介紹主記憶體和狀態,是因為核心的幾乎所有操作都和主記憶體相關。其中之一是將記憶體劃分為很多區塊,並且一直維護著這些區塊的狀態資訊。每乙個程序擁有自己的記憶體區塊,且核心必須確保每個程序只使用它自己的記憶體區塊。
核心負責管理以下四個方面。
linux 作業系統概述
服務端作業系統 linux unix windows server 單機作業系統 windows dos ucdos win95 win98 win2000 xp vista win7 win8 mac linux ubuntu 移動作業系統 android ios windows phone 1....
Linux作業系統概述及基本命令列介紹
ubuntu是乙個開源作業系統,linux的乙個分支系統。它在個人電腦及網路伺服器上被廣泛應用,ubuntu的觸碰版本也有被用在平板電腦和手機上。1974年,ritchie和thompson發布了乙個關於unix里程碑式的 隨後貝爾實驗室製作了第乙個unix作業系統。隨後伯克利大學對原生的unix系...
作業系統是什麼?Linux作業系統概述!
linux 也是眾多作業系統之一,要想知道 linux 是什麼,首先得說一說什麼是作業系統。硬體是計算機賴以工作的實體,包括顯示器 鍵盤 滑鼠 硬碟 cpu 主機板等 作業系統 operating system,os 是軟體的一部分,它是硬體基礎上的第一層軟體,是硬體和其它軟體溝通的橋梁 或者說介面...