操作系統(tǒng)的資源管理技術(shù)
- 復(fù)用
解決物理資源不足的問(wèn)題 - 虛擬
解決物理資源不足的問(wèn)題 - 抽象
用于處理系統(tǒng)復(fù)雜性节吮,重點(diǎn)解決易用性 - 組合使用資源管理技術(shù)
復(fù)用+抽象
操作系統(tǒng)中的基礎(chǔ)抽象
- 進(jìn)程抽象
- 虛存抽象
- 文件抽象
操作系統(tǒng)功能和特性
從資源管理角度,操作系統(tǒng)有5項(xiàng)功能
- 處理器管理
對(duì)進(jìn)程/線程的管理和調(diào)度,包括進(jìn)程陆爽、線程控制和管理绷落、確定處理器調(diào)度策略等 - 存儲(chǔ)管理
理內(nèi)存資源跷叉,提高內(nèi)存空間利用率,內(nèi)存分配與回收止潘、地址和轉(zhuǎn)換 - 設(shè)備管理
管理各種外部設(shè)備 - 文件管理
提供文件邏輯、物理組織的方法辫诅,實(shí)現(xiàn)文件管理等 - 聯(lián)網(wǎng)與通信管理
操作系統(tǒng)是一個(gè)并發(fā)系統(tǒng)凭戴,主要特性有
- 并發(fā)性
兩個(gè)或兩個(gè)以上的活動(dòng)或時(shí)間在同一時(shí)間間隔內(nèi)發(fā)生 - 共享性
計(jì)算機(jī)中的資源可以被多個(gè)并發(fā)執(zhí)行的程序共同使用 - 異步性(隨機(jī)性)
不可預(yù)知
多道程序設(shè)計(jì)
允許多個(gè)作業(yè)(程序)同時(shí)進(jìn)入計(jì)算機(jī)系統(tǒng)的內(nèi)存并啟動(dòng)交替計(jì)算的方法
可以提高CPU的利用率,充分發(fā)揮計(jì)算機(jī)硬部件的并行性
優(yōu)點(diǎn)
- 提高CPU炕矮、內(nèi)存和設(shè)備的利用率
- 提高系統(tǒng)的吞吐率么夫,使單位時(shí)間內(nèi)完成的作業(yè)數(shù)量增加
- 充分發(fā)揮系統(tǒng)的并行性,使設(shè)備與設(shè)備之間肤视、CPU與設(shè)備之間均可并行工作
缺點(diǎn)
延長(zhǎng)了作業(yè)周轉(zhuǎn)時(shí)間
多道程序設(shè)計(jì)系統(tǒng)档痪!=多重處理系統(tǒng),后者指配置多個(gè)物理處理器钢颂,能真正同時(shí)執(zhí)行多道程序的計(jì)算機(jī)系統(tǒng)
實(shí)現(xiàn)多道程序設(shè)計(jì)必須解決的3個(gè)問(wèn)題
- 存儲(chǔ)保護(hù)和程序浮動(dòng)
使內(nèi)存中各道程序只能訪問(wèn)自己區(qū)域 - 處理器管理與分配
解決分配CPU的規(guī)則 - 資源管理與調(diào)度
其他資源(如存儲(chǔ)器钞它、設(shè)備及文件)要按照一定策略來(lái)分配和調(diào)度
操作系統(tǒng)的分類
通用操作系統(tǒng):擁有以下兩個(gè)或全部功能
-
批處理操作系統(tǒng)
服務(wù)于一系列成為批的作業(yè)。作業(yè)是把程序、數(shù)據(jù)連同作業(yè)說(shuō)明書(shū)組織起來(lái)的任務(wù)單位遭垛,把批中的作業(yè)預(yù)先輸入作業(yè)隊(duì)列中尼桶,由操作系統(tǒng)按照作業(yè)說(shuō)明書(shū)的要求調(diào)度和控制作業(yè)執(zhí)行
特征- 批量集中處理
- 多道程序運(yùn)行
- 作業(yè)脫機(jī)工作
優(yōu)點(diǎn)
- 系統(tǒng)資源利用率高
- 作業(yè)吞吐量大
缺點(diǎn)
- 作業(yè)周轉(zhuǎn)時(shí)間長(zhǎng)
- 不具備交互式計(jì)算能力
- 不利于程序的開(kāi)發(fā)和調(diào)試
-
分時(shí)操作系統(tǒng)
特點(diǎn)- 同時(shí)性
若干終端用戶聯(lián)機(jī)使用計(jì)算機(jī),分時(shí)是指多個(gè)用戶分享同一臺(tái)計(jì)算機(jī)的CPU時(shí)間 - 獨(dú)立性
終端用戶彼此獨(dú)立锯仪,每個(gè)終端用戶感覺(jué)好像獨(dú)占整臺(tái)計(jì)算機(jī) - 及時(shí)性
終端用戶沒(méi)有大計(jì)算量的立即性請(qǐng)求能夠在足夠短的時(shí)間內(nèi)得到響應(yīng)(并非立即) - 交互性
人機(jī)交互
- 同時(shí)性
實(shí)時(shí)操作系統(tǒng)
提供及時(shí)響應(yīng)和高可靠性
操作系統(tǒng)的基本服務(wù)和用戶接口
用戶接口
操作系統(tǒng)可以通程序接口和操作接口將其服務(wù)提供個(gè)用戶
系統(tǒng)調(diào)用
內(nèi)核提供的一系列具有預(yù)定功能的服務(wù)例程
系統(tǒng)調(diào)用把應(yīng)用程序的請(qǐng)求傳送至內(nèi)核泵督,調(diào)用相應(yīng)服務(wù)例程完成所需處理
作用
- 內(nèi)核可以基于權(quán)限和規(guī)則對(duì)資源訪問(wèn)進(jìn)行裁決,保證系統(tǒng)安全性
- 系統(tǒng)調(diào)用對(duì)資源進(jìn)行抽象庶喜,提供一致性接口小腊,避免用戶在使用資源時(shí)發(fā)生錯(cuò)誤,且編程效率大大提高
系統(tǒng)調(diào)用是應(yīng)用程序獲得操作系統(tǒng)服務(wù)的唯一途徑
庫(kù)函數(shù)和系統(tǒng)調(diào)用的差別
- 應(yīng)用程序角度
無(wú)差別久窟,用戶關(guān)心的是函數(shù)名秩冈、參數(shù)類型個(gè)數(shù)、返回值等 -
系統(tǒng)實(shí)現(xiàn)角度
使用庫(kù)函數(shù)可以隱藏訪管指令的細(xì)節(jié)斥扛,使得系統(tǒng)調(diào)用更像函數(shù)調(diào)用入问,對(duì)用戶隱蔽系統(tǒng)調(diào)用實(shí)現(xiàn)細(xì)節(jié)
庫(kù)函數(shù)屬于應(yīng)用程序,用戶態(tài)運(yùn)行
系統(tǒng)調(diào)用對(duì)應(yīng)的服務(wù)例程屬于系統(tǒng)程序稀颁,內(nèi)核態(tài)運(yùn)行
系統(tǒng)調(diào)用的實(shí)現(xiàn)
操作系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)用功能的機(jī)制稱為陷阱或異常處理機(jī)制
系統(tǒng)調(diào)用引起處理器中斷的指令為訪管指令芬失,訪管指令為非特權(quán)指令,在用戶態(tài)執(zhí)行匾灶,執(zhí)行后才轉(zhuǎn)向內(nèi)核態(tài)
過(guò)程
應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用棱烂,產(chǎn)生中斷轉(zhuǎn)向內(nèi)核態(tài),進(jìn)入陷阱處理程序阶女,它將按功能號(hào)來(lái)查詢?nèi)肟诘刂繁砑彰樱⑥D(zhuǎn)至對(duì)應(yīng)的服務(wù)例程執(zhí)行;完成胡退出中斷张肾,返回應(yīng)用程序斷電繼續(xù)運(yùn)行
系統(tǒng)調(diào)用和函數(shù)調(diào)用的差別
- 調(diào)用的形式和實(shí)現(xiàn)方式不同
- 被調(diào)用代碼的位置不同
- 提供方式不同
操作系統(tǒng)結(jié)構(gòu)和運(yùn)行模型
結(jié)構(gòu)分類
- 單內(nèi)核結(jié)構(gòu)(Linux)
把模塊作為操作系統(tǒng)的基本單位芭析,按照功能需要把整個(gè)系統(tǒng)分解為若干模塊,每個(gè)模塊具有一定獨(dú)立能力 - 層次式結(jié)構(gòu)
- 虛擬機(jī)結(jié)構(gòu)
-
微內(nèi)核結(jié)構(gòu)
僅將所有應(yīng)用必須的核心功能放入內(nèi)核吞瞪,稱為微內(nèi)核馁启,其他功能都在內(nèi)核之外,由用戶態(tài)運(yùn)行的服務(wù)進(jìn)程實(shí)現(xiàn)- 實(shí)現(xiàn)思路
將操作系統(tǒng)分成兩部分芍秆,運(yùn)行在內(nèi)核態(tài)的內(nèi)核惯疙;運(yùn)行在用戶態(tài)并以客戶 - 服務(wù)器方式執(zhí)行的進(jìn)程層,操作系統(tǒng)其他部分功能由相對(duì)獨(dú)立的若干服務(wù)器進(jìn)程來(lái)實(shí)現(xiàn) - 優(yōu)點(diǎn)
- 對(duì)進(jìn)程的請(qǐng)求提供一致性的接口
- 具有較好的可擴(kuò)充性和易修改性
- 可移植性好
- 對(duì)分布式系統(tǒng)提供有力支撐
- 缺點(diǎn):運(yùn)行效率低妖啥,進(jìn)程間必須通過(guò)內(nèi)核的通訊機(jī)制才能進(jìn)行通訊
- 實(shí)現(xiàn)思路
內(nèi)核
內(nèi)核是一組程序模塊霉颠,作為可信軟件來(lái)提供支持進(jìn)程并發(fā)執(zhí)行的基本功能和基本操作,運(yùn)行于內(nèi)核態(tài)荆虱,具有直接訪問(wèn)硬件設(shè)備和所有內(nèi)核空間的權(quán)限蒿偎,是僅有的能夠執(zhí)行特權(quán)指令的程序
其他
自由軟件朽们!=免費(fèi)軟件