計算機組成原理第八章:計算機系統(tǒng)服務(wù)筆記
一、 計算機系統(tǒng)服務(wù)概述
計算機系統(tǒng)服務(wù),也稱為系統(tǒng)軟件或系統(tǒng)服務(wù)程序,是運行在計算機硬件之上、應(yīng)用程序之下的一層軟件。它是用戶與計算機硬件之間的橋梁,負責(zé)管理和優(yōu)化硬件資源,為上層應(yīng)用程序提供統(tǒng)一、高效的運行環(huán)境。本章主要探討這些服務(wù)的基本原理、功能及其在計算機系統(tǒng)中的核心作用。
二、 系統(tǒng)服務(wù)的核心功能
- 資源管理:系統(tǒng)服務(wù)的核心任務(wù)。它包括:
- 處理器管理:通過進程調(diào)度算法(如先來先服務(wù)、時間片輪轉(zhuǎn)、優(yōu)先級調(diào)度等)分配CPU時間,實現(xiàn)多道程序并發(fā)執(zhí)行,提高CPU利用率。
- 存儲管理:負責(zé)內(nèi)存的分配與回收,提供虛擬內(nèi)存技術(shù),利用硬盤空間擴展邏輯內(nèi)存,使程序可以運行在比物理內(nèi)存更大的空間上。
- 設(shè)備管理:管理所有I/O設(shè)備,通過設(shè)備驅(qū)動程序屏蔽硬件差異,提供統(tǒng)一的接口,并處理設(shè)備的并發(fā)請求與中斷。
- 文件管理:提供對存儲設(shè)備上文件的組織、存取、共享和保護機制,使用戶和程序能夠方便地操作文件,而無需關(guān)心其物理存儲細節(jié)。
- 用戶接口:為用戶提供使用計算機的方式。
- 命令接口:如命令行(CLI),用戶通過輸入特定命令來操作計算機。
- 圖形用戶接口(GUI):通過窗口、圖標(biāo)、菜單等可視化元素與用戶交互,是目前主流的用戶接口形式。
- 程序接口(API):為應(yīng)用程序提供的一組系統(tǒng)調(diào)用,是應(yīng)用程序請求操作系統(tǒng)服務(wù)的唯一途徑。
- 系統(tǒng)保護與安全:確保系統(tǒng)的穩(wěn)定運行和數(shù)據(jù)安全。
- 內(nèi)存保護:防止用戶程序非法訪問操作系統(tǒng)或其他用戶程序的內(nèi)存空間。
- 權(quán)限管理:通過用戶身份驗證和訪問控制列表(ACL)等機制,控制對系統(tǒng)資源和數(shù)據(jù)的訪問。
- 異常與中斷處理:處理硬件故障、非法指令、除零錯誤等異常事件,以及來自外設(shè)的中斷請求,保證系統(tǒng)能夠從錯誤中恢復(fù)或正常響應(yīng)外部事件。
三、 系統(tǒng)調(diào)用的實現(xiàn)機制
系統(tǒng)調(diào)用是應(yīng)用程序主動請求內(nèi)核服務(wù)的接口,是用戶態(tài)切換到內(nèi)核態(tài)的唯一入口。其典型執(zhí)行過程如下:
- 應(yīng)用程序通過調(diào)用庫函數(shù)(如
read, write)發(fā)起請求。
- 庫函數(shù)將系統(tǒng)調(diào)用號和相關(guān)參數(shù)存入特定寄存器或棧中。
- 執(zhí)行一條特殊的指令(如
int 0x80(x86)、svc(ARM))觸發(fā)一個軟中斷或陷入(Trap)。
- CPU響應(yīng)中斷,硬件自動將程序狀態(tài)(如PC、PSW)保存到內(nèi)核棧,并切換到內(nèi)核態(tài),跳轉(zhuǎn)到預(yù)設(shè)的中斷服務(wù)程序入口。
- 內(nèi)核的中斷處理程序根據(jù)系統(tǒng)調(diào)用號,查詢系統(tǒng)調(diào)用表,找到對應(yīng)的服務(wù)例程并執(zhí)行。
- 服務(wù)例程執(zhí)行完畢后,將結(jié)果返回給用戶程序,并通過中斷返回指令恢復(fù)用戶程序的現(xiàn)場,切換回用戶態(tài)。
這個過程體現(xiàn)了計算機體系結(jié)構(gòu)對操作系統(tǒng)的支持,如特權(quán)指令、處理器狀態(tài)位(用戶態(tài)/內(nèi)核態(tài))、中斷/異常機制等。
四、 中斷與異常處理
這是硬件與系統(tǒng)服務(wù)軟件協(xié)同工作的典型范例。
- 中斷(Interrupt):來自CPU外部(I/O設(shè)備、定時器等)的異步事件。硬件中斷控制器(如8259A)負責(zé)接收和優(yōu)先級仲裁。
- 異常(Exception):由CPU內(nèi)部正在執(zhí)行的指令引發(fā)的同步事件,如缺頁、除零、非法指令等。
處理流程:
1. 中斷請求(IRQ):設(shè)備發(fā)出中斷信號。
2. 中斷響應(yīng):CPU在每條指令執(zhí)行結(jié)束后檢查是否有中斷請求。若有且未被屏蔽,則響應(yīng)。
3. 現(xiàn)場保護:硬件自動將程序計數(shù)器(PC)和程序狀態(tài)字(PSW)壓入系統(tǒng)棧(通常是內(nèi)核棧)。
4. 關(guān)中斷與向量獲取:可能先關(guān)閉中斷以防止嵌套,然后根據(jù)中斷類型號獲取中斷向量(即中斷服務(wù)程序ISR的入口地址)。
5. 執(zhí)行ISR:跳轉(zhuǎn)到ISR執(zhí)行。ISR由操作系統(tǒng)編寫,負責(zé)處理具體的中斷事務(wù)(如從鍵盤緩沖區(qū)讀取數(shù)據(jù))。
6. 恢復(fù)與返回:ISR執(zhí)行完畢,執(zhí)行中斷返回指令(如iret),硬件自動從棧中恢復(fù)PC和PSW,CPU繼續(xù)執(zhí)行被中斷的程序。
五、 存儲服務(wù)的核心:虛擬內(nèi)存
虛擬內(nèi)存是系統(tǒng)服務(wù)中存儲管理的關(guān)鍵技術(shù)。它使得程序可以使用比物理內(nèi)存更大的地址空間。
- 基本原理:每個進程擁有獨立的虛擬地址空間。內(nèi)存管理單元(MMU)負責(zé)將虛擬地址通過頁表轉(zhuǎn)換為物理地址。
- 關(guān)鍵機制:
- 分頁:將虛擬空間和物理空間劃分為固定大小的頁(如4KB)。
- 頁表:存儲虛擬頁到物理頁幀的映射關(guān)系。引入多級頁表以節(jié)省空間。
- 缺頁中斷:當(dāng)程序訪問的頁不在物理內(nèi)存中時,MMU觸發(fā)缺頁異常。操作系統(tǒng)介入,從磁盤(交換區(qū))將所需頁調(diào)入內(nèi)存,更新頁表,然后重新執(zhí)行引發(fā)異常的指令。
- 頁面置換算法:當(dāng)物理內(nèi)存已滿時,需要選擇一頁換出到磁盤,如最佳置換(OPT)、先進先出(FIFO)、最近最少使用(LRU)算法等。
六、
計算機系統(tǒng)服務(wù)是計算機組成原理中軟硬件結(jié)合最緊密的部分。它建立在CPU的中斷、特權(quán)態(tài)、MMU等硬件機制之上,通過系統(tǒng)調(diào)用、中斷處理、虛擬內(nèi)存等核心技術(shù),實現(xiàn)了對處理器、存儲器、I/O設(shè)備等硬件資源高效、安全、抽象的管理。理解系統(tǒng)服務(wù)的工作原理,對于從整體上把握計算機系統(tǒng)的工作流程至關(guān)重要,也是理解現(xiàn)代操作系統(tǒng)內(nèi)核設(shè)計的基礎(chǔ)。
如若轉(zhuǎn)載,請注明出處:http://www.hdflmzpc.cn/product/46.html
更新時間:2026-02-23 13:06:01