操作系統(Operating System,簡稱 OS)是計算機系統中最基礎、最核心的軟件。它位于硬件與應用程序之間,負責管理計算機的所有資源,并為用戶和應用程序提供服務。本章將從計算機系統服務的視角,概述操作系統的基本概念、功能與目標。
一、操作系統的定義與角色
操作系統可以被視為一個 資源管理器 和 服務提供者。從資源管理角度看,它負責高效、公平地管理計算機的硬件資源,包括:
- 處理器(CPU)管理:通過進程調度,決定哪個程序在何時使用CPU。
- 內存管理:為程序分配和回收內存空間,實現內存保護與擴充。
- 設備管理:管理各種I/O設備,提供統一的設備驅動接口。
- 文件管理:組織、存儲和保護文件系統中的數據。
從用戶角度看,操作系統是一個 擴展機 或 虛擬機,它屏蔽了底層硬件的復雜性和差異性,為用戶提供了一個更簡潔、更易用的接口。
二、操作系統提供的服務(計算機系統服務)
操作系統通過一系列服務來支撐上層應用程序和用戶。這些核心服務包括:
- 用戶接口(User Interface):
- 命令接口:如命令行(CLI,Windows CMD / Linux Shell)。
- 圖形用戶界面:如Windows、macOS的桌面環境(GUI)。
- 程序接口:即系統調用(System Call),是應用程序請求操作系統服務的唯一方式。
- 程序執行:操作系統能夠將程序從外存加載到內存,并啟動其運行,為其分配必要的資源,并在結束時妥善回收資源。
- 文件系統操作:提供創建、刪除、讀取、寫入、移動文件以及管理目錄結構等功能。這是操作系統最重要的服務之一。
- 設備操作:統一管理種類繁多的I/O設備(如鍵盤、鼠標、顯示器、磁盤、打印機),應用程序無需關心具體設備的控制細節。
- 通信服務:管理進程間的通信(IPC),以及通過網絡協議棧實現計算機間的通信。
- 錯誤檢測與處理:操作系統需要時刻監控硬件和軟件可能出現的錯誤(如內存訪問越界、設備故障、除零操作),并采取相應措施(如終止程序、報告錯誤),以保證系統穩定運行。
- 資源分配與保護:當多個程序或用戶同時請求使用資源時,操作系統負責進行協調和調度。它必須確保一個用戶的進程不會非法訪問或干擾另一個用戶的進程或操作系統本身,這通過硬件和軟件的協同保護機制實現。
三、操作系統的目標
操作系統設計追求以下幾個主要目標:
- 有效性:提高系統資源的利用率和系統的吞吐量。這是早期批處理系統的主要目標。
- 方便性:使計算機更易于使用,無論是對于編程人員還是終端用戶。
- 可擴展性:能夠方便地添加新的功能和模塊,以適應硬件和需求的變化。
- 開放性:遵循公認的標準,以便兼容不同的軟硬件。
四、操作系統的特征
現代操作系統普遍具備以下四個基本特征:
- 并發(Concurrency):指在一段時間內,宏觀上有多個程序同時運行。操作系統通過進程和線程的管理來實現并發。并發是操作系統最重要的特征。
- 共享(Sharing):系統中的資源(如內存、CPU、文件)可供多個并發執行的進程共同使用。共享分為互斥共享(如打印機)和同時共享(如只讀文件)。
- 虛擬(Virtual):通過某種技術,將一個物理實體映射為多個邏輯上的對應物。例如,通過虛擬存儲技術,讓用戶感覺擁有了比實際物理內存大得多的內存空間(虛擬內存)。
- 異步(Asynchronism):在多道程序環境下,進程以不可預知的速度交替執行。只要運行環境相同,操作系統必須保證程序多次執行的結果是相同的。
##
本章從計算機系統服務的角度,闡述了操作系統的核心定義、它作為資源管理者和服務提供者的雙重角色,以及其提供的核心服務、設計目標與基本特征。理解這些基礎概念是后續深入學習進程管理、內存管理等具體模塊的基石。操作系統作為計算機的“大管家”,其核心價值在于高效、安全地管理硬件,并為上層應用提供一個穩定、統一的運行平臺。