操作系統(tǒng)章節(jié)復(fù)習(xí)題(第1-2章)
第一章
一、填空題(5小題,共5分)
1.某分時(shí)系統(tǒng)中預(yù)計(jì)有50個(gè)用戶(hù)同時(shí)上機(jī),為使每個(gè)用戶(hù)能在2s內(nèi)得到響應(yīng),時(shí)間片最大限度為(40ms )。
2.如果操作系統(tǒng)具有很強(qiáng)的交互性,可同時(shí)供多個(gè)用戶(hù)使用,系統(tǒng)響應(yīng)比較及時(shí),則該操作系統(tǒng)屬于(分時(shí)系統(tǒng))類(lèi)型;
3.操作系統(tǒng)提供給程序員的接口是(系統(tǒng)調(diào)用)。
4.操作系統(tǒng)的4大功能是(處理機(jī)管理)、存儲(chǔ)器管理、設(shè)備管理、文件管理。
5.操作系統(tǒng)的基本特征是(并發(fā)性)、共享性、 虛擬性、 異步性。
二、選擇題(18小題,共18分)
1.(C)是現(xiàn)代操作系統(tǒng)必須提供的功能。
A、管理源程序 B、編輯源程序
C、處理中斷 D、編譯源程序
2.在一個(gè)分時(shí)系統(tǒng)中,為使多個(gè)進(jìn)程能夠及時(shí)與系統(tǒng)交互,最關(guān)鍵的問(wèn)題是在短時(shí)間內(nèi)使所有就緒進(jìn)程都能運(yùn)行。當(dāng)就緒進(jìn)程數(shù)為100時(shí),為保證響應(yīng)時(shí)間不超過(guò)2s,此時(shí)的時(shí)間片最大應(yīng)為(B)。
A、10ms B、20ms C、50ms D、100ms
3.當(dāng)操作系統(tǒng)程序退出執(zhí)行,讓用戶(hù)程序執(zhí)行時(shí),系統(tǒng)會(huì)(C)。
A、繼續(xù)保持內(nèi)核態(tài) B、繼續(xù)保持用戶(hù)態(tài)
C、從內(nèi)核態(tài)變?yōu)橛脩?hù)態(tài) D、從用戶(hù)態(tài)變?yōu)閮?nèi)核態(tài)
4.在操作系統(tǒng)中,并發(fā)性是指若干事件(C)發(fā)生。
A、在同一時(shí)刻 B、一定在不同時(shí)刻
C、某一時(shí)間間隔內(nèi) D、依次在不同時(shí)間間隔內(nèi)
5.操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中,層次結(jié)構(gòu)的最大特點(diǎn)是(B)。
A、便于調(diào)試 B、把整體問(wèn)題局部化
C、結(jié)構(gòu)清晰 D、有利于功能的增加、刪減和修改
6.操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中位于(C)之間。
A、CPU和用戶(hù) B、CPU和主存
C、計(jì)算機(jī)硬件和用戶(hù) D、計(jì)算機(jī)硬件和軟件
7.計(jì)算機(jī)系統(tǒng)中判斷是否有中斷事件發(fā)生應(yīng)該在(B)。
A、進(jìn)程切換時(shí) B、執(zhí)行完一條指令后
C、執(zhí)行P操作后 D、由用戶(hù)態(tài)轉(zhuǎn)入內(nèi)核態(tài)時(shí)
8.當(dāng)CPU處于內(nèi)核態(tài)時(shí),它可以執(zhí)行的指令是(D)。
A、只有特權(quán)指令 B、只有非特權(quán)指令
C、只有訪管指令 D、計(jì)算機(jī)中的所有指令
9.在操作系統(tǒng)的層次結(jié)構(gòu)中,(B)是操作系統(tǒng)的核心部分,它位于最內(nèi)層。
A、存儲(chǔ)器管理 B、處理器管理 C、設(shè)備管理 D、作業(yè)管理
10.在多道程序設(shè)計(jì)技術(shù)的計(jì)算機(jī)系統(tǒng)中,CPU(C)。
A、只能被一個(gè)進(jìn)程占用 B、可以被多個(gè)進(jìn)程同時(shí)占用
C、可以被多個(gè)進(jìn)程交替占用 D、可以被操作系統(tǒng)和另一個(gè)進(jìn)程同時(shí)占用
11.(B)不是設(shè)計(jì)實(shí)時(shí)操作系統(tǒng)主要追求的目標(biāo)。
A、安全可靠 B、資源利用率
C、及時(shí)響應(yīng) D、快速處理
12.下面關(guān)于操作系統(tǒng)的敘述中正確的是(A)。
A、批處理作業(yè)必須具有作業(yè)控制信息,以便進(jìn)行作業(yè)調(diào)度
B、分時(shí)系統(tǒng)不一定都具有人機(jī)交互功能
C、從響應(yīng)時(shí)間的角度看,實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)一樣
D、由于采用了分時(shí)技術(shù),用戶(hù)就可以獨(dú)占計(jì)算機(jī)的資源
13.當(dāng)CPU執(zhí)行操作系統(tǒng)內(nèi)核代碼時(shí),稱(chēng)處理器處于(C)。
A、自由態(tài) B、用戶(hù)態(tài) C、內(nèi)核態(tài) D、就緒態(tài)
14.實(shí)時(shí)操作系統(tǒng)必須在(C)內(nèi)處理完來(lái)自外部的事件。
A、響應(yīng)時(shí)間 B、周轉(zhuǎn)時(shí)間
C、規(guī)定時(shí)間 D、調(diào)度時(shí)間
15.所謂(B)是指將一個(gè)以上的作業(yè)放入內(nèi)存,并且同時(shí)處于運(yùn)行狀態(tài),這些作業(yè)共享處理器的時(shí)間和I/O設(shè)備等其他資源。
A、多重處理 B、多道程序設(shè)計(jì)
C、實(shí)時(shí)處理 D、共行執(zhí)行
16.在中斷發(fā)生后,進(jìn)行中斷處理的程序?qū)儆冢–)。
A、用戶(hù)程序
B、可能是應(yīng)用程序,也可能是操作系統(tǒng)程序
C、操作系統(tǒng)程序
D、既不是應(yīng)用程序,也不是操作系統(tǒng)程序
17.一般而言,以下不屬于操作系統(tǒng)內(nèi)核功能的是(D)。
A、資源抽象 B、資源分配 C、資源共享 D、程序編輯
18.下列選擇中,(D)不是操作系統(tǒng)關(guān)心的主要問(wèn)題。
A、管理計(jì)算機(jī)裸機(jī)
B、設(shè)計(jì)、提供用戶(hù)程序與計(jì)算機(jī)硬件系統(tǒng)的界面
C、管理計(jì)算機(jī)系統(tǒng)資源
D、高級(jí)程序設(shè)計(jì)語(yǔ)言的編譯器
三、判斷題(11小題,共11分)
1.操作系統(tǒng)的所有程序都必須常駐內(nèi)存。 (x)
2.通常將CPU模式分為內(nèi)核態(tài)和用戶(hù)態(tài),這樣做的目的是為了提高運(yùn)行速度。 (X)
3.實(shí)時(shí)操作系統(tǒng)只能用于控制系統(tǒng),不能用于信息管理系統(tǒng)。 (X)
4.操作系統(tǒng)是合理地組織計(jì)算機(jī)工作流程、有效地管理系統(tǒng)資源、方便用戶(hù)使用的程序集合。 (V)
5.操作系統(tǒng)提供用戶(hù)與計(jì)算機(jī)的接口。 (V)
6.當(dāng)CPU處于用戶(hù)態(tài)時(shí),它可以執(zhí)行所有的指令。 (X)
7.操作系統(tǒng)都是多用戶(hù)單任務(wù)系統(tǒng)。 (X)
8.**分時(shí)操作系統(tǒng)允許兩個(gè)以上的用戶(hù)共享一個(gè)計(jì)算機(jī)系統(tǒng)。 (V)
9.**操作系統(tǒng)是最底層的系統(tǒng)軟件。 (V)
10.操作系統(tǒng)的存儲(chǔ)管理是指對(duì)磁盤(pán)存儲(chǔ)器的管理。 (X)
11.操作系統(tǒng)是計(jì)算機(jī)專(zhuān)家為提高計(jì)算機(jī)精度而研制的。 (X)
四、簡(jiǎn)答題(11小題,共55分)
1.若程序A和B單獨(dú)執(zhí)行時(shí)分別用時(shí)TA和TB,TA=lh,TB=1.5h,其中處理器工作時(shí)間分別為18min和27min。如果采用多道程序設(shè)計(jì)方法,讓A、B并發(fā)工作,假定處理器利用率達(dá)到50%,另加15min系統(tǒng)開(kāi)銷(xiāo),問(wèn)系統(tǒng)效率能提高百分之幾?
答:在單獨(dú)執(zhí)行時(shí),處理器的利用率為(18+27)/(60+90)=30%。如果并發(fā)后處理器利用率達(dá)到50%,則系統(tǒng)整體運(yùn)行的時(shí)間為(18+27)/0.5=90min。這其中有15min的系統(tǒng)開(kāi)銷(xiāo),剩下7.5min用來(lái)執(zhí)行程序,這比原來(lái)的150min減少了75min,即系統(tǒng)效率提高50%
?
2.操作系統(tǒng)的作用是什么?P002
答:①OS是計(jì)算機(jī)硬軟件資源的管理者
②OS是計(jì)算機(jī)工作流程的組織者
③OS是用戶(hù)與計(jì)算機(jī)硬件系統(tǒng)間的接口
?
3.實(shí)時(shí)操作系統(tǒng)有什么特點(diǎn)?P012
答:①多路性 ②獨(dú)立性 ③及時(shí)性 ④交互性 ⑤可靠性
?
4.程序并發(fā)執(zhí)行為何會(huì)失去封閉性和可再現(xiàn)性?
答:因?yàn)槌绦虿l(fā)執(zhí)行時(shí),是多個(gè)程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)是由多個(gè)程序來(lái)改變,致使程序的運(yùn)行失去了封閉性。而程序一旦失去了封閉性也會(huì)導(dǎo)致其再失去可再現(xiàn)性。
?
5.什么是操作系統(tǒng)? P009
答:操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件,是用戶(hù)與計(jì)算機(jī)之間的接口
?
6.分時(shí)操作系統(tǒng)有什么特點(diǎn)?P010
答:①多路性 ②獨(dú)立性 ③及時(shí)性 ④交互性
?
7.批處理操作系統(tǒng)有什么特點(diǎn)?
多道:在內(nèi)存中同時(shí)存放多個(gè)作業(yè),一個(gè)時(shí)刻只有一個(gè)作業(yè)運(yùn)行,這些作業(yè)共享CPU和外部設(shè)備等資源。
成批:用戶(hù)和他的作業(yè)之間沒(méi)有交互性。用戶(hù)自己不能干預(yù)自己的作業(yè)的運(yùn)行,發(fā)現(xiàn)作業(yè)錯(cuò)誤不能及時(shí)改正
?
8.什么是多道程序設(shè)計(jì)技術(shù)?多道程序設(shè)計(jì)技術(shù)的特點(diǎn)是什么?
答:多道程序設(shè)計(jì)技術(shù)是指把多個(gè)程序同時(shí)存放在內(nèi)存中,使它們同時(shí)處于運(yùn)行狀態(tài),這些作業(yè)共享處理器時(shí)間和外部設(shè)備以及其他資源。
多道程序設(shè)計(jì)技術(shù)的主要特點(diǎn)是:多道、宏觀上并行、微觀上串行
①多道是指計(jì)算機(jī)內(nèi)存中同時(shí)存放多道相互獨(dú)立的程序
②宏觀上并行是指同時(shí)進(jìn)入系統(tǒng)中的多道程序都處于運(yùn)行過(guò)程中
③微觀上串行是指在單處理機(jī)環(huán)境中,內(nèi)存中的多道程序輪流占有CPU,交替執(zhí)行
?
9.操作系統(tǒng)的基本特征是什么?P014
答:①并發(fā)性 ②共享性 ③虛擬性 ④異步性
?
10.什么是并行和并發(fā)? P014
答:并行性 是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)安生;
并發(fā)性 是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生
?
11.簡(jiǎn)述微內(nèi)核操作系統(tǒng)的主要特點(diǎn)。
答:①內(nèi)核較小,通常僅提供操作系統(tǒng)最基本的服務(wù)
②許多操作系統(tǒng)服務(wù)不屬于內(nèi)核,而是運(yùn)行在內(nèi)核之上的,這樣 就當(dāng)高層模塊更新時(shí)內(nèi)核無(wú)須重新編譯
③靈活性和擴(kuò)展性,微內(nèi)核最大的優(yōu)點(diǎn)之一就是它的靈活性和擴(kuò)展性性,如果要實(shí)現(xiàn)另一個(gè)視圖,可以增加一個(gè)外部服務(wù)器,若要擴(kuò)展功能,可以增加和擴(kuò)展內(nèi)部服務(wù)器
④有一個(gè)硬件抽象層,內(nèi)核能方便的移植到其他硬件體系結(jié)構(gòu)中。
?
第二章
一、填空題(15小題,共15分)
1.當(dāng)采用優(yōu)先級(jí)進(jìn)程調(diào)度算法時(shí),可以有兩種調(diào)度算法,一種是搶占式調(diào)度,一種是非搶占式調(diào)度。若要使當(dāng)前運(yùn)行的總是優(yōu)先級(jí)最高的進(jìn)程,應(yīng)選擇(搶占式)調(diào)度算法。
2.在一個(gè)單處理器系統(tǒng)中,若有5個(gè)用戶(hù)進(jìn)程,且假設(shè)當(dāng)前時(shí)刻為用戶(hù)態(tài),則處于就緒狀態(tài)的用戶(hù)進(jìn)程最多有(4)個(gè)。
3.正在運(yùn)行的進(jìn)程,因某種原因而暫時(shí)停止運(yùn)行,等待某個(gè)事件的發(fā)生,此時(shí)該進(jìn)程處于(阻塞)狀態(tài)。
4.當(dāng)系統(tǒng)創(chuàng)建一個(gè)進(jìn)程時(shí),系統(tǒng)就為其分配一個(gè)(PCB),當(dāng)進(jìn)程被撤銷(xiāo)時(shí)就將其收回。
5.一種最常用的進(jìn)程調(diào)度算法是把處理器分配給具有最高優(yōu)先權(quán)的進(jìn)程。而優(yōu)先權(quán)可以分為(靜態(tài))優(yōu)先權(quán)和動(dòng)態(tài)優(yōu)先權(quán)。
6.當(dāng)采用時(shí)間片輪轉(zhuǎn)調(diào)度算法時(shí),若時(shí)間片過(guò)大,就會(huì)使其轉(zhuǎn)化為(先來(lái)先服務(wù))調(diào)度算法。
7.進(jìn)程有兩種基本隊(duì)列,即等待隊(duì)列和(就緒隊(duì)列)。
8.進(jìn)程由程序段、數(shù)據(jù)段和(PCB)三部分組成,并且該部分還是進(jìn)程存在的唯一標(biāo)志。
9.進(jìn)程與程序的最主要區(qū)別在于進(jìn)程具有(動(dòng)態(tài)性),而程序不具備這一特性。
10.為了實(shí)現(xiàn)一個(gè)進(jìn)程由等待狀態(tài)轉(zhuǎn)換為就緒狀態(tài)的狀態(tài)變化,操作系統(tǒng)應(yīng)提供(喚醒)原語(yǔ)。
11.在計(jì)算機(jī)系統(tǒng)中,只有一個(gè)CPU,則多個(gè)進(jìn)程將爭(zhēng)奪CPU資源,如何把CPU有效地分配給進(jìn)程,這是(進(jìn)程)調(diào)度要解決的問(wèn)題。
12.在高響應(yīng)比調(diào)度算法中,當(dāng)各作業(yè)等待時(shí)間相同時(shí),(要求服務(wù)時(shí)間短)的作業(yè)將得到優(yōu)先調(diào)度。
13.在操作系統(tǒng)中,(進(jìn)程)是資源分配、調(diào)度和管理的基本單位。
14.如果一個(gè)進(jìn)程從運(yùn)行狀態(tài)變?yōu)榈却隣顟B(tài),或完成工作后撤銷(xiāo),則必定會(huì)發(fā)生(進(jìn)程調(diào)度)。
15.進(jìn)程狀態(tài)變化時(shí),運(yùn)行態(tài)和阻塞態(tài)都可能變?yōu)椋?strong>就緒態(tài))。
二、選擇題(40小題,共40分)
1.進(jìn)程調(diào)度主要負(fù)責(zé)(B)。
A、選一個(gè)作業(yè)進(jìn)入內(nèi)存 B、選一個(gè)進(jìn)程占有CPU
C、建立一個(gè)新的進(jìn)程 D、撤銷(xiāo)一個(gè)進(jìn)程
2.從進(jìn)程提交給系統(tǒng)開(kāi)始到進(jìn)程完成為止的時(shí)間間隔稱(chēng)為(A)。
A、進(jìn)程周轉(zhuǎn)時(shí)間 B、進(jìn)程運(yùn)行時(shí)間
C、進(jìn)程響應(yīng)時(shí)間 D、進(jìn)程等待時(shí)間
3.操作系統(tǒng)中的三級(jí)調(diào)度是指(D)。
A、處理器調(diào)度、資源調(diào)度和網(wǎng)絡(luò)調(diào)度 B、CPU調(diào)度、設(shè)備調(diào)度和存儲(chǔ)器調(diào)度
C、作業(yè)調(diào)度、進(jìn)程調(diào)度和資源調(diào)度 D、作業(yè)調(diào)度、進(jìn)程調(diào)度和中級(jí)調(diào)度
4.一個(gè)作業(yè)8:00到達(dá)系統(tǒng),估計(jì)運(yùn)行時(shí)間為1小時(shí)。若從10:00開(kāi)始執(zhí)行該作業(yè),其響應(yīng)比是(C)。
A、2? ? ?B、1?? ? C、3? ? ?D、0.5
5.進(jìn)程狀態(tài)由就緒態(tài)轉(zhuǎn)變?yōu)檫\(yùn)行態(tài)是由(C)引起的。
A、中斷事件 B、進(jìn)程自身 C、進(jìn)程調(diào)度 D、為程序創(chuàng)建進(jìn)程
6.在進(jìn)程調(diào)度算法中,對(duì)短進(jìn)程不利的是(B)。
A、短進(jìn)程優(yōu)先調(diào)度算法 B、先來(lái)先服務(wù)算法
C、高響應(yīng)比優(yōu)先算法 D、多級(jí)反饋隊(duì)列調(diào)度算法
7.時(shí)間片輪轉(zhuǎn)調(diào)度算法經(jīng)常用于(B)。
A、單用戶(hù)操作系統(tǒng) B、實(shí)時(shí)系統(tǒng) C、分時(shí)系統(tǒng) D、批處理系統(tǒng)
8.(B)調(diào)度算法有利于CPU繁忙型的作業(yè),而不利于I/O繁忙型的作業(yè)(進(jìn)程)。
A、時(shí)間片輪轉(zhuǎn) B、先來(lái)先服務(wù) C、短作業(yè)優(yōu)先 D、優(yōu)先級(jí)
9.以下關(guān)于選擇進(jìn)程調(diào)度算法的準(zhǔn)則錯(cuò)誤的是(C)。
A、盡量提高處理器的利用率 B、盡可能提高系統(tǒng)吞吐量
C、增加進(jìn)程在就緒隊(duì)列中的等待時(shí)間 D、盡快響應(yīng)交互式用戶(hù)的請(qǐng)求
10.設(shè)有4個(gè)作業(yè)同時(shí)到達(dá),每個(gè)作業(yè)的執(zhí)行時(shí)間均為2小時(shí),它們?cè)趩翁幚砥魃习磫蔚婪绞竭\(yùn)行,則平均周轉(zhuǎn)時(shí)間為(B)。
A、1小時(shí)?? B、5小時(shí)? ?C、2.5小時(shí)? ?D、8小時(shí)
11.一種既有利于短作業(yè)又兼顧到長(zhǎng)作業(yè)的作業(yè)調(diào)度算法是(C)。
A、先來(lái)先服務(wù) B、時(shí)間片輪轉(zhuǎn) C、高響應(yīng)比優(yōu)先 D、短進(jìn)程優(yōu)先
12.并發(fā)進(jìn)程指的是(C)。
A、可并行執(zhí)行的進(jìn)程 B、可同一時(shí)刻執(zhí)行的進(jìn)程
C、在同一時(shí)間段內(nèi)執(zhí)行的進(jìn)程 D、不可中斷的進(jìn)程
13.作業(yè)調(diào)度選擇一個(gè)作業(yè)裝入主存后,該作業(yè)能否占用CPU必須由(D)來(lái)決定。
A、設(shè)備管理 B、作業(yè)控制 C、驅(qū)動(dòng)調(diào)度 D、進(jìn)程調(diào)度
14.某進(jìn)程由于需要從硬盤(pán)上讀入數(shù)據(jù)而處于阻塞狀態(tài)。當(dāng)系統(tǒng)完成了所需的讀盤(pán)操作后,此時(shí)該進(jìn)程的狀態(tài)將(D)。
A、從就緒變?yōu)檫\(yùn)行 B、從運(yùn)行變?yōu)榫途w
C、從運(yùn)行變?yōu)樽枞?D、從阻塞變?yōu)榫途w
15.先來(lái)先服務(wù)調(diào)度算法有利于(A)。
A、長(zhǎng)作業(yè)和CPU繁忙型作業(yè) B、長(zhǎng)作業(yè)和I/O繁忙型作業(yè)
C、短作業(yè)和CPU繁忙型作業(yè) D、短作業(yè)和I/O繁忙型作業(yè)
16.進(jìn)程被創(chuàng)建后即進(jìn)入(A)排隊(duì)。
A、就緒隊(duì)列 B、等待隊(duì)列 C、運(yùn)行隊(duì)列 D、都不對(duì)
17.對(duì)進(jìn)程的管理和控制使用(B)。
A、指令 B、原語(yǔ) C、信號(hào)量 D、信箱
18.支持多道程序設(shè)計(jì)的操作系統(tǒng)在運(yùn)行過(guò)程中,進(jìn)程調(diào)度程序不斷地選擇新進(jìn)程來(lái)使用CPU下面(D)不是引起進(jìn)程調(diào)度的直接原因。
A、運(yùn)行進(jìn)程的時(shí)間片用完 B、運(yùn)行進(jìn)程結(jié)束
C、運(yùn)行進(jìn)程要等待某一事件發(fā)生 D、有新進(jìn)程進(jìn)入就緒隊(duì)列
19.(B)優(yōu)先權(quán)是在創(chuàng)建進(jìn)程時(shí)確定的,確定之后在整個(gè)進(jìn)程運(yùn)行期間不再改變。
A、先來(lái)先服務(wù) B、靜態(tài) C、動(dòng)態(tài) D、短作業(yè)
20.進(jìn)程調(diào)度算法采用固定時(shí)間片輪轉(zhuǎn)算法,時(shí)間片過(guò)大時(shí),就會(huì)使時(shí)間片輪轉(zhuǎn)算法轉(zhuǎn)化為(B)算法。
A、高響應(yīng)比優(yōu)先 B、先來(lái)先服務(wù)
C、短進(jìn)程優(yōu)先調(diào)度 D、都不對(duì)
21.一個(gè)進(jìn)程釋放一種資源將有可能導(dǎo)致一個(gè)或幾個(gè)進(jìn)程(D)。
A、由就緒變?yōu)檫\(yùn)行 B、由運(yùn)行變?yōu)榫途w
C、由阻塞變?yōu)檫\(yùn)行 D、由阻塞變?yōu)榫途w
22.分配到必要的資源并獲得處理器時(shí)間的進(jìn)程狀態(tài)是(B)。
A、就緒狀態(tài) B、運(yùn)行狀態(tài) C、阻塞狀態(tài) D、撤銷(xiāo)狀態(tài)
23.所有作業(yè)同時(shí)到達(dá)時(shí),能使作業(yè)平均周轉(zhuǎn)時(shí)間最小的作業(yè)調(diào)度算法是(B)。
A、先來(lái)先服務(wù)算法 B、短進(jìn)程優(yōu)先調(diào)度算法
C、優(yōu)先級(jí)調(diào)度算法 D、均衡調(diào)度算法
24.操作系統(tǒng)通過(guò)(B)對(duì)進(jìn)程進(jìn)行管理。
A、JCB? ? B、PCB? ? C、DCT? ? D、CHCT
25.下列情況(B)必會(huì)引起進(jìn)程切換。
A、一個(gè)進(jìn)程創(chuàng)建后,進(jìn)入就緒態(tài) B、一個(gè)進(jìn)程從運(yùn)行態(tài)變?yōu)榫途w態(tài)
C、一個(gè)進(jìn)程從阻塞態(tài)變?yōu)榫途w態(tài) D、都不對(duì)
26.某個(gè)運(yùn)行中的進(jìn)程要申請(qǐng)打印機(jī),它將變?yōu)椋˙)。
A、就緒態(tài) B、阻塞態(tài) C、創(chuàng)建態(tài) D、撤銷(xiāo)態(tài)
27.以下所述步驟中,(A)不是創(chuàng)建進(jìn)程所必須的。
A、由調(diào)度程序?yàn)檫M(jìn)程分配CPU B、建立一個(gè)進(jìn)程控制塊
C、為進(jìn)程分配內(nèi)存 D、將進(jìn)程控制塊鏈入就緒隊(duì)列
28.在多道程序設(shè)計(jì)環(huán)境下,操作系統(tǒng)分配資源以(C)為基本單位。
A、程序 B、指令 C、進(jìn)程 D、作業(yè)
29.當(dāng)一進(jìn)程運(yùn)行時(shí),系統(tǒng)可基于某種原則強(qiáng)行將其撤下,把處理器分配給其他進(jìn)程,這種調(diào)度方式是(B)。
A、非搶占方式 B、搶占方式 C、中斷方式 D、查找方式
30.一個(gè)進(jìn)程被喚醒意味著(D)。
A、該進(jìn)程一定重新占用CPU B、它的優(yōu)先級(jí)變?yōu)樽畲?/p>
C、其PCB移至就緒隊(duì)列隊(duì)首 D、進(jìn)程變?yōu)榫途w狀態(tài)
31.以下關(guān)于進(jìn)程的描述中,正確的是(A)。
A、進(jìn)程獲得CPU運(yùn)行是通過(guò)調(diào)度實(shí)現(xiàn)的
B、優(yōu)先級(jí)是進(jìn)程調(diào)度的重要依據(jù),一旦確定就不能改變
C、在單CPU的系統(tǒng)中,任意時(shí)刻都有一個(gè)進(jìn)程處于運(yùn)行狀態(tài)
D、進(jìn)程申請(qǐng)CPU得不到滿(mǎn)足時(shí),其狀態(tài)變?yōu)樽枞?/p>
32.一次I/O操作的結(jié)束,有可能導(dǎo)致(A)。
A、一個(gè)進(jìn)程由阻塞變?yōu)榫途w B、幾個(gè)進(jìn)程由就緒變?yōu)樽枞?/p>
C、一個(gè)進(jìn)程由阻塞變?yōu)檫\(yùn)行 D、幾個(gè)進(jìn)程由阻塞變?yōu)檫\(yùn)行
33.當(dāng)(B)時(shí),進(jìn)程從執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)榫途w狀態(tài)。
A、進(jìn)程被調(diào)度程序選中 B、分配給它的時(shí)間片用完
C、等待某一事件 D、等待的事件發(fā)生
34.以下可能導(dǎo)致一個(gè)進(jìn)程從運(yùn)行狀態(tài)變?yōu)榫途w狀態(tài)的事件是(D)。
A、一次I/O操作結(jié)束 B、運(yùn)行進(jìn)程需做I/O操作
C、運(yùn)行進(jìn)程結(jié)束 D、出現(xiàn)了比現(xiàn)在進(jìn)程優(yōu)先級(jí)更高的進(jìn)程
35.以下進(jìn)程狀態(tài)轉(zhuǎn)變中,(C)轉(zhuǎn)變是不可能發(fā)生的。
A、運(yùn)行→就緒 B、運(yùn)行→阻塞 C、阻塞→運(yùn)行 D、阻塞→就緒
36.以下有關(guān)進(jìn)程的描述中,錯(cuò)誤的是(D)。
A、進(jìn)程是動(dòng)態(tài)的概念 B、進(jìn)程執(zhí)行需要處理器
C、進(jìn)程是有生命周期的 D、進(jìn)程是指令的集合
37.當(dāng)一個(gè)進(jìn)程用完一個(gè)時(shí)間片后,系統(tǒng)需要將該進(jìn)程的狀態(tài)由運(yùn)行狀態(tài)轉(zhuǎn)變?yōu)椋ˋ)。
A、就緒狀態(tài) B、阻塞狀態(tài) C、撤銷(xiāo)狀態(tài) D、創(chuàng)建狀態(tài)
38.當(dāng)一個(gè)進(jìn)程處于下列哪種狀態(tài)時(shí)(A),稱(chēng)為阻塞狀態(tài)。
A、它正等著給它輸入一批數(shù)據(jù) B、它正等著進(jìn)程調(diào)度
C、它正等著系統(tǒng)分給它一個(gè)時(shí)間片 D、它正等著進(jìn)入內(nèi)存
39.有3個(gè)作業(yè)J1、J2、J3,其運(yùn)行時(shí)間分別是2、5、3小時(shí),假定它們同時(shí)到達(dá),并在同一臺(tái)處理器上以單道方式運(yùn)行,則平均周轉(zhuǎn)時(shí)間最小的執(zhí)行序列是(D)。
A、J1、J2、J3? ? B、J3、J2、J1??? C、J2、J1、J3? ??D、J1、J3、J2
40.現(xiàn)有3個(gè)同時(shí)到達(dá)的作業(yè)J1、J2 和J3,它們的執(zhí)行時(shí)間分別為t1、t2 和t3,且t1<t2<t3。系統(tǒng)按單道方式運(yùn)行且采用短作業(yè)優(yōu)先算法,則平均周轉(zhuǎn)時(shí)間是(C)。
A、t1+t2+t3?? B、(t1+t2+t3)/3? ?C、(3t1+2t2+t3)/3? ?D、(t1+2t2+3t3)/3
三、判斷題(17小題,共17分)
1.不同的進(jìn)程必然對(duì)應(yīng)不同的程序。 (X)
2.進(jìn)程從運(yùn)行狀態(tài)變?yōu)榈却隣顟B(tài)是由于時(shí)間片用完發(fā)生。 (X)
3.優(yōu)先數(shù)是進(jìn)程調(diào)度的重要依據(jù),一旦確定不能改變。 (X)
4.程序在運(yùn)行時(shí)需要很多系統(tǒng)資源,如內(nèi)存、文件、設(shè)備等,因此操作系統(tǒng)以程序?yàn)閱挝环峙湎到y(tǒng)資源。 (X)
5.在分時(shí)系統(tǒng)中,進(jìn)程調(diào)度都采用優(yōu)先級(jí)調(diào)度算法為主,短進(jìn)程優(yōu)先調(diào)度算法為輔。(X)
6.進(jìn)程狀態(tài)的轉(zhuǎn)換是由操作系統(tǒng)完成的,對(duì)用戶(hù)是透明的。 (V)
7.先來(lái)先服務(wù)(FCFS)算法是一種簡(jiǎn)單的調(diào)度算法,但其效率比較高。 (X)
8.當(dāng)一個(gè)進(jìn)程從等待態(tài)變成就緒態(tài),則一定有一個(gè)進(jìn)程從就緒態(tài)變成運(yùn)行態(tài)。 (X)
9.****在任何情況下采用短作業(yè)優(yōu)先(SJF)調(diào)度算法肯定能使作業(yè)的平均周轉(zhuǎn)時(shí)間最小。(V)
10.當(dāng)某個(gè)條件滿(mǎn)足時(shí),進(jìn)程可以由運(yùn)行狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。 (V)
11.當(dāng)條件滿(mǎn)足時(shí),進(jìn)程可以由阻塞狀態(tài)直接轉(zhuǎn)換為運(yùn)行狀態(tài)。 (X)
12.進(jìn)程是獨(dú)立的,能夠并發(fā)執(zhí)行,程序也一樣。 (X)
13.進(jìn)程申請(qǐng)CPU得不到滿(mǎn)足時(shí),其狀態(tài)變?yōu)榈却龖B(tài)。 (X)
14.當(dāng)條件滿(mǎn)足時(shí),進(jìn)程可以由就緒狀態(tài)轉(zhuǎn)換為阻塞狀態(tài)。 (X)
15.時(shí)間片的大小對(duì)輪轉(zhuǎn)法(RR)的性能有很大的影響,時(shí)間片太短,會(huì)導(dǎo)致系統(tǒng)開(kāi)銷(xiāo)大大增加。 (V)
16.FCFS調(diào)度算法對(duì)短作業(yè)有利。 (X)
17.當(dāng)條件滿(mǎn)足時(shí),進(jìn)程可以由阻塞狀態(tài)轉(zhuǎn)換為就緒狀態(tài)。 (V)
四、簡(jiǎn)答題(9小題,共45分)
1.進(jìn)程與程序有何聯(lián)系和區(qū)別?
答:①程序是指令的集合,是進(jìn)程的運(yùn)行實(shí)體,靜態(tài)概念;
進(jìn)程是程序在處理機(jī)上的一次執(zhí)行過(guò)程,動(dòng)態(tài)概念;
②程序是長(zhǎng)期存在的,進(jìn)程有生命周期,有創(chuàng)建、活動(dòng)、消亡
③程序是僅是指令的有序集合;而進(jìn)程則由程序、數(shù)據(jù)、進(jìn)程控制塊組成
④進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位;程序則不是
⑤進(jìn)程具有并發(fā)性,而程序沒(méi)有
⑥進(jìn)程與程序之間不是一一對(duì)應(yīng)的,即同一程序同時(shí)運(yùn)行于若干個(gè)不同的數(shù)據(jù)集合上,它將屬于若干個(gè)不同的進(jìn)程;而一個(gè)進(jìn)程可以執(zhí)行多個(gè)程序
?
2.一個(gè)作業(yè)從提交開(kāi)始直到運(yùn)行完畢,可能經(jīng)歷哪些調(diào)度?每種調(diào)度的功能是什么?
答:高級(jí)調(diào)度(作業(yè)調(diào)度):從外存的后備隊(duì)列中選取某些作業(yè)調(diào)入內(nèi)存,并為他們創(chuàng)建進(jìn) 程、分配必要的資源,并將它們放入就緒隊(duì)列
中級(jí)調(diào)度(內(nèi)存調(diào)度) :提高內(nèi)存利用率和系統(tǒng)吞吐量,
低級(jí)調(diào)度(進(jìn)程調(diào)度):決定就緒隊(duì)列中那個(gè)進(jìn)程將獲得CPU處理機(jī),并執(zhí)行獲得處理機(jī)的進(jìn)程
?
3.畫(huà)出進(jìn)程狀態(tài)轉(zhuǎn)換圖,并給出典型的轉(zhuǎn)換條件。
?進(jìn)程具有三種基本狀態(tài):運(yùn)行態(tài)、就緒態(tài)和阻塞態(tài)。處于這三種狀態(tài)的進(jìn)程在一定條件下,其狀態(tài)可以轉(zhuǎn)換。當(dāng)CPU空閑時(shí),系統(tǒng)將選擇處于就緒態(tài)的一個(gè)進(jìn)程進(jìn)入運(yùn)行態(tài);而當(dāng)CPU的一個(gè)時(shí)間片用完時(shí),當(dāng)前處于運(yùn)行態(tài)的進(jìn)程就進(jìn)入了就緒態(tài);進(jìn)程從運(yùn)行到阻塞狀態(tài)通常是由于進(jìn)程釋放CPU,等待系統(tǒng)分配資源或等待某些事件的發(fā)生,例如,執(zhí)行了P 操作系統(tǒng)暫時(shí)不能滿(mǎn)足其對(duì)某資源的請(qǐng)求,或等待用戶(hù)的輸入信息等;當(dāng)進(jìn)程等待的事件發(fā)生時(shí),進(jìn)程從阻塞到就緒狀態(tài),如I/O完成。


