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