操作系統(tǒng)(Operating System,OS)是計算機系統(tǒng)中的核心系統(tǒng)軟件,負責管理計算機的硬件和軟件資源,并為用戶和應用程序提供一個方便、高效、安全的運行環(huán)境。本章作為操作系統(tǒng)學習的開篇,旨在建立對計算機系統(tǒng)整體架構和操作系統(tǒng)核心角色的宏觀認識。
一、 計算機系統(tǒng)的基本組成
一個完整的計算機系統(tǒng)由硬件(Hardware)和軟件(Software)兩大部分集成而成。
- 硬件層:是計算機系統(tǒng)的物理基礎,包括中央處理器(CPU)、內(nèi)存(主存儲器)、輸入/輸出(I/O)設備以及連接這些部件的總線(Bus)等。硬件提供了計算、存儲和通信的基本能力。
- 軟件層:建立在硬件之上,可分為系統(tǒng)軟件和應用軟件。
- 系統(tǒng)軟件:主要用于管理和控制硬件,為應用軟件提供支持。操作系統(tǒng)是系統(tǒng)軟件中最核心的部分,其他還包括編譯程序、數(shù)據(jù)庫管理系統(tǒng)等。
- 應用軟件:為解決特定問題或滿足用戶需求而設計的軟件,如辦公軟件、瀏覽器、游戲等。
操作系統(tǒng)位于硬件與所有其他軟件之間,承上啟下,是用戶與計算機硬件之間的接口,也是計算機資源的管理者。
二、 操作系統(tǒng)的定義與目標
從不同視角看,操作系統(tǒng)扮演著不同角色:
- 資源管理者:操作系統(tǒng)負責高效、公平地管理CPU、內(nèi)存、I/O設備和文件等系統(tǒng)資源,確保多個程序能有序、共享地使用資源,防止沖突。
- 用戶與計算機硬件之間的接口(擴展機/虛擬機):操作系統(tǒng)通過命令接口(CLI)、圖形用戶接口(GUI)和程序接口(系統(tǒng)調(diào)用)等方式,屏蔽了硬件的復雜性和差異性,為用戶和程序員提供了一個更簡潔、功能更強大的虛擬機器。
- 系統(tǒng)目標:其主要目標是方便性(使計算機更易用)、有效性(提高資源利用率和系統(tǒng)吞吐量)、可擴展性(便于增加新功能)和開放性(遵循標準,便于互連)。
三、 操作系統(tǒng)的發(fā)展與主要類型
操作系統(tǒng)的發(fā)展與硬件技術、應用需求緊密相關,主要經(jīng)歷了以下階段和類型:
1. 手工操作階段:無操作系統(tǒng),用戶獨占全機,CPU等待人工操作,效率極低。
2. 批處理系統(tǒng):分為單道批處理(內(nèi)存中僅一道程序,解決了人機速度矛盾)和多道批處理(內(nèi)存中同時駐留多道程序,共享CPU和I/O設備,顯著提高了資源利用率和系統(tǒng)吞吐量)。多道程序設計技術的引入是操作系統(tǒng)發(fā)展史上的里程碑。
3. 分時系統(tǒng):將CPU時間劃分為很短的時間片,并以輪轉方式分配給各聯(lián)機用戶作業(yè)。其特點是多路性、獨立性、及時性和交互性,實現(xiàn)了人機交互,典型代表如UNIX。
4. 實時系統(tǒng):能夠及時響應外部事件的請求,在規(guī)定時間內(nèi)完成處理。強調(diào)及時性和可靠性,分為硬實時系統(tǒng)(絕對截止時間)和軟實時系統(tǒng)(可容忍超時),廣泛應用于工業(yè)控制、航空航天等領域。
現(xiàn)代通用操作系統(tǒng)(如Linux、Windows)通常融合了多道批處理、分時和實時等多種技術特性。
四、 操作系統(tǒng)的特征
多道程序環(huán)境下,現(xiàn)代操作系統(tǒng)呈現(xiàn)出四大基本特征:
- 并發(fā)(Concurrency):指宏觀上多個程序在同時運行。操作系統(tǒng)通過進程管理等機制實現(xiàn)并發(fā),這是它與并行(微觀上同時執(zhí)行)的主要區(qū)別,也是操作系統(tǒng)最重要的特征。
- 共享(Sharing):系統(tǒng)中的資源可供多個并發(fā)執(zhí)行的進程共同使用。主要共享方式有互斥共享(如打印機)和同時訪問共享(如磁盤文件)。并發(fā)和共享是操作系統(tǒng)兩個最基本的特征,互為存在條件。
- 虛擬(Virtual):通過某種技術將一個物理實體映射為若干個邏輯上的對應物。主要技術有時分復用技術(如虛擬處理器)和空分復用技術(如虛擬存儲器)。
- 異步(Asynchronism):也稱不確定性,指多道程序環(huán)境下,進程以不可預知的速度向前推進。但操作系統(tǒng)必須保證在相同環(huán)境下多次運行同一程序,結果應相同。
五、 操作系統(tǒng)的運行環(huán)境與主要功能
- 運行環(huán)境:
- 內(nèi)核態(tài)與用戶態(tài):CPU執(zhí)行狀態(tài)分為內(nèi)核態(tài)(管態(tài),可執(zhí)行一切指令)和用戶態(tài)(目態(tài),僅能執(zhí)行非特權指令)。操作系統(tǒng)內(nèi)核運行在內(nèi)核態(tài),用戶程序運行在用戶態(tài)。通過中斷/異常和系統(tǒng)調(diào)用機制實現(xiàn)從用戶態(tài)到內(nèi)核態(tài)的切換,這是操作系統(tǒng)執(zhí)行服務的唯一入口。
- 中斷(外中斷):來自CPU外部(如I/O完成、時鐘中斷),異步發(fā)生。
- 異常(內(nèi)中斷):來自CPU內(nèi)部,由正在執(zhí)行的指令引發(fā)(如除零、缺頁、陷入指令),同步發(fā)生。
- 系統(tǒng)調(diào)用:應用程序主動向操作系統(tǒng)請求服務(如文件讀寫、進程創(chuàng)建)而觸發(fā)異常(陷入指令)。
- 主要功能:從資源管理角度,操作系統(tǒng)主要包括以下幾大管理功能(后續(xù)章節(jié)將詳細展開):
- 進程管理:包括進程控制、同步、通信和調(diào)度。
- 內(nèi)存管理:包括內(nèi)存的分配與回收、地址映射、內(nèi)存保護與共享、虛擬內(nèi)存等。
- 文件管理:管理外存上的文件,實現(xiàn)“按名存取”,提供文件操作接口和存儲空間管理。
- 設備管理:完成用戶的I/O請求,包括緩沖管理、設備分配、設備處理和虛擬設備等功能。
本章小結
本章概述了計算機系統(tǒng)的層次結構,明確了操作系統(tǒng)的核心地位、定義、目標與發(fā)展歷程。重點理解了操作系統(tǒng)作為資源管理者和接口的雙重角色,掌握了多道程序設計、分時、實時等關鍵概念,并深刻理解了操作系統(tǒng)并發(fā)、共享、虛擬、異步四大特征。明確了內(nèi)核態(tài)/用戶態(tài)、中斷/異常/系統(tǒng)調(diào)用這些操作系統(tǒng)運行的基礎機制,為后續(xù)深入學習進程管理、內(nèi)存管理等具體模塊奠定了堅實的理論基礎。
核心要點回顧:多道程序系統(tǒng)、操作系統(tǒng)特征、中斷/異常/系統(tǒng)調(diào)用區(qū)別與聯(lián)系、內(nèi)核態(tài)與用戶態(tài)切換。