計(jì)算機(jī)操作系統(tǒng)作為系統(tǒng)軟件的核心,不僅管理硬件資源,還為用戶和應(yīng)用程序提供了一系列系統(tǒng)服務(wù)。這些服務(wù)構(gòu)建了程序運(yùn)行的基礎(chǔ)環(huán)境,是理解操作系統(tǒng)功能的關(guān)鍵。
一、 核心系統(tǒng)服務(wù)類型
操作系統(tǒng)提供的主要服務(wù)可歸納為以下幾類:
- 進(jìn)程管理:這是操作系統(tǒng)的中樞服務(wù)。包括進(jìn)程的創(chuàng)建、終止、調(diào)度、同步與通信。操作系統(tǒng)通過進(jìn)程控制塊(PCB)記錄進(jìn)程信息,并利用調(diào)度算法(如先來先服務(wù)、短作業(yè)優(yōu)先、時(shí)間片輪轉(zhuǎn)等)分配CPU時(shí)間,實(shí)現(xiàn)多道程序的并發(fā)執(zhí)行。
- 內(nèi)存管理:負(fù)責(zé)為多個(gè)進(jìn)程合理分配和回收內(nèi)存空間,確保它們彼此隔離、互不干擾。主要技術(shù)包括分區(qū)管理、分頁(yè)管理、分段管理以及虛擬內(nèi)存技術(shù)。虛擬內(nèi)存通過請(qǐng)求調(diào)頁(yè)和頁(yè)面置換,讓用戶程序擁有比實(shí)際物理內(nèi)存更大的地址空間。
- 文件管理:提供對(duì)計(jì)算機(jī)中軟件資源(程序和數(shù)據(jù))以文件形式的統(tǒng)一邏輯視圖和操作接口。服務(wù)包括文件的創(chuàng)建、刪除、讀寫、打開關(guān)閉,以及目錄管理、磁盤空間分配、文件保護(hù)與共享等。
- 設(shè)備管理:負(fù)責(zé)對(duì)所有外部設(shè)備(I/O設(shè)備)進(jìn)行統(tǒng)一管理。通過設(shè)備驅(qū)動(dòng)程序隱藏硬件細(xì)節(jié),并運(yùn)用緩沖、中斷、SPOOLing(假脫機(jī))等技術(shù),提高CPU與I/O設(shè)備的并行操作效率,為用戶提供簡(jiǎn)潔的設(shè)備使用接口。
- 用戶接口:操作系統(tǒng)提供給用戶與系統(tǒng)交互的途徑。主要包括:
- 程序接口:即系統(tǒng)調(diào)用(System Call),是應(yīng)用程序請(qǐng)求操作系統(tǒng)內(nèi)核服務(wù)的唯一途徑。
二、 系統(tǒng)調(diào)用:服務(wù)訪問的橋梁
系統(tǒng)調(diào)用是操作系統(tǒng)服務(wù)的核心實(shí)現(xiàn)機(jī)制和訪問接口。當(dāng)用戶程序需要操作系統(tǒng)提供服務(wù)(如讀寫文件、分配內(nèi)存、創(chuàng)建進(jìn)程)時(shí),必須通過執(zhí)行一條特殊的指令(如陷入指令trap或int中斷指令)來發(fā)起系統(tǒng)調(diào)用,從用戶態(tài)切換到核心態(tài),由操作系統(tǒng)內(nèi)核代為完成請(qǐng)求。
系統(tǒng)調(diào)用大致可分為:
- 進(jìn)程控制類:如
fork(), exit(), wait()。
- 文件管理類:如
open(), read(), write(), close()。
- 設(shè)備管理類:如
ioctl(), read(), write()。
- 內(nèi)存管理類:如
brk(), sbrk()。
- 通信類:如
pipe(), shmget()(共享內(nèi)存), msgget()(消息隊(duì)列)。
- 信息維護(hù)類:如
getpid(), time()。
理解系統(tǒng)調(diào)用的過程(參數(shù)傳遞、模式切換)是考研復(fù)習(xí)的重點(diǎn)之一。
三、 操作系統(tǒng)結(jié)構(gòu)對(duì)服務(wù)的影響
操作系統(tǒng)的體系結(jié)構(gòu)決定了這些服務(wù)在內(nèi)核中的組織方式:
- 簡(jiǎn)單結(jié)構(gòu)(如MS-DOS):服務(wù)界限模糊,易于出錯(cuò)。
- 分層結(jié)構(gòu):將服務(wù)劃分為若干層次,每層僅使用其下層提供的服務(wù),結(jié)構(gòu)清晰,便于調(diào)試,但效率可能受影響。
- 微內(nèi)核結(jié)構(gòu):將最核心的功能(如進(jìn)程調(diào)度、低級(jí)內(nèi)存管理、中斷處理)保留在內(nèi)核,而將文件系統(tǒng)、設(shè)備驅(qū)動(dòng)等大量服務(wù)作為獨(dú)立的“服務(wù)器”進(jìn)程運(yùn)行在用戶態(tài)。這種結(jié)構(gòu)提高了系統(tǒng)的模塊化、可擴(kuò)展性和可靠性,但進(jìn)程間通信(IPC)開銷較大。
- 模塊化/動(dòng)態(tài)內(nèi)核結(jié)構(gòu)(現(xiàn)代Linux、Windows等常用):內(nèi)核保持單一地址空間運(yùn)行在核心態(tài),但功能被劃分為多個(gè)獨(dú)立的模塊,可以在運(yùn)行時(shí)動(dòng)態(tài)加載和卸載。它兼具了效率和良好的擴(kuò)展性。
****:計(jì)算機(jī)系統(tǒng)服務(wù)是操作系統(tǒng)功能的具象化體現(xiàn)。從進(jìn)程、內(nèi)存、文件、設(shè)備四大資源管理,到通過系統(tǒng)調(diào)用和用戶接口提供服務(wù),再到不同的內(nèi)核結(jié)構(gòu)設(shè)計(jì),共同構(gòu)成了一個(gè)完整、高效、易用的系統(tǒng)運(yùn)行環(huán)境。在考研復(fù)習(xí)中,需深刻理解每類服務(wù)的功能、實(shí)現(xiàn)原理與相互聯(lián)系,并能結(jié)合系統(tǒng)調(diào)用機(jī)制和操作系統(tǒng)結(jié)構(gòu)進(jìn)行綜合分析。