4.為什么要引入中級(jí)調(diào)度?
為了提高內(nèi)存利用率和系統(tǒng)吞吐量,引入了中級(jí)調(diào)度
5.從調(diào)度性、并發(fā)性、擁有資源及系統(tǒng)開(kāi)銷(xiāo)幾個(gè)方面,對(duì)進(jìn)程和線程進(jìn)行比較。
A.在引入線程的OS中,把線程作為調(diào)度和分派的基本單位,而把進(jìn)程作為資源擁有的基本單位;
B.在引入線程的OS中,不僅進(jìn)程之間可以并發(fā)執(zhí)行,而且在一個(gè)進(jìn)程中的多個(gè)線程之間,亦可并發(fā)執(zhí)行,因而使OS具有更好的并發(fā)性;
C.進(jìn)程始終是擁有資源的一個(gè)獨(dú)立單位,線程自己不擁有系統(tǒng)資源,但它可以訪問(wèn)其隸屬進(jìn)程的資源;
D.在創(chuàng)建,撤消和切換進(jìn)程方面,進(jìn)程的開(kāi)銷(xiāo)遠(yuǎn)遠(yuǎn)大于線程的開(kāi)銷(xiāo).
?
6.某進(jìn)程被喚醒后立即投入運(yùn)行,就說(shuō)這個(gè)系統(tǒng)采用的是剝奪調(diào)度方法,對(duì)嗎?為什么?
某進(jìn)程被喚醒并立即運(yùn)行并不能說(shuō)明該系統(tǒng)是剝奪調(diào)度算法。進(jìn)程調(diào)度有以下兩種基本方式:
(1)非剝奪方式:分派程序一旦把處理機(jī)分配給某進(jìn)程后便讓它一直運(yùn)行下去,直到進(jìn)程完成或發(fā)生某事件而阻塞時(shí),才把處理機(jī)分配給另一個(gè)進(jìn)程。
(2)剝奪方式:當(dāng)一個(gè)進(jìn)程正在運(yùn)行時(shí),系統(tǒng)可以基于某種原則,剝奪已分配給它的處理機(jī),將之分配給其它進(jìn)程。剝奪原則有:優(yōu)先權(quán)原則、短進(jìn)程、優(yōu)先原則、時(shí)間片原則。
由于題設(shè)給的條件無(wú)法判斷該進(jìn)程在以后運(yùn)行過(guò)程中是否會(huì)被調(diào)度,因此不足以判斷是可剝奪調(diào)度算法。
?
7.為什么要引入進(jìn)程概念?
1、進(jìn)程是資源分配和調(diào)度的基本單位,是OS結(jié)構(gòu)的基礎(chǔ),在計(jì)算機(jī)發(fā)展過(guò)程中,引入了進(jìn)程后才使得處理機(jī)利用率和內(nèi)存利用率大大提高。
2、
進(jìn)程是一個(gè)具有獨(dú)立功能的程序關(guān)于某個(gè)數(shù)據(jù)集合的一次運(yùn)行活動(dòng)。它可以申請(qǐng)和擁有系統(tǒng)資源,是一個(gè)動(dòng)態(tài)的概念,是一個(gè)活動(dòng)的實(shí)體。它不只是程序的代碼,還包括當(dāng)前的活動(dòng),通過(guò)程序計(jì)數(shù)器的值和處理寄存器的內(nèi)容來(lái)表示。
3、操作系統(tǒng)引入進(jìn)程的概念的原因:
從理論角度看,是對(duì)正在運(yùn)行的程序過(guò)程的抽象;
從實(shí)現(xiàn)角度看,是一種數(shù)據(jù)結(jié)構(gòu),目的在于清晰地刻畫(huà)動(dòng)態(tài)系統(tǒng)的內(nèi)在規(guī)律,有效管理和調(diào)度進(jìn)入計(jì)算機(jī)系統(tǒng)主存儲(chǔ)器運(yùn)行的程序。
?
8.進(jìn)程的基本特點(diǎn)是什么?
(1)動(dòng)態(tài)性:進(jìn)程的實(shí)質(zhì)是程序的一次執(zhí)行過(guò)程,進(jìn)程是動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡的。
(2)并發(fā)性:任何進(jìn)程都可以同其他進(jìn)程一起并發(fā)執(zhí)行。
(3)獨(dú)立性:進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)分配資源和調(diào)度的獨(dú)立單位。
(4)異步性:由于進(jìn)程間的相互制約,使進(jìn)程具有執(zhí)行的間斷性,即進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。
?
9.在單用戶(hù)系統(tǒng)中,有n個(gè)進(jìn)程,問(wèn)排在就緒隊(duì)列和等待隊(duì)列中進(jìn)程個(gè)數(shù)的范圍是什么?
當(dāng)資源不夠用時(shí)他就自動(dòng)掛起,只有等到資源被申請(qǐng)到時(shí)才進(jìn)入隊(duì)列所以一般<=n
五、綜合題(9小題,共90分)
1.某系統(tǒng)中有4個(gè)進(jìn)程A、B、C、D,其運(yùn)行時(shí)間分別為6、3、1、7(單位為ms),均在時(shí)刻0到達(dá),到達(dá)的順序?yàn)锳、B、C、D。試給出采用時(shí)間片輪轉(zhuǎn)調(diào)度算法時(shí)(時(shí)間片分別為1和3兩種狀況)進(jìn)程的調(diào)度順序,并計(jì)算平均等待時(shí)間和平均周轉(zhuǎn)時(shí)間。
?
2.有5個(gè)批處理作業(yè)A、B、C、D、E,幾乎同時(shí)到達(dá)計(jì)算機(jī)系統(tǒng),其估計(jì)運(yùn)行時(shí)間分別為10、6、2、4、8(單位為min),優(yōu)先級(jí)分別為3、5、2、1、4,其中5為最高優(yōu)先級(jí)。假設(shè)它們都是純計(jì)算型作業(yè),系統(tǒng)開(kāi)銷(xiāo)時(shí)間忽略不計(jì)。若系統(tǒng)采用非剝奪方式使用CPU,當(dāng)采用優(yōu)先級(jí)高者優(yōu)先調(diào)度算法時(shí),計(jì)算它們的平均周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間:
?
3.為什么說(shuō)多級(jí)反饋隊(duì)列調(diào)度算法能較好地滿(mǎn)足各類(lèi)用戶(hù)的需要?
? 多級(jí)反饋隊(duì)列調(diào)度算法是一種性能較好的作業(yè)低級(jí)調(diào)度策略,能夠滿(mǎn)足各類(lèi)用戶(hù)的需要。對(duì)于分時(shí)交互型短作業(yè),系統(tǒng)通常可在第一隊(duì)列(高優(yōu)先級(jí)隊(duì)列)規(guī)定的時(shí)間片內(nèi)讓其完成工作,使終端型用戶(hù)都感到滿(mǎn)意;對(duì)短的批處理作業(yè),通常,只需在第一或第一、第二隊(duì)列(中優(yōu)先級(jí)隊(duì)列)中各執(zhí)行一個(gè)時(shí)間片就能完成工作,周轉(zhuǎn)時(shí)間仍然很短;對(duì)長(zhǎng)的批處理作業(yè),它將依次在第一、第二、……,各個(gè)隊(duì)列中獲得時(shí)間片并運(yùn)行,決不會(huì)出現(xiàn)得不到處理的情況。此系統(tǒng)模擬了多級(jí)反饋隊(duì)列調(diào)度算法及其實(shí)現(xiàn)
?
4.設(shè)系統(tǒng)中有n(n>2)個(gè)進(jìn)程,且當(dāng)前不執(zhí)行進(jìn)程調(diào)度程序,試考慮下述4種情況:
①?zèng)]有運(yùn)行進(jìn)程,有2個(gè)就緒進(jìn)程,n個(gè)進(jìn)程處于等待狀態(tài)。
②有1個(gè)運(yùn)行進(jìn)程,沒(méi)有就緒進(jìn)程,n1個(gè)進(jìn)程處于等待狀態(tài)。
③有1個(gè)運(yùn)行進(jìn)程,有1個(gè)就緒進(jìn)程,n2個(gè)進(jìn)程處于等待狀態(tài)。
④有1個(gè)運(yùn)行進(jìn)程,n1個(gè)就緒進(jìn)程,沒(méi)有進(jìn)程處于等待狀態(tài)。
上述情況中,不可能發(fā)生的情況是哪些?請(qǐng)說(shuō)明原因。
?
5.回答以下問(wèn)題:
(1)若系統(tǒng)中沒(méi)有運(yùn)行進(jìn)程,是否一定沒(méi)有就緒進(jìn)程?為什么?
?是。因?yàn)槿粝到y(tǒng)中沒(méi)有運(yùn)行進(jìn)程,那么系統(tǒng)很快會(huì)選擇一個(gè)就緒進(jìn)程運(yùn)行。只有就緒隊(duì)列中無(wú)進(jìn)程時(shí),CPU?才可以處于空閑狀態(tài)。
(2)若系統(tǒng)中既沒(méi)有運(yùn)行進(jìn)程,也沒(méi)有就緒進(jìn)程,系統(tǒng)中是否就沒(méi)有進(jìn)程?為什么?

