




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)輔導(dǎo)
湯子贏、哲風(fēng)屏、湯小丹
1第一章操作系統(tǒng)引論
操作系統(tǒng)的目標(biāo)、作用和模型l
操作系統(tǒng)——是裸機(jī)上的第一層軟件,它是對(duì)硬件系統(tǒng)功能的首次擴(kuò)充,是填補(bǔ)人與機(jī)器之間的鴻溝。用戶(hù)計(jì)算機(jī)OS2
操作系統(tǒng)的目標(biāo)●
設(shè)置操作系統(tǒng)的目的:
1、方便性:操作系統(tǒng)使計(jì)算機(jī)更易于使用
2、有效性:操作系統(tǒng)允許以更有效的方式使用計(jì)算機(jī)系統(tǒng)資源。
3、可擴(kuò)展性:在操作系統(tǒng)中,允許有效地開(kāi)發(fā),測(cè)試和引進(jìn)新的系統(tǒng)功能。
4、開(kāi)放性:實(shí)現(xiàn)應(yīng)用程序的可移植性和互操作性,要求具有統(tǒng)一的開(kāi)放的環(huán)境。3
OS的作用●計(jì)算機(jī)用戶(hù)需要的用戶(hù)命令由OS實(shí)現(xiàn)的所有用戶(hù)命令所構(gòu)成的集合常被人們稱(chēng)為OS的Interface(用戶(hù)接口);有時(shí)也稱(chēng)為命令接口。
命令的表示形式: 字符形式:較靈活但因繁瑣而難記;
菜單形式:(試圖在字符終端上提供友好的用戶(hù)界面)
圖形形式:因直觀(guān)而易記但不靈活。●應(yīng)用軟件需要的SystemCall(系統(tǒng)調(diào)用)
由OS實(shí)現(xiàn)的所有系統(tǒng)調(diào)用所構(gòu)成的集合被人們稱(chēng)為程序接口或應(yīng)用編程接口(ApplicationProgrammingInterface,API)。4●操作系統(tǒng)作為計(jì)算機(jī)系統(tǒng)資源管理者。1、處理機(jī)管理:分配和控制CPU。2、存儲(chǔ)器管理:內(nèi)存分配與回收。3、I/O設(shè)備管理:I/O設(shè)備的分配與操縱。4、文件管理:文件的存取、共享和保護(hù)?!癫僮飨到y(tǒng)用作擴(kuò)充機(jī)器功能,使其便于使用,這種只安裝了OS的機(jī)器又稱(chēng)為虛擬機(jī)。5
操作系統(tǒng)的發(fā)展6無(wú)操作系統(tǒng)時(shí)的計(jì)算機(jī)系統(tǒng)1、
人工操作方式一臺(tái)計(jì)算機(jī)的所有資源由用戶(hù)獨(dú)占,降低了計(jì)算機(jī)資源利用率,人操作慢,出現(xiàn)了嚴(yán)重的人機(jī)矛盾。2、
脫機(jī)輸入輸出方式在外圍計(jì)算機(jī)的控制下,實(shí)現(xiàn)輸入輸出。主要解決了CPU與設(shè)備之間不匹配的矛盾7單道批處理系統(tǒng)1、在內(nèi)存中僅存一道作業(yè)運(yùn)行,運(yùn)行結(jié)束或出錯(cuò),才自動(dòng)調(diào)另一道作業(yè)運(yùn)行。2、單道批處理系統(tǒng)主要特征:自動(dòng)性、順序性、單道性。3、單道批處理系統(tǒng)主要優(yōu)點(diǎn):減少人工操作,解決了作業(yè)的自動(dòng)接續(xù)。4、單道批處理系統(tǒng)主要缺點(diǎn):平均周轉(zhuǎn)時(shí)間長(zhǎng),沒(méi)有交互能力。8多道批處理系統(tǒng)一、多道程序的概念:在內(nèi)存中存放多道作業(yè)運(yùn)行,運(yùn)行結(jié)束或出錯(cuò),自動(dòng)調(diào)度內(nèi)存中的另一道作業(yè)運(yùn)行。●多道程序帶來(lái)的好處:1、提高CPU的利用率。2、提高內(nèi)存和I/O設(shè)備利用率。3、增加系統(tǒng)吞吐率。9二、多道批處理系統(tǒng)主要特征:多道性、無(wú)序性、調(diào)度性(進(jìn)程調(diào)度和作業(yè)調(diào)度)。三、多道批處理的主要優(yōu)點(diǎn):提高了資源利用率和吞吐能力。多道批處理的主要缺點(diǎn):平均周轉(zhuǎn)時(shí)間長(zhǎng),沒(méi)有交互能力。10例1.設(shè)在內(nèi)存中有三道程序A、B和C,按A、B、C的優(yōu)先次序運(yùn)行,其內(nèi)部計(jì)算和I/O操作時(shí)間由下圖給出。
若處理機(jī)調(diào)度程序每次進(jìn)行狀態(tài)轉(zhuǎn)換需要的時(shí)間為1ms,試畫(huà)出按多道程序運(yùn)行的時(shí)間關(guān)系圖。并計(jì)算完成這三道程序共使用了多少時(shí)間?并計(jì)算比單道運(yùn)行節(jié)省多少時(shí)間?
BC11答:多道程序運(yùn)行時(shí)間關(guān)系圖如下圖所示:由圖可計(jì)算出在多道程序運(yùn)行下執(zhí)行了196ms的時(shí)間,而在單道運(yùn)行的時(shí)間為:30+1+40+1+10+1+60+1+30+1+16+1+20+1+40+1+20=274ms多道運(yùn)行的時(shí)間為:30+1+40+1+10+1+20+1+30+1+40+1+20=196則多道程序比單道程序節(jié)省的時(shí)間為:
274一196=78msA30B40A10B20C20B16C20CPUA40B30C40I/O12分時(shí)操作系統(tǒng)(time-sharingsystem)——70年代中期至今
“分時(shí)”的含義:分時(shí)是指多個(gè)用戶(hù)分享使用同一臺(tái)計(jì)算機(jī)。多個(gè)程序分時(shí)共享硬件和軟件資源。
分時(shí)(TimeSharing)操作系統(tǒng)的工作方式是:一臺(tái)主機(jī)連接了若干個(gè)終端,每個(gè)終端有一個(gè)用戶(hù)在使用。用戶(hù)交互式地向系統(tǒng)提出命令請(qǐng)求,系統(tǒng)接受每個(gè)用戶(hù)的命令,采用時(shí)間片輪轉(zhuǎn)方式處理服務(wù)請(qǐng)求,并通過(guò)交互方式在終端上向用戶(hù)顯示結(jié)果。用戶(hù)根據(jù)上步結(jié)果發(fā)出下道命。分時(shí)操作系統(tǒng)將CPU的時(shí)間劃分成若干個(gè)片段,稱(chēng)為時(shí)間片。操作系統(tǒng)以時(shí)間片為單位,輪流為每個(gè)終端用戶(hù)服務(wù)。每個(gè)用戶(hù)輪流使用一個(gè)時(shí)間片而使每個(gè)用戶(hù)并不感到有別的用戶(hù)存在。
13
分時(shí)系統(tǒng)分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問(wèn)題:及時(shí)接收:實(shí)現(xiàn)多個(gè)用戶(hù)的信息及時(shí)接收。及時(shí)處理:及時(shí)控制作業(yè)的運(yùn)行。
14分時(shí)系統(tǒng)的特征:多路性:同時(shí)有多個(gè)用戶(hù)使用一臺(tái)計(jì)算機(jī),宏觀(guān)上看是多個(gè)人同時(shí)使用一個(gè)CPU,微觀(guān)上是多個(gè)人在不同時(shí)刻輪流使用CPU。獨(dú)立性:用戶(hù)感覺(jué)不到計(jì)算機(jī)為其他人服務(wù),就像整個(gè)系統(tǒng)為他所獨(dú)占。及時(shí)性:系統(tǒng)對(duì)用戶(hù)提出的請(qǐng)求及時(shí)響應(yīng)。交互性:用戶(hù)根據(jù)系統(tǒng)響應(yīng)結(jié)果進(jìn)一步提出新請(qǐng)求(用戶(hù)直接干預(yù)每一步)?!坝绊戫憫?yīng)時(shí)間的若干因素:
Ti=NQ+To.s+Twap改善響應(yīng)時(shí)間的方法采用重入碼減少信息的對(duì)換量采用虛擬存儲(chǔ)技術(shù),減少信息對(duì)換量15實(shí)時(shí)系統(tǒng)●所謂實(shí)時(shí)系統(tǒng):是計(jì)算機(jī)及時(shí)響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)設(shè)備和實(shí)時(shí)任務(wù)協(xié)調(diào)一致的運(yùn)行。一、實(shí)時(shí)系統(tǒng)分為兩類(lèi)
1、實(shí)時(shí)控制系統(tǒng)
2、實(shí)時(shí)信息處理系統(tǒng)二、實(shí)時(shí)任務(wù)的類(lèi)型
1、按任務(wù)執(zhí)行是否為周期性來(lái)劃分
2、按截止時(shí)間來(lái)劃分16
三、實(shí)時(shí)系統(tǒng)的特征
1、多路性:能對(duì)多個(gè)對(duì)象進(jìn)行控制。
2、獨(dú)立性:獨(dú)立運(yùn)行,不混淆,不破壞。
3、交互性:僅限于訪(fǎng)問(wèn)系統(tǒng)中某些特定的專(zhuān)用服務(wù)程序。
4、可靠性:高可靠性,應(yīng)具有過(guò)載防護(hù)能力。
5、及時(shí)性:不同的系統(tǒng)要求不一樣,控制對(duì)象必須在截止時(shí)間內(nèi)完成。17操作系統(tǒng)的定義OS就是一個(gè)“大管家”,可以這樣去定義:是一組控制和管理計(jì)算機(jī)硬件和軟件資源、合理地對(duì)各類(lèi)作業(yè)進(jìn)行調(diào)度以及方便用戶(hù)的程序的集合。18操作系統(tǒng)的基本特征現(xiàn)代OS的四個(gè)基本特征:1、并發(fā)2、共享3、虛擬4、異步并發(fā)是最重要的特征,其它特征都以并發(fā)為前提。19并發(fā)并發(fā)——并行性和并發(fā)性,并發(fā)執(zhí)行的過(guò)程。
-并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生。
-并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。任務(wù)共行
-從宏觀(guān)上看,任務(wù)共行是指系統(tǒng)中有多個(gè)任務(wù)同時(shí)運(yùn)行
-從微觀(guān)上看,任務(wù)共行是指單處理機(jī)系統(tǒng)中的任務(wù)并發(fā)(TaskConcurrency:即多個(gè)任務(wù)在單個(gè)處理機(jī)上交替運(yùn)行)或多處理機(jī)系統(tǒng)中的任務(wù)并行(TaskParallelism:即多個(gè)任務(wù)在多個(gè)處理機(jī)上同時(shí)運(yùn)行)。20共享所謂共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程共同使用。1、互斥共享方式:
-把在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪(fǎng)問(wèn)的資源,稱(chēng)為臨界資源。
-系統(tǒng)中的臨界資源可以提供給多個(gè)進(jìn)程使用,但一次僅允許一個(gè)進(jìn)程使用,稱(chēng)為互斥共享方式。例如打印機(jī)。212、同時(shí)訪(fǎng)問(wèn)方式:
-從宏觀(guān)上看,資源共享是指多個(gè)任務(wù)可以同時(shí)使用系統(tǒng)中的軟硬件資源
-從微觀(guān)上看,資源共享是指多個(gè)任務(wù)可以交替互斥地使用系統(tǒng)中的某個(gè)資源。例如磁盤(pán)。22虛擬所謂虛擬是指通過(guò)某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。虛擬處理機(jī):分時(shí)實(shí)現(xiàn)虛擬設(shè)備:SPOOLING技術(shù)虛擬存儲(chǔ)器:虛擬存儲(chǔ)管理實(shí)現(xiàn)23異步性異步性——是指進(jìn)程以異步的方式執(zhí)行,進(jìn)程是以人們不可預(yù)知的速度向前推進(jìn)。內(nèi)存中的每個(gè)進(jìn)程何時(shí)執(zhí)行,何時(shí)暫停,以怎樣的速度向前推進(jìn),每道程序總共需要多少時(shí)間才能完成等,都是不可預(yù)知的
24操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
操作系統(tǒng)是一個(gè)大型系統(tǒng)軟件,其結(jié)構(gòu)已經(jīng)歷了四代的變革:整體式結(jié)構(gòu)、核心結(jié)構(gòu)和層次結(jié)構(gòu)。
25整體式結(jié)構(gòu)是指將整個(gè)操作系統(tǒng)作為一個(gè)整體運(yùn)行操作系統(tǒng)時(shí),不能響應(yīng)其他中斷。核心結(jié)構(gòu)是指把操作系統(tǒng)分為外殼部分和核心部分。CPU在執(zhí)行外殼部分時(shí),可以響應(yīng)其他中斷;而在執(zhí)行核心部分時(shí),禁止響應(yīng)中斷。通常核心部分只是操作系統(tǒng)的一小部分,每次運(yùn)行時(shí)間較短。核心部分通常包括進(jìn)程控制和調(diào)度,進(jìn)程的通信原語(yǔ)中斷和中斷處理,時(shí)鐘處理,外設(shè)驅(qū)動(dòng)等。層次結(jié)構(gòu)是把操作系統(tǒng)的功能分層,每層有明確的功能,提供接口與上下層聯(lián)系,上層軟件調(diào)用下層軟件提供的服務(wù)。對(duì)層次結(jié)構(gòu)實(shí)現(xiàn)功能描述的另一種方法是把層次畫(huà)為同心圓,內(nèi)層的環(huán)比外層的環(huán)有較高的特權(quán),當(dāng)外層環(huán)的過(guò)程調(diào)用內(nèi)層環(huán)的過(guò)程時(shí)要進(jìn)行嚴(yán)格的檢查。操作系統(tǒng)的核心和層次結(jié)構(gòu)如圖所示。2627第二章
進(jìn)程的描述與控制
28一、
相關(guān)概念
1、
前趨圖——有向無(wú)循環(huán)的圖。表示程序執(zhí)行的偏序關(guān)系。
2、程序的順序執(zhí)行——嚴(yán)格按照程序給定的順序執(zhí)行,僅當(dāng)前一個(gè)執(zhí)行結(jié)束才執(zhí)行后一個(gè)。
3、
程序的順序的特征:
①
順序性
②封閉性
③可再現(xiàn)性
4、程序的并發(fā)執(zhí)行——是指兩個(gè)或兩個(gè)以上程序段在執(zhí)行的時(shí)間上是重疊的,即使這種重疊只有一小部分,則稱(chēng)這些程序?yàn)楣残袌?zhí)行。295、程序并發(fā)執(zhí)行的特征:
①間斷性
②失去封閉性
③不可再現(xiàn)性例2:若程序Pa、Pb和Pc單獨(dú)執(zhí)行時(shí)間分別Ta、Tb和Tc
,Ta=1小時(shí),Tb=1.5小時(shí),Tc=2小時(shí),其中處理機(jī)工作時(shí)間分別為T(mén)a=10分鐘,Tb=15分鐘,Tc=35分鐘。如果采用多道程序設(shè)計(jì)的方法,讓Ta、Tb和Tc并行工作,假定處理機(jī)利用率達(dá)到60%,另加20分鐘系統(tǒng)開(kāi)銷(xiāo),請(qǐng)問(wèn)系統(tǒng)效率能提高百分之幾?
30答:Ta、Tb和Tc并行工作共用CPU時(shí)間:(10+15+35)/60%=100Ta、Tb和Tc順序工作共用CPU時(shí)間:(60+90+120)=270系統(tǒng)效率提高:(270-(100+20))/270=150/270=55.5%31二、
進(jìn)程的基本概念
1、進(jìn)程的定義——可并發(fā)執(zhí)行的程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行過(guò)程。(程序、數(shù)據(jù)、進(jìn)程控制塊)
2、進(jìn)程的基本特征
①
動(dòng)態(tài)性
②
并發(fā)性
③
獨(dú)立性
④
異步性
⑤
交往性
3、
進(jìn)程的基本狀態(tài)及其轉(zhuǎn)變32進(jìn)程的三種基本狀態(tài)及其轉(zhuǎn)換
334、
進(jìn)程控制塊——描述和控制進(jìn)程運(yùn)行,系統(tǒng)為每個(gè)進(jìn)程定義的一個(gè)數(shù)據(jù)結(jié)構(gòu)。5、進(jìn)程控制塊的組織方式進(jìn)程描述信息處理機(jī)狀態(tài)信息進(jìn)程的調(diào)度信息進(jìn)程的控制信息進(jìn)程控制塊是操作系統(tǒng)最重要的數(shù)據(jù)結(jié)構(gòu),是進(jìn)程存在的唯一標(biāo)志。進(jìn)程控制表。6、進(jìn)程的掛起狀態(tài)
34三、
進(jìn)程控制1、進(jìn)程管理
進(jìn)程圖:表明進(jìn)程的創(chuàng)建關(guān)系,創(chuàng)建的進(jìn)程和被創(chuàng)建的進(jìn)程可以并發(fā)執(zhí)行。2、引起進(jìn)程創(chuàng)建的原因
①用戶(hù)登錄:為終端用戶(hù)建立進(jìn)程。
②作業(yè)調(diào)度:選中的作業(yè)建立進(jìn)程。
③提供服務(wù):為用戶(hù)提供的服務(wù)進(jìn)程。例如:I/O進(jìn)程等。④
應(yīng)用請(qǐng)求:應(yīng)用程序自己創(chuàng)建的進(jìn)程。3、原語(yǔ):由若干條指令構(gòu)成,用于完成一定功能的一個(gè)過(guò)程。不允許被中斷的程序段,不許并發(fā)執(zhí)行。4、原子操作(原子性):一個(gè)操作中的所有動(dòng)作,要么全做,要么全不做。是一個(gè)不可分割的操作。35創(chuàng)建原語(yǔ)撤銷(xiāo)原語(yǔ)阻塞原語(yǔ)喚醒原語(yǔ)掛起與激活原語(yǔ)36
5、
線(xiàn)程的基本概念(1)
線(xiàn)程:一個(gè)被調(diào)度和分派的基本單位并可獨(dú)立運(yùn)行的實(shí)體。(2)
線(xiàn)程分類(lèi):
①內(nèi)核支持線(xiàn)程:依賴(lài)于內(nèi)核進(jìn)行控制和管理。
②用戶(hù)級(jí)線(xiàn)程:在用戶(hù)級(jí)創(chuàng)建、撤消和切換。(3)
在引入線(xiàn)程的OS中,則把線(xiàn)程作為調(diào)度和分派的基本單位,而把進(jìn)程作為資源的擁有的基本單位。(4)
在同一進(jìn)程中的線(xiàn)程切換不會(huì)引起進(jìn)程切換。(5)在不同一進(jìn)程中的線(xiàn)程切換會(huì)引起進(jìn)程切換。
37
進(jìn)程同步的基本概念1、
進(jìn)程的相互制約
①間接相互制約——資源共享引起互斥關(guān)系
②
直接相互制約——相互合作引起進(jìn)程同步2、
臨界資源:一次僅允許一個(gè)進(jìn)程使用的資源稱(chēng)為臨界資源。(排他性資源)3、臨界區(qū):訪(fǎng)問(wèn)臨界資源的那段代碼稱(chēng)為臨界區(qū)。4、
同步機(jī)制應(yīng)遵循的準(zhǔn)則:
①空閑讓進(jìn)——充分利用資源
②忙則等待——保證同步與互斥
③有限等待————防止陷入“死等”
④
讓權(quán)等待——防止陷入“忙等”
38
…
進(jìn)入控制臨界區(qū)解除限制
…互斥的加鎖實(shí)現(xiàn):臨界區(qū)有空閑和占有兩個(gè)狀態(tài)
whilelock=1doskiplock=1;
臨界區(qū)
lock=0;
借助硬件來(lái)實(shí)現(xiàn)39信號(hào)量機(jī)制
1、
經(jīng)典信號(hào)量——表示資源的物理實(shí)體。
2、
記錄型信號(hào)量——更有效的利用資源,解決忙等的問(wèn)題。
3、
AND型信號(hào)量機(jī)制——防止系統(tǒng)出現(xiàn)不安全性。
①
AND型信號(hào)量機(jī)制的概念化(見(jiàn)P72-6行或P43)
②Swait操作(SP操作):(見(jiàn)P72或P43)
③
Ssignal操作(SV操作):(見(jiàn)P72或P43)
4、
信號(hào)量應(yīng)用實(shí)例
①互斥②前趨③同步40信號(hào)量為一個(gè)整數(shù),我們?cè)O(shè)這個(gè)信號(hào)量為:sem。很顯然,我們規(guī)定在sem大于等于零的時(shí)候代表可供并發(fā)進(jìn)程使用的資源實(shí)體數(shù),sem小于零的時(shí)候,表示正在等待使用臨界區(qū)的進(jìn)程的個(gè)數(shù)。根據(jù)這個(gè)原則,在給信號(hào)量附初值的時(shí)候,我們顯然就要設(shè)初值大于零。P原語(yǔ)操作的動(dòng)作是:(1)sem減1;(2)若sem減1后仍大于或等于零,則進(jìn)程繼續(xù)執(zhí)行;(3)若sem減1后小于零,則該進(jìn)程被阻塞后進(jìn)入與該信號(hào)相對(duì)應(yīng)的隊(duì)列中,然后轉(zhuǎn)進(jìn)程調(diào)度。V原語(yǔ)操作的動(dòng)作是:(1)sem加1;(2)若相加結(jié)果大于零,則進(jìn)程繼續(xù)執(zhí)行;(3)若相加結(jié)果小于或等于零,則從該信號(hào)的等待隊(duì)列中喚醒一等待進(jìn)程,然后再返回原進(jìn)程繼續(xù)執(zhí)行或轉(zhuǎn)進(jìn)程調(diào)度。需要提醒大家一點(diǎn)就是P,V操作對(duì)于每一個(gè)進(jìn)程來(lái)說(shuō),都只能進(jìn)行一次。而且必須成對(duì)使用。且在P,V愿語(yǔ)執(zhí)行期間不允許有中斷的發(fā)生。41一、經(jīng)典信號(hào)量(整型信號(hào)量)P操作Wait(s):whiles<=0dono-op;s:=s-1;
V操作signal(s):S:=s+1;42二、記錄型信號(hào)量讓權(quán)等待結(jié)構(gòu)體:整形變量,進(jìn)程鏈表Typesemaphore=recordvalue:integer;l:listofprocess;endWait(s):vars:semaphore;begins.value:=s.value-1;ifs.value<0thenblock(s.l)End43Signal(s):vars:semaphore;begins.value:=s.value+1;ifs.value<=0thenwakeup(s.l)end44信號(hào)量操作:
1)初始化
2)P操作
a)S--
b)if(S<0)在Q隊(duì)列中睡眠
else進(jìn)入
3)V操作
a)S++
b)if(S<=0)喚醒一睡眠進(jìn)程(等待隊(duì)列中有進(jìn)程在睡眠)
else繼續(xù)
P操作可以理解為申請(qǐng)資源,V操作可以理解為釋放資源,45
利用信號(hào)量和PV操作實(shí)現(xiàn)進(jìn)程互斥的一般模型是:進(jìn)程P1
進(jìn)程P2
……
進(jìn)程Pn……
……
……P(S);
P(S);
P(S);臨界區(qū);
臨界區(qū);
臨界區(qū);V(S);
V(S);
V(S);……
……
……
……
其中信號(hào)量S用于互斥,初值為1。
使用PV操作實(shí)現(xiàn)進(jìn)程互斥時(shí)應(yīng)該注意的是:(1)每個(gè)程序中用戶(hù)實(shí)現(xiàn)互斥的P、V操作必須成對(duì)出現(xiàn),先做P操作,進(jìn)臨界區(qū),后做V操作,出臨界區(qū)。若有多個(gè)分支,要認(rèn)真檢查其成對(duì)性。(2)P、V操作應(yīng)分別緊靠臨界區(qū)的頭尾部,臨界區(qū)的代碼應(yīng)盡可能短,不能有死循環(huán)。(3)互斥信號(hào)量的初值一般為1。
46
利用信號(hào)量和PV操作實(shí)現(xiàn)進(jìn)程同步PV操作是典型的同步機(jī)制之一。用一個(gè)信號(hào)量與一個(gè)消息聯(lián)系起來(lái),當(dāng)信號(hào)量的值為0時(shí),表示期望的消息尚未產(chǎn)生;當(dāng)信號(hào)量的值非0時(shí),表示期望的消息已經(jīng)存在。用PV操作實(shí)現(xiàn)進(jìn)程同步時(shí),調(diào)用P操作測(cè)試消息是否到達(dá),調(diào)用V操作發(fā)送消息。
使用PV操作實(shí)現(xiàn)進(jìn)程同步時(shí)應(yīng)該注意的是:
(1)分析進(jìn)程間的制約關(guān)系,確定信號(hào)量種類(lèi)。在保持進(jìn)程間有正確的同步關(guān)系情況下,哪個(gè)進(jìn)程先執(zhí)行,哪些進(jìn)程后執(zhí)行,彼此間通過(guò)什么資源(信號(hào)量)進(jìn)行協(xié)調(diào),從而明確要設(shè)置哪些信號(hào)量。
(2)信號(hào)量的初值與相應(yīng)資源的數(shù)量有關(guān),也與P、V操作在程序代碼中出現(xiàn)的位置有關(guān)。
(3)同一信號(hào)量的P、V操作要成對(duì)出現(xiàn),但它們分別在不同的進(jìn)程代碼中。47【例1】生產(chǎn)者-消費(fèi)者問(wèn)題在多道程序環(huán)境下,進(jìn)程同步是一個(gè)十分重要又令人感興趣的問(wèn)題,而生產(chǎn)者-消費(fèi)者問(wèn)題是其中一個(gè)有代表性的進(jìn)程同步問(wèn)題。下面我們給出了各種情況下的生產(chǎn)者-消費(fèi)者問(wèn)題,深入地分析和透徹地理解這個(gè)例子,對(duì)于全面解決操作系統(tǒng)內(nèi)的同步、互斥問(wèn)題將有很大幫助。(1)一個(gè)生產(chǎn)者,一個(gè)消費(fèi)者,公用一個(gè)緩沖區(qū)。定義兩個(gè)同步信號(hào)量:empty——表示緩沖區(qū)是否為空,初值為1。full——表示緩沖區(qū)中是否為滿(mǎn),初值為0。48生產(chǎn)者進(jìn)程while(TRUE){
生產(chǎn)一個(gè)產(chǎn)品;
P(empty);
產(chǎn)品送往Buffer;
V(full);
}消費(fèi)者進(jìn)程while(TRUE){
P(full);
從Buffer取出一個(gè)產(chǎn)品;
V(empty);
消費(fèi)該產(chǎn)品;
}49(2)一個(gè)生產(chǎn)者,一個(gè)消費(fèi)者,公用n個(gè)環(huán)形緩沖區(qū)。定義兩個(gè)同步信號(hào)量:empty——表示緩沖區(qū)是否為空,初值為n。full——表示緩沖區(qū)中是否為滿(mǎn),初值為0。
設(shè)緩沖區(qū)的編號(hào)為1~n1,定義兩個(gè)指針in和out,分別是生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程使用的指針,指向下一個(gè)可用的緩沖區(qū)。50生產(chǎn)者進(jìn)程while(TRUE){
生產(chǎn)一個(gè)產(chǎn)品;
P(empty);
產(chǎn)品送往buffer(in);
in=(in+1)modn;
V(full);
}消費(fèi)者進(jìn)程while(TRUE){P(full);
從buffer(out)中取出產(chǎn)品;
out=(out+1)modn;
V(empty);
消費(fèi)該產(chǎn)品;
}
51(3)一組生產(chǎn)者,一組消費(fèi)者,公用n個(gè)環(huán)形緩沖區(qū)
在這個(gè)問(wèn)題中,不僅生產(chǎn)者與消費(fèi)者之間要同步,而且各個(gè)生產(chǎn)者之間、各個(gè)消費(fèi)者之間還必須互斥地訪(fǎng)問(wèn)緩沖區(qū)。定義四個(gè)信號(hào)量:empty——表示緩沖區(qū)是否為空,初值為n。full——表示緩沖區(qū)中是否為滿(mǎn),初值為0。mutex1——生產(chǎn)者之間的互斥信號(hào)量,初值為1。mutex2——消費(fèi)者之間的互斥信號(hào)量,初值為1。
設(shè)緩沖區(qū)的編號(hào)為1~n1,定義兩個(gè)指針in和out,分別是生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程使用的指針,指向下一個(gè)可用的緩沖區(qū)。
52生產(chǎn)者進(jìn)程while(TRUE){
生產(chǎn)一個(gè)產(chǎn)品;
P(empty);
P(mutex1);
產(chǎn)品送往buffer(in);
in=(in+1)modn;
V(mutex1);
V(full);
}消費(fèi)者進(jìn)程while(TRUE){P(full);
P(mutex2);
從buffer(out)中取出產(chǎn)品;
out=(out+1)modn;
V(mutex2);
V(empty);
消費(fèi)該產(chǎn)品;
}
53需要注意的是無(wú)論在生產(chǎn)者進(jìn)程中還是在消費(fèi)者進(jìn)程中,兩個(gè)P操作的次序不能顛倒。應(yīng)先執(zhí)行同步信號(hào)量的P操作,然后再執(zhí)行互斥信號(hào)量的P操作,否則可能造成進(jìn)程死鎖。
54【例2】桌上有一空盤(pán),允許存放一只水果。爸爸可向盤(pán)中放蘋(píng)果,也可向盤(pán)中放桔子,兒子專(zhuān)等吃盤(pán)中的桔子,女兒專(zhuān)等吃盤(pán)中的蘋(píng)果。規(guī)定當(dāng)盤(pán)空時(shí)一次只能放一只水果供吃者取用,請(qǐng)用P、V原語(yǔ)實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。分析在本題中,爸爸、兒子、女兒共用一個(gè)盤(pán)子,盤(pán)中一次只能放一個(gè)水果。當(dāng)盤(pán)子為空時(shí),爸爸可將一個(gè)水果放入果盤(pán)中。若放入果盤(pán)中的是桔子,則允許兒子吃,女兒必須等待;若放入果盤(pán)中的是蘋(píng)果,則允許女兒吃,兒子必須等待。本題實(shí)際上是生產(chǎn)者-消費(fèi)者問(wèn)題的一種變形。這里,生產(chǎn)者放入緩沖區(qū)的產(chǎn)品有兩類(lèi),消費(fèi)者也有兩類(lèi),每類(lèi)消費(fèi)者只消費(fèi)其中固定的一類(lèi)產(chǎn)品。
解:在本題中,應(yīng)設(shè)置三個(gè)信號(hào)量S、So、Sa,信號(hào)量S表示盤(pán)子是否為空,其初值為l;信號(hào)量So表示盤(pán)中是否有桔子,其初值為0;信號(hào)量Sa表示盤(pán)中是否有蘋(píng)果,其初值為0。同步描述如下:55intS=1;intSa=0;intSo=0;
main()
{
cobegin
father();
/*父親進(jìn)程*/
son();
/*兒子進(jìn)程*/
daughter();
/*女兒進(jìn)程*/
coend
}
father()
{
while(1)
{
P(S);
將水果放入盤(pán)中;
if(放入的是桔子)V(So);
else
V(Sa);
}
}
56son()
{
while(1)
{
P(So);
從盤(pán)中取出桔子;
V(S);
吃桔子;
}
}
daughter()
{
while(1)
{
P(Sa);
從盤(pán)中取出蘋(píng)果;
V(S);
吃蘋(píng)果;
}
}57四個(gè)進(jìn)程A、B、C、D都要讀一個(gè)共享文件F,系統(tǒng)允許多個(gè)進(jìn)程同時(shí)讀文件F。但限制是進(jìn)程A和進(jìn)程C不能同時(shí)讀文件F,進(jìn)程B和進(jìn)程D也不能同時(shí)讀文件F。為了使這四個(gè)進(jìn)程并發(fā)執(zhí)行時(shí)能按系統(tǒng)要求使用文件,現(xiàn)用PV操作進(jìn)行管理,請(qǐng)回答下面的問(wèn)題:
(1)應(yīng)定義的信號(hào)量及初值:
。
(2)在下列的程序中填上適當(dāng)?shù)腜、V操作,以保證它們能正確并發(fā)工作:
A()
B()
C()
D()
{
{
{
{
[1];
[3];
[5];
[7];
readF;
readF;
readF;
readF;
[2];
[4];
[6];
[8];
}
}
}
}
58(1)定義二個(gè)信號(hào)量S1、S2,初值均為1,即:S1=1,S2=1。其中進(jìn)程A和C使用信號(hào)量S1,進(jìn)程B和D使用信號(hào)量S2。(2)從[1]到[8]分別為:P(S1)V(S1)P(S2)V(S2)P(S1)V(S1)P(S2)V(S2)
59讀者-寫(xiě)者問(wèn)題-問(wèn)題描述一個(gè)數(shù)據(jù)文件或記錄/數(shù)據(jù)對(duì)象,可以被多個(gè)進(jìn)程共享。其中有些進(jìn)程要求讀;而另一些進(jìn)程要求對(duì)數(shù)據(jù)對(duì)象進(jìn)行寫(xiě)或修改。允許多個(gè)讀進(jìn)程同時(shí)讀一個(gè)共享對(duì)象,但不允許寫(xiě)進(jìn)程與讀進(jìn)程或其他寫(xiě)進(jìn)程同時(shí)訪(fǎng)問(wèn)共享對(duì)象。所謂讀者—寫(xiě)著問(wèn)題(theReader-WriterProblem)是指保證寫(xiě)進(jìn)程必須與其他進(jìn)程互斥地訪(fǎng)問(wèn)共享對(duì)象的同步問(wèn)題。該問(wèn)題首先在1971年又Courtois等人解決。
60為實(shí)現(xiàn)Reader與Writer進(jìn)程間在讀或?qū)憰r(shí)的互斥而設(shè)置了一個(gè)互斥信號(hào)量Wmutex。另外,再設(shè)置一個(gè)整型變量Readcount表示正在讀的進(jìn)程數(shù)目。由于只要有一個(gè)Reader進(jìn)程在讀,便不允許Writer進(jìn)程去寫(xiě)。因此,僅當(dāng)Readcount=0,表示尚無(wú)Reader進(jìn)程在讀時(shí),Reader進(jìn)程才需要執(zhí)行Wait(Wmutex)操作。若wait(Wmutex)操作成功,Reader進(jìn)程便可去讀,相應(yīng)地,做Readcount+1操作。同理,僅當(dāng)Reader進(jìn)程在執(zhí)行了Readcount減1操作后其值為0時(shí),才須執(zhí)行signal(Wmutex)操作,以便讓W(xué)riter進(jìn)程寫(xiě)。又因?yàn)镽eadcount是一個(gè)可被多個(gè)Reader進(jìn)程訪(fǎng)問(wèn)的臨界資源,因此,應(yīng)該為它設(shè)置一個(gè)互斥信號(hào)量rmutex。61讀者-寫(xiě)者問(wèn)題可描述如下:varrmutex,wmutex:semaphore:=1,1;readcount:integer:=0;62哲學(xué)家進(jìn)餐問(wèn)題-問(wèn)題描述有五個(gè)哲學(xué)家,他們的生活方式是交替地進(jìn)行思考和進(jìn)餐。哲學(xué)家們共用一張圓桌,分別坐在周?chē)奈鍙堃巫由?。在圓桌上有五個(gè)碗和五支筷子,平時(shí)哲學(xué)家進(jìn)行思考,饑餓時(shí)便試圖取用其左、右靠他最近的筷子,只有當(dāng)他拿到兩支筷子時(shí)才能進(jìn)餐。進(jìn)餐畢,放下筷子又繼續(xù)思考。經(jīng)分析可知,放在桌子上的筷子是臨界資源,在一段時(shí)間內(nèi)只允許一位哲學(xué)家使用。為了實(shí)現(xiàn)對(duì)筷子的互斥使用,可以用一個(gè)信號(hào)量表示一只筷子,由這五個(gè)信號(hào)量構(gòu)成信號(hào)量數(shù)組。其描述如下varchopstick:array[0..4]ofsemaphore;
63所有信號(hào)量均被初始化為1,第i位哲學(xué)家的活動(dòng)可描述為:repeatwait(chopstick[i]);wait(chopstick[(i+1)mod5]);eat;signal(chopstick[i]);signal(chopstick[(i+1)mod5]);think;untilfalse;
64上述解法可保證不會(huì)有兩個(gè)相鄰的哲學(xué)家同時(shí)進(jìn)餐/互斥使用中間的筷子,但有引起死鎖的可能??刹扇∫韵聨追N解決方法:(1)至多只允許有四位哲學(xué)家同時(shí)去拿左邊的筷子,最終能保證至少有一位哲學(xué)家能夠進(jìn)餐,并在用畢時(shí)能釋放出他用過(guò)的兩只筷子,從而使更多的哲學(xué)家能夠進(jìn)餐。(2)僅當(dāng)哲學(xué)家的左、右兩只筷子均可用時(shí),才允許他拿起筷子進(jìn)餐。(3)規(guī)定奇數(shù)號(hào)哲學(xué)家先拿他左邊的筷子,然后再去拿右邊的筷子;而偶數(shù)號(hào)哲學(xué)家則相反。按此規(guī)定,將是1、2號(hào)哲學(xué)家競(jìng)爭(zhēng)1號(hào)筷子;3、4號(hào)哲學(xué)家競(jìng)爭(zhēng)3號(hào)筷子。即五位哲學(xué)家都先競(jìng)爭(zhēng)奇數(shù)號(hào)筷子,獲得后,再去競(jìng)爭(zhēng)偶數(shù)號(hào)筷子,最后總會(huì)有一位哲學(xué)家能獲得兩只筷子而進(jìn)餐。65在哲學(xué)家進(jìn)餐問(wèn)題中,要求每個(gè)哲學(xué)家先獲得兩個(gè)臨界資源(筷子)后方能進(jìn)餐,這在本質(zhì)上就是前面所介紹的AND同步問(wèn)題,故用AND信號(hào)量機(jī)制可獲得最簡(jiǎn)潔的解法。66三、AND型信號(hào)量機(jī)制死鎖67四、信號(hào)量集機(jī)制68管程機(jī)制信號(hào)量機(jī)制是一種方便而有效的進(jìn)程同步機(jī)制,但每個(gè)要訪(fǎng)問(wèn)臨界資源的進(jìn)程須自備wait和signal操作。這樣不僅給系統(tǒng)管理造成麻煩,而且還會(huì)因同步操作使用不當(dāng)而導(dǎo)致死鎖,甚至產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤,例如:1、顛倒wait和signal操作導(dǎo)致臨界資源被同時(shí)訪(fǎng)問(wèn);2、signal誤寫(xiě)為wait操作,導(dǎo)致任何進(jìn)程無(wú)法訪(fǎng)問(wèn)臨界資源,發(fā)生死鎖;3、遺漏wait操作會(huì)導(dǎo)致多個(gè)進(jìn)程同時(shí)訪(fǎng)問(wèn)臨界資源,遺漏signal則導(dǎo)致其他進(jìn)程無(wú)法進(jìn)入臨界區(qū)?;谝陨锨闆r,1971年DIjkstra提出了秘書(shū)“進(jìn)程”機(jī)制。1973年Hansan和Hoare又講“秘書(shū)”進(jìn)程思想發(fā)展為“管程”概念,把并發(fā)進(jìn)程間的同步操作分別集中在相應(yīng)的管程中。
69管程由三部分組成:①局部于管程的共享變量說(shuō)明;②對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;③對(duì)局部于管程的數(shù)據(jù)設(shè)置初始值的語(yǔ)句。此外,還須為管程賦予一個(gè)名字。7071條件變量在管程機(jī)制中,引起進(jìn)程等待的原因可能很多,為了區(qū)別他們,有引入了條件變量condition。管程中對(duì)每個(gè)條件變量,都須予以說(shuō)明,其形式為:Varx,y:condition。該變量應(yīng)置于wait和signal之前,即可表示為X.wait和X.signal。例如,由于共享數(shù)據(jù)被占用而使調(diào)用進(jìn)程等待,該條件變量的形式為:nonbusy:condition。此時(shí),wait原語(yǔ)應(yīng)改為nonbusy.wait,相應(yīng)地,signal應(yīng)改為nonbusy.signal。應(yīng)當(dāng)指出,X.signal操作的作用,是重新啟動(dòng)一個(gè)被阻塞的進(jìn)程,但如果沒(méi)有被阻塞的進(jìn)程,則X.signal操作不產(chǎn)生任何后果。這與信號(hào)量機(jī)制中的signal操作不同。因?yàn)?,后者總是要?zhí)行s:=s+1操作,因而總會(huì)改變信號(hào)量的狀態(tài)。72如果有進(jìn)程Q處于阻塞狀態(tài),當(dāng)進(jìn)程P執(zhí)行了X.signal操作后,怎樣決定由哪個(gè)進(jìn)行執(zhí)行,哪個(gè)等待,可采用下述兩種方式之一進(jìn)行處理:(1)P等待,直至Q離開(kāi)管程或等待另一條件。(2)Q等待,直至P離開(kāi)管程或等待另一條件。采用哪種處理方式,當(dāng)然是各執(zhí)一詞。但是Hansan卻采用了第一種處理方式。73利用管程解決PC問(wèn)題-基本思想在利用管程方法來(lái)解決生產(chǎn)者-消費(fèi)者問(wèn)題時(shí),首先便是為它們建立一個(gè)管程,并命名為Proclucer-Consumer,或簡(jiǎn)稱(chēng)為PC。其中包括兩個(gè)過(guò)程:(1)put(item)過(guò)程。生產(chǎn)者利用該過(guò)程將自己生產(chǎn)的產(chǎn)品投放到緩沖池中,并用整型變量count來(lái)表示在緩沖池中已有的產(chǎn)品數(shù)目,當(dāng)count≥n時(shí),表示緩沖池已滿(mǎn),生產(chǎn)者須等待。(2)get(item)過(guò)程。消費(fèi)者利用該過(guò)程從緩沖池中取出一個(gè)產(chǎn)品,當(dāng)count≤0時(shí),表示緩沖池中已無(wú)可取用的產(chǎn)品,消費(fèi)者應(yīng)等待74進(jìn)程通信進(jìn)程通信的類(lèi)型:低級(jí)通信和高級(jí)通信
(1)高級(jí)通信方式:
①共享存儲(chǔ)器系統(tǒng):共享數(shù)據(jù)結(jié)構(gòu)、共享存儲(chǔ)器區(qū)通信方式
②消息傳遞系統(tǒng):直接通信方式——通過(guò)收發(fā)原語(yǔ)間接通信方式——通過(guò)信箱實(shí)現(xiàn)信息交換
③管道通信(2)管道通信具有三方面的協(xié)調(diào)能力:
①雙方同時(shí)存在
②
同步關(guān)系
③
互斥使用管道75第三章
調(diào)度與死鎖一、調(diào)度的類(lèi)型
1、高級(jí)調(diào)度
2、
低級(jí)調(diào)度:非搶占式、搶占式搶占式:時(shí)間片原則、優(yōu)先權(quán)原則、短作業(yè)優(yōu)先原則
3、
中級(jí)調(diào)度76二、
面向用戶(hù)的準(zhǔn)則1、
周轉(zhuǎn)時(shí)間短:平均周轉(zhuǎn)時(shí)間、平均帶權(quán)周轉(zhuǎn)時(shí)間2、
響應(yīng)時(shí)間快3、
截止時(shí)間的保證4、
優(yōu)先權(quán)準(zhǔn)則
77三、面向系統(tǒng)的準(zhǔn)則1、
系統(tǒng)的吞吐量2、
CPU的利用率好3、
各類(lèi)資源平衡使用78調(diào)度的算法1、
先來(lái)先服務(wù)調(diào)度的算法2、
短作業(yè)優(yōu)先調(diào)度的算法3、
時(shí)間片輪轉(zhuǎn)調(diào)度的算法(分時(shí))或簡(jiǎn)單輪轉(zhuǎn)調(diào)度的算法4、
優(yōu)先權(quán)調(diào)度的算法:非搶占式、搶占式
①靜態(tài)優(yōu)先權(quán)
②動(dòng)態(tài)優(yōu)先權(quán)795、
響應(yīng)比高者優(yōu)先調(diào)度的算法:
RP=1+等待時(shí)間/服務(wù)時(shí)間6、多級(jí)隊(duì)列調(diào)度算法:例如,前臺(tái)、后臺(tái)7、多級(jí)反饋隊(duì)列調(diào)度算法(見(jiàn)P108或P80)
實(shí)時(shí)系統(tǒng)的調(diào)度算法
在實(shí)時(shí)系統(tǒng)中,廣泛采用搶占式調(diào)度方式80
死鎖的基本概念1、
何謂死鎖?(見(jiàn)P119或P90)2、
產(chǎn)生死鎖原因:
①
競(jìng)爭(zhēng)資源
②
推進(jìn)順序不當(dāng)3、
產(chǎn)生死鎖的必要條件
①互斥
②請(qǐng)求和保持
③不剝奪
④環(huán)路等待條件
81
4、
處理死鎖的基本方法
①
預(yù)防死鎖:設(shè)置某些限制條件,破壞四個(gè)條件。
②
避免死鎖:資源動(dòng)態(tài)分配,防止進(jìn)入不安全狀態(tài)。
③
檢測(cè)死鎖:設(shè)置檢查機(jī)構(gòu),定時(shí)檢查系統(tǒng)是否出現(xiàn)死鎖。
④解除死鎖:已出現(xiàn)死鎖。
82例.
假定系統(tǒng)中有五個(gè)進(jìn)程{P0,P1,P2,P3,P4}和三類(lèi)資源{A,B,C},每一種資源的數(shù)量分別為10、5、7,在T0時(shí)刻的資源分配情況如下圖所示。在此基礎(chǔ)上P0進(jìn)程發(fā)出請(qǐng)求向量{1,2,0},問(wèn)系統(tǒng)是否能將資源分配給P0進(jìn)程?如能為P0分配資源則給出安全系列,否則給出解除死鎖的方法。
進(jìn)程MaxABCAllocationABCNeedABCAvailableABCP0753010743332P1322200122
P2902302600
P3222211011
P4433002431
83安全P3(1)->p1(2)->p0(3)->p2(4)->p4(5)
進(jìn)程MaxABCAllocationABCNeedABCAvailableABCP0753130
62312(3)753P1321200122(2)623
P2902302600
(4)1055P3222211011(1)
423P4433002431(5)1057
84第四章
存儲(chǔ)器管理
85
一、程序的裝入
1、絕對(duì)裝入方式直接用物理地址編制程序。
2、可重定位裝入方式(靜態(tài)重定位)
重定位——把在裝入時(shí)對(duì)目標(biāo)程序中的指令和數(shù)據(jù)地址的修改過(guò)程稱(chēng)為重定位。
3、動(dòng)態(tài)運(yùn)行時(shí)裝入方式(動(dòng)態(tài)重定位)
作業(yè)在存儲(chǔ)空間的位置,也是裝入時(shí)確定的,但在作業(yè)運(yùn)行過(guò)程中,每次存訪(fǎng)內(nèi)存之前,將程序的地址(邏輯地址)變?yōu)閮?nèi)存的物理地址。這種變換是依靠硬件地址變換機(jī)構(gòu)、自動(dòng)連續(xù)實(shí)施,這樣程序在內(nèi)存的地址是可變的,可申請(qǐng)臨時(shí)空間。86二、程序的鏈接
1、
靜態(tài)鏈接——事先進(jìn)行鏈接,以后不再拆開(kāi)的鏈接方式,稱(chēng)為靜態(tài)鏈接。
2、
裝入時(shí)動(dòng)態(tài)鏈接——編譯后的目標(biāo)模塊,是在裝入內(nèi)存時(shí),邊裝入,邊鏈接的。
3、運(yùn)行時(shí)動(dòng)態(tài)鏈接——將某些目標(biāo)模塊的鏈接推遲到執(zhí)行時(shí)才進(jìn)行,即在執(zhí)行過(guò)程中,若發(fā)現(xiàn)一個(gè)被調(diào)用模塊尚未裝入內(nèi)存時(shí),再由操作系統(tǒng)去找到該模塊,將它裝入內(nèi)存,并把它鏈接到調(diào)用者模塊上。
4、靜態(tài)鏈接需要共享目標(biāo)模塊的拷貝,而動(dòng)態(tài)鏈接不需要共享目標(biāo)模塊的拷貝。87三、連續(xù)分配存儲(chǔ)管理方式
1、
固定式分區(qū)
2、
動(dòng)態(tài)分區(qū)分配——根據(jù)用戶(hù)實(shí)際需要,動(dòng)態(tài)的分配連續(xù)空間。
l拼接技術(shù)
3、
動(dòng)態(tài)重定位分區(qū)分配——采用動(dòng)態(tài)重定位技術(shù)的分區(qū)分配。
l
緊湊技術(shù)88四、分區(qū)管理的算法1、
首次適應(yīng)算法:每個(gè)空白區(qū)按地址順序鏈接在一起,表頭指向第一個(gè)空白區(qū)。2、
循環(huán)首次適應(yīng)算法:將空白區(qū)構(gòu)成循環(huán)鏈表。表頭指向當(dāng)前開(kāi)始查找的第一個(gè)空白區(qū)。3、
最佳適應(yīng)算法:空白區(qū)按尺寸大小遞增順序構(gòu)成隊(duì)列。表頭指向第一個(gè)空白區(qū)。89五、對(duì)換技術(shù)
(交換技術(shù))
就是將主存中的信息以文件的形式寫(xiě)入到輔存,接著將指定的信息從輔存讀入主存,并將控制轉(zhuǎn)給它,讓其在系統(tǒng)上運(yùn)行。90六、分頁(yè)存儲(chǔ)器管理1、在分頁(yè)存儲(chǔ)管理方式中,一個(gè)進(jìn)程的邏輯地址空間分成若干個(gè)大小相等的片,稱(chēng)為頁(yè)面。內(nèi)存空間也分成與頁(yè)相同大小的存儲(chǔ)塊,并將進(jìn)程的每一個(gè)頁(yè)面離散地存儲(chǔ)在內(nèi)存的任一物理塊中,建立相應(yīng)的頁(yè)表,由系統(tǒng)實(shí)現(xiàn)進(jìn)程的正確運(yùn)行。2、快表——為了提高地址變換速度,可在地址變換機(jī)構(gòu)中,增設(shè)一個(gè)具有并行查尋能力的特殊高速緩沖存儲(chǔ)器,稱(chēng)為快表。91
例:有一頁(yè)式系統(tǒng),其頁(yè)表存放在主存中:①如果對(duì)主存的一次存取需要1.5μs,試問(wèn)實(shí)現(xiàn)一次頁(yè)面訪(fǎng)問(wèn)的存取時(shí)間是多少?②如果系統(tǒng)加有快表,平均命中率為85%,當(dāng)頁(yè)表項(xiàng)在快表中時(shí),其查找時(shí)間忽略為0,
試問(wèn)此時(shí)的存取時(shí)間是多少?92答:若頁(yè)表存放在主存中,則要實(shí)現(xiàn)一次頁(yè)面訪(fǎng)問(wèn)需兩次訪(fǎng)問(wèn)主存:一次是訪(fǎng)問(wèn)頁(yè)表,確定所存取頁(yè)面的物理地址(稱(chēng)為定位)。第二次才根據(jù)該地址存取頁(yè)面數(shù)據(jù)?!鲰?yè)表在主存的存取訪(fǎng)問(wèn)時(shí)間
=1.5*2=3(μs)■增加快表后的存取訪(fǎng)問(wèn)時(shí)間
=0.85*1.5+(1-0.85)*2*1.5=1.725(μs)93七、分段存儲(chǔ)管理①在分段存儲(chǔ)管理方式中,一個(gè)作業(yè)的地址空間分成若干個(gè)段,每一段定義了一組邏輯信息,則為每個(gè)段分配連續(xù)的分區(qū),而進(jìn)程中的各段可以離散地存儲(chǔ)在內(nèi)存中不同的分區(qū)中,建立相應(yīng)的段表,由系統(tǒng)實(shí)現(xiàn)進(jìn)程的正確運(yùn)行。
②分頁(yè)與分段存儲(chǔ)管理的區(qū)別?答:P160或P12194八、段頁(yè)式管理(1)
基本思想(見(jiàn)P162或P123)(2)地址變換機(jī)構(gòu)(見(jiàn)P164或P124)95虛擬存儲(chǔ)管理1、
虛擬存儲(chǔ)器的概念?
使用虛擬存儲(chǔ)管理技術(shù),用戶(hù)將會(huì)感覺(jué)到系統(tǒng)的內(nèi)存空間比實(shí)際內(nèi)存大。系統(tǒng)的可用內(nèi)存空間并非計(jì)算機(jī)系統(tǒng)中的實(shí)際物理內(nèi)存,它包含物理內(nèi)存及一部分磁盤(pán)空間。習(xí)慣上,人們把這種用戶(hù)感覺(jué)上存在但實(shí)際上并不存在的內(nèi)存稱(chēng)為虛擬內(nèi)存。962、
請(qǐng)求分頁(yè)存儲(chǔ)管理方式基本思想
在請(qǐng)求分頁(yè)存儲(chǔ)管理方式中,不限定把進(jìn)程的整個(gè)地址空間全部裝入主存,而只要求把當(dāng)前需要的一部分裝入主存,由系統(tǒng)實(shí)現(xiàn)進(jìn)程的正確運(yùn)行,其它的頁(yè)面當(dāng)需要時(shí)才去調(diào)用。這樣實(shí)現(xiàn)了主存的“擴(kuò)充”。地址變換機(jī)構(gòu)(見(jiàn)P170或P129)頁(yè)面的管理:
①頁(yè)面調(diào)入策略
●請(qǐng)求式調(diào)頁(yè)
●預(yù)先調(diào)頁(yè)97②頁(yè)面置換算法:
●FIFO
例如,P175或P134
●最近最久不用頁(yè)面置換算法LRU
例如,(P176或P135)●簡(jiǎn)單的Clock置換算法例如,(P178或P136)3、系統(tǒng)抖動(dòng)?(P183-18行)983、
請(qǐng)求分段存儲(chǔ)管理方式(1)
基本思想
在請(qǐng)求分段存儲(chǔ)管理方式中,把作業(yè)的所有分段的副本保存在輔存中,當(dāng)其運(yùn)行時(shí),只要求把當(dāng)前需要的一段或數(shù)段裝入主存,其它的段當(dāng)需要時(shí)才裝入,由系統(tǒng)實(shí)現(xiàn)進(jìn)程的正確運(yùn)行。這樣實(shí)現(xiàn)了主存的“擴(kuò)充”。(2)地址變換機(jī)構(gòu)(見(jiàn)P186或P139)
●分段保護(hù):越界檢查(段長(zhǎng)值)存取控制檢查99例1.頁(yè)式系統(tǒng)中地址結(jié)構(gòu)長(zhǎng)度為24位,頁(yè)面大小為1K,作業(yè)地址空間為5K,該作業(yè)的各頁(yè)依次存放在2,9,7,5,11號(hào)物理塊中,相對(duì)地址2000處有一條指令Store1,4500,請(qǐng)給出該作業(yè)的頁(yè)表,該指令的物理單元和數(shù)據(jù)存放的物理單元。頁(yè)號(hào)幀號(hào)021927354112000對(duì)應(yīng)為111,1101,0000物理單元為:100111,1101,0000即:1024×9+976=101924500對(duì)應(yīng)為:1024×11+404100例2.在一個(gè)請(qǐng)求頁(yè)式存儲(chǔ)系統(tǒng)中,一個(gè)程序的頁(yè)面走向?yàn)?,3,2,1,4,3,5,4,3,2,1,5,并采用LRU頁(yè)面置換算法。假設(shè)分配給該程序的存儲(chǔ)塊數(shù)M分別為3和4時(shí),求出在防問(wèn)過(guò)程中發(fā)生的缺頁(yè)次數(shù)和缺率,比較所得結(jié)果,從中得到什么啟發(fā)?101第五章
設(shè)備管理一、
I/O系統(tǒng)的組成
1、I/O系統(tǒng)的結(jié)構(gòu)102(1)
設(shè)備①獨(dú)占設(shè)備——在一段時(shí)間內(nèi)只允許一個(gè)用戶(hù)訪(fǎng)問(wèn)的設(shè)備。②共享設(shè)備——在一段時(shí)間內(nèi)允許多個(gè)用戶(hù)訪(fǎng)問(wèn)的設(shè)備。③
虛擬設(shè)備——將一臺(tái)獨(dú)占物理設(shè)備變換為若干臺(tái)邏輯設(shè)備。103(2)設(shè)備控制器①是CPU與I/O設(shè)備之間的接口,它接收從CPU發(fā)來(lái)的命令,并控制I/O設(shè)備工作。②設(shè)備控制器是可編址設(shè)備。當(dāng)用于控制多臺(tái)設(shè)備時(shí),則具有多個(gè)地址。104(3)通道
●通道控制方式的引入①DMA方式顯著地減少了CPU的干預(yù)。②當(dāng)CPU要完成一組相關(guān)的讀(或?qū)懀┎僮骷坝嘘P(guān)控制時(shí),只需向I/O通道發(fā)送一條I/O指令。③通道接到該指令后,通過(guò)執(zhí)行通道程序便可完成CPU指定的I/O任務(wù)。④可實(shí)現(xiàn)CPU、通道和I/O設(shè)備三者的并行操作,從而更有效地提高整個(gè)系統(tǒng)的資源利用率。⑤而當(dāng)我們需要一次去讀多個(gè)數(shù)據(jù)塊且將它們分別傳送到不同的內(nèi)存區(qū)域,或者相反時(shí);則須由CPU分別發(fā)出多條I/O指令及進(jìn)行多次中斷處理,才能完成。105●通道分類(lèi):①字節(jié)多路通道106②數(shù)組選擇通道——按數(shù)組方式進(jìn)行數(shù)據(jù)傳送,但在一段時(shí)間內(nèi)只能為一臺(tái)設(shè)備占用,執(zhí)行一道通道程序。③數(shù)組多路通道——按數(shù)組方式進(jìn)行數(shù)據(jù)傳送,但能為多臺(tái)設(shè)備占用,高速的進(jìn)行數(shù)據(jù)傳送。107二、
I/O控制方式1、程序I/O方式(查詢(xún)方式)(P203或P151)2、中斷驅(qū)動(dòng)方式(P203或P152)3、DMA方式(P203或P153)4、I/O通道控制方式方式(P203或P154)
通道是通過(guò)執(zhí)行通道程序,并與設(shè)備控制器共同實(shí)現(xiàn)對(duì)I/O設(shè)備的控制的。通道程序是由一系列通道指令(或稱(chēng)為通道命令)所構(gòu)成的。通道又稱(chēng)為特殊的處理機(jī)。108三、
緩沖管理●
引入緩沖原因(見(jiàn)P207或P155)(1)緩和CPU與I/O設(shè)備間速度不匹配的矛盾。
(2)減少對(duì)CPU的中斷頻率,放寬對(duì)CPU中斷響應(yīng)時(shí)間的限制。(3)提高CPU和I/O設(shè)備之間的并行性。
例如:
單緩沖、
雙緩沖、
循環(huán)緩沖、
緩沖池緩沖技術(shù)是以空間換取時(shí)間,而且只能在設(shè)備使用不均衡時(shí)起到平滑作用。109
四、
設(shè)備分配設(shè)備管理是通過(guò)一些數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)對(duì)其設(shè)備進(jìn)行管理和控制的。1。
設(shè)備控制表、通道控制表、系統(tǒng)設(shè)備表、控制器控制表2、設(shè)備分配中應(yīng)考慮的若干因素(1)設(shè)備的固有屬性:獨(dú)享設(shè)備、共享設(shè)備、虛擬設(shè)備
(2)設(shè)備的分配算法:FIFO、優(yōu)先級(jí)高者優(yōu)先(3)設(shè)備分配中的安全性3、設(shè)備固有屬性不同,其分配算法不同4、SPOOLING技術(shù)可將一臺(tái)物理設(shè)備虛擬為多臺(tái)邏輯設(shè)備,可為多個(gè)用戶(hù)所共享。
SPOOLing技術(shù)的核心思想是:在快速輔助存儲(chǔ)設(shè)備中建立I/O緩沖區(qū)用于緩存從慢速輸入設(shè)備流入內(nèi)存的數(shù)據(jù)或緩存從內(nèi)存流向慢速輸出設(shè)備的數(shù)據(jù)。110五、設(shè)備處理1、設(shè)備處理程序又稱(chēng)為設(shè)備驅(qū)動(dòng)程序,它是I/O進(jìn)程與設(shè)備控制器之間的通信程序。
①初始化I/O設(shè)備
②
設(shè)備與進(jìn)程之間的數(shù)據(jù)傳送
③
當(dāng)數(shù)據(jù)傳完之后,將產(chǎn)生中斷信號(hào)將它換醒,進(jìn)入中斷處理過(guò)程。2、中斷處理過(guò)程(見(jiàn)P224或P171)3、用戶(hù)請(qǐng)求設(shè)備使用的是邏輯設(shè)備名。由系統(tǒng)通過(guò)邏輯設(shè)備表實(shí)現(xiàn)邏輯設(shè)備到物理設(shè)備的映射。當(dāng)更換物理設(shè)備時(shí),用戶(hù)的程序不用改,僅修改邏輯設(shè)備表。111磁盤(pán)存儲(chǔ)器管理一、
早期磁盤(pán)調(diào)度算法
1、
先來(lái)先服務(wù)(見(jiàn)P261或P174)
2、
最短尋道時(shí)間優(yōu)先(見(jiàn)P261或P174
3、
掃描法(見(jiàn)P262或P175)
4、
循環(huán)掃描法(見(jiàn)P262或P175)
112第六章
文件系統(tǒng)113
一、
文件和文件系統(tǒng)的基本概念
1、
數(shù)據(jù)項(xiàng)——>記錄——>文件(見(jiàn)P228或P182圖)
2、
文件系統(tǒng)模型(見(jiàn)P229或P184圖)
3、
文件的操作(見(jiàn)P231或P185)
二、文件邏輯結(jié)構(gòu)
1、
順序文件(見(jiàn)P234或P187)
優(yōu)點(diǎn):可以快速實(shí)現(xiàn)批量存取,可存儲(chǔ)在磁帶上缺點(diǎn):增刪困難
2、
索引文件(見(jiàn)P235或P189)
優(yōu)點(diǎn):實(shí)現(xiàn)直接存取、快速缺點(diǎn):增加空間開(kāi)銷(xiāo)
114三、
外存分配方法1.
連續(xù)分配——將文件信息存放在連續(xù)編號(hào)的物理塊中。(見(jiàn)P264圖9-6或P192)
優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單,存取速度快。
缺點(diǎn):長(zhǎng)度事先確定,隨后不允許增加長(zhǎng)度。2、
鏈接分配——將文件信息存放在非連續(xù)編號(hào)的物理塊中。(見(jiàn)P265圖9-7或P194)
優(yōu)點(diǎn):插入、刪除方便,文件長(zhǎng)度可變。
缺點(diǎn):查找困難。3、
索引分配(見(jiàn)P267、圖9-10或P195)
優(yōu)點(diǎn):可以隨機(jī)存取。
缺點(diǎn):增加空間的開(kāi)銷(xiāo)。115四、
目錄管理
1、
對(duì)文件目錄管理要求(見(jiàn)P236或P198)
2、
文件控制塊與文件目錄(見(jiàn)P237或P198)
3、
單級(jí)文件目錄(見(jiàn)P239或P201)
缺點(diǎn):查找速度慢、不允許重名、不便于實(shí)現(xiàn)文件共享
4、
兩級(jí)目錄和多級(jí)目錄(見(jiàn)P240或P201)
l
當(dāng)前目錄——工作目錄
l
優(yōu)點(diǎn):
①檢查速度快
②
不同目錄可以重名
③
不同用戶(hù)可使用不同名字,來(lái)訪(fǎng)問(wèn)系統(tǒng)中的同一個(gè)共享文件。116●索引結(jié)點(diǎn)的引入在檢索目錄文件的過(guò)程中,只用到了文件名,僅當(dāng)找到一個(gè)目錄項(xiàng)(即其中的文件名與指定要查找的文件名相匹配)時(shí),才需從該目錄項(xiàng)中讀出該文件的物理地址。而其它一些對(duì)該文件進(jìn)行描述的信息,在檢索目錄時(shí)一概不用,顯然,這些信息在檢索目錄時(shí),不需調(diào)入內(nèi)存。為此,在有的系統(tǒng)中,如UNIX系統(tǒng),便采用了把文件名與文件描述信息分開(kāi)的辦法,亦即,使文件描述信息單獨(dú)形成一個(gè)稱(chēng)為索引結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu),簡(jiǎn)稱(chēng)為i結(jié)點(diǎn)。在文件目錄中的每個(gè)目錄項(xiàng),僅由文件名和指向該文件所對(duì)應(yīng)的i結(jié)點(diǎn)的指針?biāo)鶚?gòu)成。
117
五、空閑存儲(chǔ)空間的管理方法
1、空閑表法(見(jiàn)P270或P205)
2、空閑鏈表法(見(jiàn)P271或P206)
3、位示圖法(見(jiàn)P271或P206)
4、成組鏈接法(見(jiàn)P272、或P207)118第七章
操作系統(tǒng)接口
119
用戶(hù)與操作系統(tǒng)的接口
操作系統(tǒng)
用戶(hù)處理結(jié)果輸出返回命令接口圖形接口程序接口120
●用戶(hù)接口可以多種形式呈現(xiàn)在用戶(hù)面前:①一種是聯(lián)機(jī)命令形式,直接提供給用戶(hù)在終端上使用;②一種是系統(tǒng)調(diào)用形式,提供給用戶(hù)在編程時(shí)使用。人們通常把上述兩種形式分別稱(chēng)為聯(lián)機(jī)命令接口和程序接口。一、
命令接口
命令接口由
命令解釋程序?qū)τ脩?hù)鍵入的命令進(jìn)行解釋?zhuān)⑥D(zhuǎn)入相應(yīng)的命令處理程序去執(zhí)行。二、
程序接口
1、系統(tǒng)調(diào)用——就是用戶(hù)在程序中調(diào)用操作系統(tǒng)所提供的一些子功能。
2、系統(tǒng)調(diào)用在本質(zhì)上是應(yīng)用程序請(qǐng)求OS內(nèi)核完成某功能時(shí)的一種過(guò)程調(diào)用,但它是一種特殊的過(guò)程調(diào)用,它與一般的過(guò)程調(diào)用有下述幾方面的明顯差別:
121(1)運(yùn)行在不同的系統(tǒng)狀態(tài)。一般的過(guò)程調(diào)用,其調(diào)用程序和被調(diào)用程序都運(yùn)行在相同的狀態(tài)——系統(tǒng)態(tài)或用戶(hù)態(tài);而系統(tǒng)調(diào)用與一般調(diào)用的最大區(qū)別就在于:調(diào)用程序是運(yùn)行在用戶(hù)態(tài),而被調(diào)用程序是運(yùn)行在系統(tǒng)態(tài)。(2)通過(guò)軟中斷進(jìn)入。由于一般的過(guò)程調(diào)用并不涉及到系統(tǒng)狀態(tài)的轉(zhuǎn)換,故可直接由調(diào)用過(guò)程轉(zhuǎn)向被調(diào)用過(guò)程。但在運(yùn)行系統(tǒng)調(diào)用時(shí),由于調(diào)用和被調(diào)用過(guò)程是工作在不同的系統(tǒng)狀態(tài),因而不允許由調(diào)用過(guò)程直接轉(zhuǎn)向被調(diào)用過(guò)程。通常都是通過(guò)軟中斷機(jī)制(既訪(fǎng)管指令),先由用戶(hù)態(tài)轉(zhuǎn)換為系統(tǒng)態(tài),經(jīng)核心分析后,才能轉(zhuǎn)向相應(yīng)的系統(tǒng)調(diào)用處理子程序。122(3)返回問(wèn)題。在采用了搶占式(剝奪)調(diào)度方式的系統(tǒng)中,在被調(diào)用過(guò)程執(zhí)行完后,要對(duì)系統(tǒng)中所有要求運(yùn)行的進(jìn)程做優(yōu)先權(quán)分析。當(dāng)調(diào)用進(jìn)程仍具有最高優(yōu)先級(jí)時(shí),才返回到調(diào)用進(jìn)程繼續(xù)執(zhí)行;否則,將引起重新調(diào)度,以便讓優(yōu)先權(quán)最高的進(jìn)程優(yōu)先執(zhí)行。此時(shí),將把調(diào)用進(jìn)程放入就緒隊(duì)列。(4)嵌套調(diào)用。系統(tǒng)調(diào)用也可以嵌套進(jìn)行,即在一個(gè)被調(diào)用過(guò)程的執(zhí)行期間,還可以利用系統(tǒng)調(diào)用命令去調(diào)用另一個(gè)系統(tǒng)調(diào)用。當(dāng)然,每個(gè)系統(tǒng)對(duì)嵌套調(diào)用的深度都有一定的限制,例如最大深度為6。
123三、
圖形用戶(hù)接口
①窗口是作為用戶(hù)與應(yīng)用程序之間的交互接口
②應(yīng)用程序可通過(guò)窗口向用戶(hù)展示系統(tǒng)所提供的各種服務(wù)及其需要用戶(hù)輸入的信息。
③用戶(hù)可通過(guò)窗口去查看和操作應(yīng)用程序或文檔。
124研究生入學(xué)試題分析125
2000年操作系統(tǒng)入學(xué)試題
一、
單選題(每小題1分,共7分)1、線(xiàn)程是進(jìn)程的實(shí)體,意味著()
①線(xiàn)程在進(jìn)程中是唯一的
②線(xiàn)程可以使用進(jìn)程中的資源
③線(xiàn)程在運(yùn)行中不能中斷
④在同一進(jìn)程中的多個(gè)線(xiàn)程具有不同的地址空間
2、檢測(cè)死鎖的算法是在()
①程序中申請(qǐng)資源時(shí)使用②死鎖出現(xiàn)之后使用
③死鎖即將出現(xiàn)時(shí)使用 ④定時(shí)檢查系統(tǒng)狀態(tài)時(shí)使用
3、在下列問(wèn)題中,哪一個(gè)不是設(shè)備中應(yīng)考慮的問(wèn)題()
①設(shè)備的固有屬性 ②與設(shè)備無(wú)關(guān)性
③安全性 ④及時(shí)性1264、在下列哪一個(gè)不是外存分配方式()
①連續(xù)分配 ②鏈接分配
③互斥分配 ④索引分配5、聯(lián)想存儲(chǔ)器就是()
①快表 ②頁(yè)表 ③段表 ④內(nèi)存
6、磁盤(pán)為共享設(shè)備的主要原因是()
①多個(gè)用戶(hù)可同時(shí)訪(fǎng)問(wèn)磁盤(pán)
②磁盤(pán)空間可讓多個(gè)用戶(hù)共享
③磁盤(pán)可支持SPOOLING技術(shù)
④磁盤(pán)有多個(gè)磁頭7、指出以下非臨界資源()
①變量②數(shù)據(jù)結(jié)構(gòu)
③隊(duì)列④純代碼127二、填空題(每小題1分,共6分)1、用戶(hù)與操作系統(tǒng)的接口是:____和_______________。2、多處理機(jī)有兩種結(jié)構(gòu):_____和________.3、I/O控制方式________,____和________。4、產(chǎn)生死鎖的原因:______和_________。5、文件保護(hù)的方法有:_______,_________和___________。6、用于磁盤(pán)的主要調(diào)度算法有:__________,____________和____________。128
三、
判斷改錯(cuò)題(每小題2分,共16分)
1、( )緩沖技術(shù)是以空間換時(shí)間,而且只能在設(shè)備使用均衡時(shí)起到平滑作用。
2、( )動(dòng)態(tài)重定位與裝入時(shí)動(dòng)態(tài)鏈接在概念上是相同的。
3、( )在分時(shí)系統(tǒng)中采用虛擬存儲(chǔ)技術(shù)可以改善響應(yīng)時(shí)間。
4、( )在現(xiàn)代的分時(shí)系統(tǒng)中,邏輯處理機(jī)隱含了虛擬處理機(jī)的功能。
5、( )獨(dú)享設(shè)備與共享設(shè)備的屬性不同,其共享方式也不同。129
6、( )采用AND型信號(hào)量機(jī)制是為了防止系統(tǒng)的不安全。
7、( )如果一個(gè)站點(diǎn)既可以作為客戶(hù),又可以作為服務(wù)器向其它站點(diǎn)提供服務(wù),稱(chēng)為客戶(hù)/服務(wù)器模式。
8、( )設(shè)備處理程序是I/O進(jìn)程與設(shè)備控制器之間的通信程序。
130四、問(wèn)答題(每小題7分,共21分)1、
為什么在頁(yè)式存儲(chǔ)管理中實(shí)現(xiàn)程序共享時(shí),必須對(duì)共享程序給出相同的頁(yè)號(hào),而段式存儲(chǔ)管理系統(tǒng)中實(shí)現(xiàn)程序共享時(shí),共享段的段號(hào)是否一定要相同?如相同,為什么相同?如不相同,為什么不相同?131進(jìn)程到達(dá)就緒隊(duì)列的時(shí)間執(zhí)行時(shí)間P118P224P339P4452、
假定一個(gè)操作系統(tǒng)的進(jìn)程調(diào)度采用搶占式短進(jìn)程優(yōu)先調(diào)度策略(單CPU),系統(tǒng)中各進(jìn)程到達(dá)的時(shí)間如下表所示。請(qǐng)給出各進(jìn)程的調(diào)度次序,并計(jì)算平均周轉(zhuǎn)時(shí)間和平均代權(quán)周轉(zhuǎn)時(shí)間。注:表中的時(shí)間均為基本單位時(shí)間。1320102030p1p2p3p418-1=176-2=427-3=2411-4=7133
2001年操作系統(tǒng)入學(xué)試題一、單項(xiàng)選擇題(每小題1分,共10分)
1.進(jìn)程被阻塞以后,代表進(jìn)程在阻塞隊(duì)列的是它的(
)
①文件控制塊②進(jìn)程控制塊
③作業(yè)控制塊④設(shè)備控制塊
2.在以下哪種狀態(tài)下,作業(yè)已獲得虛處理機(jī)。() ①提交狀態(tài)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)語(yǔ)文核心知識(shí)點(diǎn)歸納與測(cè)試
- 高校教師繼續(xù)教育計(jì)劃實(shí)施方案
- 藥品生產(chǎn)質(zhì)量管理體系完善
- 中班幼兒數(shù)學(xué)啟蒙游戲及教學(xué)策略
- 企業(yè)培訓(xùn)體系搭建與評(píng)估方法
- PLC控制系統(tǒng)在現(xiàn)代造紙機(jī)中的應(yīng)用
- 八年級(jí)英語(yǔ)期中考試試題
- 物業(yè)管理費(fèi)用收繳及核對(duì)流程
- 倉(cāng)庫(kù)盤(pán)點(diǎn)操作流程及記錄表
- 二年級(jí)數(shù)學(xué)基礎(chǔ)數(shù)位認(rèn)知綜合練習(xí)題
- 養(yǎng)老院保潔培訓(xùn)課件
- 《生成式人工智能》 課件 第4章 Transformer模型
- 中醫(yī)圍手術(shù)期護(hù)理
- 2025年遼寧高考地理試卷真題答案詳解講評(píng)課件(黑龍江吉林內(nèi)蒙古適用)
- 演員簽約劇組合同協(xié)議
- 《決策分析法DEMATEL課件》
- 裝修公司投資協(xié)議書(shū)
- 大學(xué)英語(yǔ)四級(jí)考試大綱
- 數(shù)字技術(shù)賦能下的小學(xué)語(yǔ)文課堂創(chuàng)新實(shí)踐
- 中藥塌漬操作方法
- 中科低碳新能源技術(shù)學(xué)院(能源工程系) 氫能技術(shù)應(yīng)用專(zhuān)業(yè):新版人才培養(yǎng)方案
評(píng)論
0/150
提交評(píng)論