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