1.概念
計(jì)算機(jī)系統(tǒng)由硬件、操作系統(tǒng)、應(yīng)用程序組成,操作系統(tǒng)管理各種計(jì)算機(jī)硬件,為應(yīng)用程序提供基礎(chǔ)。操作系統(tǒng)是指控制和管理整個(gè)計(jì)算機(jī)系統(tǒng)的硬件和軟件資源,合理地組織、調(diào)度計(jì)算機(jī)的工作與資源的分配,為軟件提供方便接口與環(huán)境的程序集合。
2. 特征
(1)并發(fā)
計(jì)算機(jī)系統(tǒng)中同時(shí)存在多個(gè)運(yùn)行的程序,具有處理和調(diào)度多個(gè)程序(進(jìn)程)的能力。
并發(fā)是指多個(gè)事件在同一時(shí)間段內(nèi)發(fā)生,并非并行(同一時(shí)刻)。
(2)共享
資源共享指系統(tǒng)中的資源可供內(nèi)存中的多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用。
互斥共享:某進(jìn)程訪問某資源需要先提出請求,資源空閑時(shí)分配給該進(jìn)程使用,使用完并釋放資源后,該資源才能分配給其他進(jìn)程使用。此類資源又稱臨界資源、獨(dú)占資源,如打印機(jī)。
同時(shí)訪問:某資源允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程同時(shí)并發(fā)訪問,如文件系統(tǒng)。
(3)虛擬
虛擬處理器技術(shù)是通過多道程序設(shè)計(jì)技術(shù),采用讓多道程序并發(fā)執(zhí)行的方法來分時(shí)使用一個(gè)處理器。
操作系統(tǒng)利用多種虛擬技術(shù)實(shí)現(xiàn)虛擬處理器、虛擬內(nèi)存、虛擬外設(shè)等。
時(shí)分復(fù)用技術(shù):處理器的分時(shí)共享。
空分復(fù)用技術(shù):虛擬存儲器。
(4)異步
異步操作是指調(diào)用方在發(fā)起任務(wù)后無需等待任務(wù)完成,可以繼續(xù)執(zhí)行其他操作,任務(wù)完成后通過回調(diào)機(jī)制返回結(jié)果。
3. 功能
(1)處理及管理
多程序環(huán)境下,處理機(jī)的分配和運(yùn)行是以進(jìn)程為基本單位,對處理機(jī)的管理實(shí)際是對進(jìn)程的管理。
進(jìn)程管理的主要功能包括:進(jìn)程控制、進(jìn)程同步、進(jìn)程通信、死鎖處理、處理機(jī)調(diào)度。
(2)存儲器管理
目的是提高內(nèi)存利用率,包括內(nèi)存分配回收、地址映射、內(nèi)存保護(hù)與共享、內(nèi)存擴(kuò)充等。
(3)文件管理
操作系統(tǒng)中負(fù)責(zé)文件管理的部分為文件系統(tǒng),文件管理包裹文件存儲空間管理、目錄管理、文件讀寫管理等。
(4)設(shè)備管理
設(shè)備管理主要任務(wù)是完成用戶的I/O請求,提高設(shè)備使用率,主要包括緩沖管理、設(shè)備分配、設(shè)備處理、虛擬設(shè)備等
4. 分類
(1)分時(shí)操作系統(tǒng)
分時(shí)技術(shù)是指把處理器的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪流把處理器分配給各聯(lián)機(jī)作業(yè)使用。
特點(diǎn):
同時(shí)性:允許多個(gè)終端用戶基本同時(shí)使用同一臺計(jì)算機(jī)。
交互性:用戶通過終端采用人機(jī)對話的方式直接控制程序運(yùn)行,與同程序交互。
獨(dú)立性:系統(tǒng)支持多個(gè)用戶獨(dú)立進(jìn)行操作,互不干擾。
及時(shí)性:采用時(shí)間片輪轉(zhuǎn)方式是一臺計(jì)算機(jī)在短時(shí)間內(nèi)同時(shí)為多個(gè)終端服務(wù)。
(2)實(shí)時(shí)操作系統(tǒng)
為了能在某個(gè)時(shí)間限制內(nèi)完成某些緊急任務(wù)而不需要時(shí)間片排隊(duì),誕生了實(shí)時(shí)操作系統(tǒng)。
特點(diǎn):及時(shí)性,可靠性。
硬實(shí)時(shí)系統(tǒng):某個(gè)動(dòng)作必須絕對在規(guī)定的時(shí)刻發(fā)生,如鐵路信號系統(tǒng)、噴墨打印機(jī)系統(tǒng)。
軟實(shí)時(shí)系統(tǒng):允許偶爾違反時(shí)間規(guī)定且不會引起任何永久性損害,如訂票系統(tǒng)/
5. 運(yùn)行機(jī)制
(1) CPU狀態(tài)
核心態(tài):內(nèi)核態(tài),CPU處于核心態(tài)時(shí)可以執(zhí)行特權(quán)指令。
用戶態(tài):目態(tài),CPU處于用戶態(tài)只能執(zhí)行非特權(quán)指令。
操作系統(tǒng)程序運(yùn)行在核心態(tài),應(yīng)用程序運(yùn)行在用戶態(tài)。
(2) 操作系統(tǒng)內(nèi)核
時(shí)鐘管理:計(jì)時(shí),提供系統(tǒng)時(shí)間;通過時(shí)鐘中斷管理實(shí)現(xiàn)進(jìn)程切換。
中斷機(jī)制:最初用于提高CPU的利用率,只有一小部分功能屬于內(nèi)核,負(fù)責(zé)保護(hù)和恢復(fù)中斷現(xiàn)場信息,轉(zhuǎn)移控制權(quán),優(yōu)點(diǎn)是縮短中斷的處理時(shí)間,提高并發(fā)處理能力。
原語:①處于操作系統(tǒng)最底層;②程序的運(yùn)行具有原子性;③運(yùn)行時(shí)間短,調(diào)用頻繁。
系統(tǒng)控制:進(jìn)程管理、存儲器管理、設(shè)備管理。
6. 中斷和異常
(1) 定義
用戶程序運(yùn)行在用戶態(tài),但用戶程序需要使用到核心態(tài)中的功能,只有在發(fā)生中斷或異常時(shí),運(yùn)行用戶態(tài)的CPU會進(jìn)入核心態(tài)(訪管中斷)。
中斷(外中斷):指發(fā)生與CPU執(zhí)行指令無關(guān)的事件,如IO中斷、時(shí)鐘中斷。
異常(內(nèi)中斷):指來自CPU執(zhí)行指令內(nèi)部的事件,如地址越界、算術(shù)溢出。可分為故障fault、陷阱trap、終止abort。
(2) 中斷處理過程
硬件完成:
關(guān)中斷:CPU響應(yīng)中斷請求后,保存程序現(xiàn)場狀態(tài),不再響應(yīng)其他高級中斷源的中斷請求。
保存斷點(diǎn):為了中斷服務(wù)程序執(zhí)行完能夠回到原來的程序,需要保存程序中斷點(diǎn)(程序計(jì)數(shù)器PC)
中斷服務(wù)程序?qū)ぶ罚喝〕鲋袛喾?wù)器的入口地址存入程序計(jì)數(shù)器PC中。
中斷程序完成:
保存現(xiàn)場和屏蔽字:進(jìn)入中斷服務(wù)程序首先保存現(xiàn)場信息,包括程序狀態(tài)字、寄存器PSWR和部分通用寄存器內(nèi)容。
開中斷:允許更高級中斷請求得到響應(yīng)。
執(zhí)行中斷服務(wù)程序:執(zhí)行中斷內(nèi)容。
關(guān)中斷:保證在恢復(fù)現(xiàn)場和屏蔽字時(shí)不被中斷。
恢復(fù)現(xiàn)場和屏蔽字:將現(xiàn)場和屏蔽字恢復(fù)到程序中斷時(shí)的狀態(tài)。
開中斷、中斷返回:中斷服務(wù)程序返回到原程序斷點(diǎn)處,繼續(xù)執(zhí)行。
7. 系統(tǒng)調(diào)用
系統(tǒng)調(diào)用指用戶在程序中調(diào)用操作系統(tǒng)提供的子功能。
(1)分類
設(shè)備管理:完成設(shè)備的啟動(dòng)、請求、釋放等功能。
文件管理:文件的讀、寫、創(chuàng)建、刪除。
進(jìn)程管理:進(jìn)程的創(chuàng)建、撤銷、阻塞、喚醒。
進(jìn)程通信:進(jìn)程之間的消息傳遞、信號傳遞等。
內(nèi)存管理:內(nèi)存分配、回收、獲取作業(yè)占用內(nèi)存大寫、始址。
(2)執(zhí)行過程
用戶程序可以執(zhí)行陷入指令(訪管指令、trap指令)發(fā)起系統(tǒng)調(diào)用,請求操作系統(tǒng)提供服務(wù)。