(3)在采用優(yōu)先級(jí)進(jìn)程調(diào)度時(shí),運(yùn)行進(jìn)程是否一定是系統(tǒng)中優(yōu)先級(jí)最高的進(jìn)程?
?

6.系統(tǒng)有5個(gè)進(jìn)程,其就緒時(shí)刻(指在該時(shí)刻已經(jīng)在就緒隊(duì)列中就緒)、服務(wù)時(shí)間如下表所示。若采用高響應(yīng)比優(yōu)先調(diào)度算法,計(jì)算相關(guān)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。
?

7.某系統(tǒng)中有5個(gè)進(jìn)程,每個(gè)進(jìn)程的運(yùn)行時(shí)間(單位為ms)、優(yōu)先級(jí)和到達(dá)時(shí)刻如下表所示。給出采用不可搶占優(yōu)先級(jí)調(diào)度算法時(shí),請(qǐng)畫(huà)圖表示各進(jìn)程的執(zhí)行情況。其中優(yōu)先級(jí)越大越優(yōu)先運(yùn)行。
?

8.設(shè)有4個(gè)作業(yè),它們的到達(dá)時(shí)刻、所需運(yùn)行時(shí)間如下表所示,若采用先來(lái)先服務(wù)、短作業(yè)優(yōu)先調(diào)度算法,則平均周轉(zhuǎn)時(shí)間分別是多少?其中,優(yōu)先數(shù)越小、越優(yōu)先運(yùn)行。
?

9.在一個(gè)實(shí)時(shí)系統(tǒng)中,有兩個(gè)周期性的實(shí)時(shí)任務(wù)A和B,任務(wù)A每20ms出現(xiàn)一次,每次執(zhí)行時(shí)間10ms,任務(wù)B每50ms出現(xiàn)一次,每次執(zhí)行時(shí)間25ms。現(xiàn)在假定A和B的第一個(gè)周期是同時(shí)到達(dá)系統(tǒng)的,請(qǐng)問(wèn)應(yīng)該采用什么樣的調(diào)度方法才能夠讓A和B都能夠保證它們的截止時(shí)間?并畫(huà)圖給出具有兩個(gè)周期的實(shí)時(shí)調(diào)度情況。
?