

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、國家開放大學(xué)操作系統(tǒng)章節(jié)測試參考答案第1章操作系統(tǒng)概述一、單項(xiàng)選擇題1操作系統(tǒng)的基本職能是()。A. 提供用戶界面,方便用戶使用B. 提供方便的可視化編輯程序C. 提供功能強(qiáng)大的網(wǎng)絡(luò)管理工具D. 控制和管理系統(tǒng)內(nèi)各種資源,有效地組織多道程序的運(yùn)行2按照所起的作用和需要的運(yùn)行環(huán)境,操作系統(tǒng)屬于()。A. 應(yīng)用軟件B. 系統(tǒng)軟件C. 支撐軟件D. 用戶軟件3在計(jì)算機(jī)系統(tǒng)中,操作系統(tǒng)是()。A. 處于裸機(jī)之上的第一層軟件B. 處于系統(tǒng)軟件之上的用戶軟件C. 處于應(yīng)用軟件之上的系統(tǒng)軟件D. 處于硬件之下的低層軟件4現(xiàn)代操作系統(tǒng)的基本特征是()、資源共享和操作的異步性。A. 程序的并發(fā)執(zhí)行B. 實(shí)現(xiàn)分時(shí)
2、與實(shí)時(shí)處理C. 多道程序設(shè)計(jì)D. 中斷處理5以下不屬于操作系統(tǒng)具備的主要功能的是()。A. 中斷處理B. CPU調(diào)度C. 內(nèi)存管理D. 文檔編輯6為用戶分配主存空間,保護(hù)主存中的程序和數(shù)據(jù)不被破壞,提高主存空間的利用率。這屬于()。A. 存儲管理B. 作業(yè)管理C. 文件管理D. 處理器管理7操作系統(tǒng)對緩沖區(qū)的管理屬于()的功能。A. 設(shè)備管理B. 存儲器管理C. 文件管理D. 處理器管理8操作系統(tǒng)內(nèi)核與用戶程序、應(yīng)用程序之間的接口是()。A. shell命令B. C語言函數(shù)C. 圖形界面D. 系統(tǒng)調(diào)用9系統(tǒng)調(diào)用是由操作系統(tǒng)提供的內(nèi)部調(diào)用,它()。A. 與系統(tǒng)的命令一樣B. 直接通過鍵盤交互方式
3、使用C. 是命令接口中的命令D. 只能通過用戶程序間接使用10在下列操作系統(tǒng)中,強(qiáng)調(diào)吞吐能力的是()。A. 多道批處理系統(tǒng)B. 實(shí)時(shí)系統(tǒng)C. 網(wǎng)絡(luò)系統(tǒng)D. 分時(shí)系統(tǒng)11批處理系統(tǒng)的主要缺點(diǎn)是()。A. CPU的利用率不高B. 系統(tǒng)吞吐量小C. 不具備并行性D. 失去了交互性12為了使系統(tǒng)中所有的用戶都能得到及時(shí)的響應(yīng),該操作系統(tǒng)應(yīng)該是()。A. 分時(shí)系統(tǒng)B. 網(wǎng)絡(luò)系統(tǒng)C. 實(shí)時(shí)系統(tǒng)D. 多道批處理系統(tǒng)13下面不屬于分時(shí)系統(tǒng)特征的是()。A. 方便用戶與計(jì)算機(jī)的交互B. 需要中斷機(jī)構(gòu)及時(shí)鐘系統(tǒng)的支持C. 為多用戶設(shè)計(jì)D. 可靠性比實(shí)時(shí)系統(tǒng)要求高14在分時(shí)系統(tǒng)中,時(shí)間片一定,則(),響應(yīng)時(shí)間越長。
4、A. 后備隊(duì)列越短B. 內(nèi)存越大C. 用戶數(shù)越多D. 用戶數(shù)越少15實(shí)時(shí)操作系統(tǒng)追求的目標(biāo)是()。A. 充分利用內(nèi)存B. 減少系統(tǒng)開銷C. 高吞吐率D. 快速響應(yīng)16工業(yè)過程控制系統(tǒng)中運(yùn)行的操作系統(tǒng)最好是()。A. 網(wǎng)絡(luò)系統(tǒng)B. 實(shí)時(shí)系統(tǒng)C. 分布式操作系統(tǒng)D. 分時(shí)系統(tǒng)17下列系統(tǒng)中,屬于實(shí)時(shí)系統(tǒng)的是()。A. 方正排版系統(tǒng)B. 火車訂票系統(tǒng)C. 辦公自動化系統(tǒng)D. 計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)18以下著名的操作系統(tǒng)中,屬于多用戶、分時(shí)系統(tǒng)的是()。A. Windows NT系統(tǒng)B. OS/2系統(tǒng)C. DOS系統(tǒng)D. UNIX系統(tǒng)19UNIX操作系統(tǒng)核心層的實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)采用的是()。A. 網(wǎng)狀結(jié)構(gòu)B.
5、 單塊式結(jié)構(gòu)C. 層次結(jié)構(gòu)D. 微內(nèi)核結(jié)構(gòu)20UNIX命令的一般格式是()。A. 參數(shù) 選項(xiàng) 命令名B. 選項(xiàng) 參數(shù) 命令名C. 命令名 選項(xiàng) 參數(shù)D. 命令名 選項(xiàng) 參數(shù)二、判斷題1操作系統(tǒng)是用戶與計(jì)算機(jī)之間的接口。()2操作系統(tǒng)是系統(tǒng)軟件中的一種,在進(jìn)行系統(tǒng)安裝時(shí)可以先安裝其它軟件,然后再安裝操作系統(tǒng)。()3操作系統(tǒng)是整個(gè)計(jì)算機(jī)系統(tǒng)的控制管理中心,它對其它軟件具有支配權(quán)利。因而,操作系統(tǒng)建立在其它軟件之上。()4雖然分時(shí)系統(tǒng)也要求系統(tǒng)可靠,但實(shí)時(shí)系統(tǒng)對可靠性的要求更高。()5在UNIX/Linux系統(tǒng)上,系統(tǒng)調(diào)用以C函數(shù)的形式出現(xiàn)。()6UNIX操作系統(tǒng)是采用微內(nèi)核方法實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)的。()
6、三、簡答題1簡述操作系統(tǒng)的定義。參考答案:操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件(或程序集合),是用戶與計(jì)算機(jī)之間的接口。2在計(jì)算機(jī)系統(tǒng)中操作系統(tǒng)處于什么地位?參考答案: 操作系統(tǒng)是裸機(jī)之上的第一層軟件,與硬件關(guān)系尤為密切。它不僅對硬件資源直接實(shí)施控制、管理,而且其很多功能的完成是與硬件動作配合實(shí)現(xiàn)的,如中斷系統(tǒng)。操作系統(tǒng)的運(yùn)行需要有良好的硬件環(huán)境。操作系統(tǒng)是整個(gè)計(jì)算機(jī)系統(tǒng)的控制管理中心,其他所有軟件都建立在操作系統(tǒng)之上。操作系統(tǒng)對它們既具有支配權(quán)力,又為其運(yùn)行建造必備環(huán)境。在裸機(jī)上安裝了操作系統(tǒng)后,就為其他軟件的運(yùn)行和用戶使用提供了工作環(huán)境。3操
7、作系統(tǒng)的主要功能有哪些?參考答案: 操作系統(tǒng)的主要功能包括:存儲管理,進(jìn)程和處理機(jī)管理,文件管理,設(shè)備管理以及用戶接口管理。4操作系統(tǒng)一般為用戶提供了哪三種界面?各有什么特點(diǎn)?參考答案:操作系統(tǒng)一般為用戶提供的三種界面是:圖形用戶接口、命令行接口和程序接口。圖形用戶接口:用戶利用鼠標(biāo)、窗口、菜單、圖標(biāo)等圖形界面工具,可以直觀、方便、有效地使用系統(tǒng)服務(wù)和各種應(yīng)用程序及實(shí)用工具。命令行接口:在提示符之后用戶從鍵盤上輸入命令,命令解釋程序接收并解釋這些命令,然后把它們傳遞給操作系統(tǒng)內(nèi)部的程序,執(zhí)行相應(yīng)的功能。程序接口:也稱系統(tǒng)調(diào)用接口。是操作系統(tǒng)內(nèi)核與用戶程序、應(yīng)用程序之間的接口。5操作系統(tǒng)主要有哪
8、三種基本類型?各有什么特點(diǎn)?參考答案:主要有以下三種基本類型:多道批處理系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。多道批處理系統(tǒng)的特點(diǎn)是多道和成批。分時(shí)系統(tǒng)的特點(diǎn)是同時(shí)性、交互性、獨(dú)立性和及時(shí)性。實(shí)時(shí)系統(tǒng)一般為具有特殊用途的專用系統(tǒng),其特點(diǎn)是交互能力較弱、響應(yīng)時(shí)間更嚴(yán)格、對可靠性要求更高。6使用虛擬機(jī),有什么優(yōu)勢和不足?參考答案:采用虛擬機(jī)的優(yōu)點(diǎn)主要有:在一臺機(jī)器上可同時(shí)運(yùn)行多個(gè)操作系統(tǒng),方便用戶使用。系統(tǒng)安全,有效地保護(hù)了系統(tǒng)資源。為軟件的研制、開發(fā)和調(diào)試提供了良好的環(huán)境。組建虛擬網(wǎng)絡(luò),可以創(chuàng)造出多個(gè)理想的工作環(huán)境。缺點(diǎn)是:對硬件的要求比較高,如CPU、硬盤和內(nèi)存。本身非常復(fù)雜,另外,執(zhí)行任務(wù)時(shí)的速度會受到
9、一些影響。第2章進(jìn)程管理一、單項(xiàng)選擇題1在操作系統(tǒng)中引入“進(jìn)程”概念的主要目的是()。A. 使程序與計(jì)算過程一一對應(yīng)B. 改善用戶編程環(huán)境C. 描述程序動態(tài)執(zhí)行過程的性質(zhì)D. 提高程序的運(yùn)行速度2進(jìn)程與程序之間有密切聯(lián)系,但又是不同的概念。二者的一個(gè)本質(zhì)區(qū)別是()。A. 程序順序執(zhí)行,進(jìn)程并發(fā)執(zhí)行B. 程序保存在文件中,進(jìn)程存放在內(nèi)存中C. 程序是動態(tài)概念,進(jìn)程是靜態(tài)概念D. 程序是靜態(tài)概念,進(jìn)程是動態(tài)概念3在操作系統(tǒng)中,進(jìn)程的最基本的特征是()。A. 動態(tài)性和并發(fā)性B. 順序性和可再現(xiàn)性C. 執(zhí)行過程的封閉性D. 與程序的對應(yīng)性4為了描述進(jìn)程的動態(tài)變化過程,采用了一個(gè)與進(jìn)程相聯(lián)系的(),根據(jù)
10、它而感知進(jìn)程的存在。A. 進(jìn)程優(yōu)先數(shù)B. 進(jìn)程控制塊C. 進(jìn)程狀態(tài)字D. 進(jìn)程起始地址5進(jìn)程控制塊是描述進(jìn)程狀態(tài)和特性的數(shù)據(jù)結(jié)構(gòu),一個(gè)進(jìn)程()。A. 可以和其他進(jìn)程共用一個(gè)進(jìn)程控制塊B. 可以沒有進(jìn)程控制塊C. 可以有多個(gè)進(jìn)程控制塊D. 只能有唯一的進(jìn)程控制塊6在單處理機(jī)系統(tǒng)中,處于運(yùn)行狀態(tài)的進(jìn)程()。A. 必須在執(zhí)行完后才能被撤下B. 只有一個(gè)C. 不能被掛起D. 可以有多個(gè)7已經(jīng)獲得除()以外的所有運(yùn)行所需資源的進(jìn)程處于就緒狀態(tài)。a. 存儲器b. 打印機(jī)c. 磁盤空間d. CPU 8進(jìn)程從運(yùn)行狀態(tài)變?yōu)樽枞麪顟B(tài)的原因是()。A. 輸入或輸出事件完成B. 輸入或輸出事件發(fā)生C. 時(shí)間片到D.
11、某個(gè)進(jìn)程被喚醒9某進(jìn)程由于需要從磁盤上讀入數(shù)據(jù)而處于阻塞狀態(tài)。當(dāng)系統(tǒng)完成了所需的讀盤操作后,此時(shí)該進(jìn)程的狀態(tài)將()。A. 從阻塞變?yōu)榫途wB. 從運(yùn)行變?yōu)榫虲. 從運(yùn)行變?yōu)樽枞鸇. 從就緒變?yōu)檫\(yùn)行10下列進(jìn)程狀態(tài)的轉(zhuǎn)換中,不正確的是()。A. 從就緒到運(yùn)行B. 從就緒到阻塞C. 從運(yùn)行到就緒D. 從阻塞到就緒11一個(gè)進(jìn)程被喚醒意味著()。A. 其PCB移至就緒隊(duì)列的隊(duì)首B. 它的優(yōu)先權(quán)變?yōu)樽畲驝. 該進(jìn)程重新占有了CPUD. 進(jìn)程狀態(tài)變?yōu)榫途w12現(xiàn)代操作系統(tǒng)中引入線程以后,進(jìn)程()。A. 只是調(diào)度運(yùn)行的單位B. 只是資源分配的單位C. 失去作用D. 既是資源分配的單位,又是調(diào)度運(yùn)行的單位13下列
12、關(guān)于進(jìn)程和線程的敘述中,正確的是()。A. 一個(gè)線程可在若干個(gè)進(jìn)程地址空間活動B. 資源分配給線程,處理機(jī)分配給進(jìn)程C. 一個(gè)進(jìn)程可擁有若干個(gè)線程D. 一個(gè)進(jìn)程只可擁有一個(gè)線程14下列關(guān)于引入線程的好處的描述中,不正確的是()。A. 充分發(fā)揮多處理器的功能B. 利于分配資源C. 并發(fā)性高,提高效率D. 易于調(diào)度,代價(jià)低15兩個(gè)進(jìn)程合作完成一個(gè)任務(wù),在并發(fā)執(zhí)行中,一個(gè)進(jìn)程要等待其合作伙伴發(fā)來信息,或者建立某個(gè)條件后再向前執(zhí)行,這種關(guān)系是進(jìn)程間的()關(guān)系。A. 同步B. 合作C. 互斥D. 競爭16以下不屬于進(jìn)程高級通信方式的是()。A. 共享內(nèi)存方式B. 管道文件方式C. 消息傳遞方式D. 進(jìn)程
13、互斥和同步方式17在進(jìn)程通信中,使用信箱方式交換信息的是()。A. 管道文件方式B. 低級進(jìn)程通信C. 消息傳遞方式D. 共享內(nèi)存方式18在一段時(shí)間內(nèi),只允許一個(gè)進(jìn)程訪問的資源稱為()。A. 共享區(qū)B. 臨界區(qū)C. 共享資源D. 臨界資源19如果信號量S的值是0 , 此時(shí)進(jìn)程A執(zhí)行P(S)操作,那么,進(jìn)程A會()。A. 繼續(xù)運(yùn)行B. 進(jìn)入就緒態(tài),讓出CPUC. 繼續(xù)運(yùn)行,并喚醒S隊(duì)列頭上的等待進(jìn)程D. 進(jìn)入阻塞態(tài),讓出CPU 20若P、V操作的信號量S初值為2,當(dāng)前值為 -1,則表示有()個(gè)等待進(jìn)程。A. 2B. 1 C. 3D. 021在執(zhí)行V操作時(shí),當(dāng)信號量的值(),應(yīng)釋放一個(gè)等待該信號量
14、的進(jìn)程。A. 小于等于0 B. 大于等于0C. 大于0D. 小于022信號量S的初值為8,在S上執(zhí)行了10次P操作,6次V操作后,S的值為()。A. 8 B. 10C. 6D. 4 23有9個(gè)生產(chǎn)者,6個(gè)消費(fèi)者,共享容量為8的緩沖區(qū)。在這個(gè)生產(chǎn)者-消費(fèi)者問題中,互斥使用緩沖區(qū)的信號量mutex的初值應(yīng)該為()。A. 9B. 1 C. 8D. 624兩個(gè)進(jìn)程爭奪同一個(gè)資源()。A. 一定死鎖B. 不一定死鎖C. 不會死鎖D. 以上說法都不對25系統(tǒng)出現(xiàn)死鎖的原因是()。A. 若干進(jìn)程因競爭資源而無休止地循環(huán)等待著,而且都不釋放已占有的資源B. 計(jì)算機(jī)系統(tǒng)發(fā)生了重大故障C. 資源數(shù)大大少于進(jìn)程數(shù),
15、或進(jìn)程同時(shí)申請的資源數(shù)大大超過資源總數(shù)D. 有多個(gè)封鎖的進(jìn)程同時(shí)存在26死鎖的四個(gè)必要條件中,無法破壞的是()。A. 不可搶占條件B. 循環(huán)等待條件C. 互斥條件D. 占有且申請條件二、判斷題1簡單地說,進(jìn)程是程序的執(zhí)行過程。因而,進(jìn)程和程序是一一對應(yīng)的。()2程序在運(yùn)行時(shí)需要很多系統(tǒng)資源,如內(nèi)存、文件、設(shè)備等,因此操作系統(tǒng)以程序?yàn)閱挝环峙湎到y(tǒng)資源。()3進(jìn)程執(zhí)行的相對速度不能由進(jìn)程自己來控制。()4進(jìn)程控制塊(PCB)是專為用戶進(jìn)程設(shè)置的私有數(shù)據(jù)結(jié)構(gòu),每個(gè)進(jìn)程僅有一個(gè)PCB。()5進(jìn)程控制塊(PCB)是進(jìn)程存在的唯一標(biāo)志。()6在進(jìn)程狀態(tài)的轉(zhuǎn)換中,從就緒態(tài)轉(zhuǎn)換到阻塞態(tài)是不可能實(shí)現(xiàn)的。()7進(jìn)
16、程從運(yùn)行狀態(tài)變?yōu)樽枞麪顟B(tài)的原因是輸入或輸出事件發(fā)生。()8進(jìn)程從運(yùn)行狀態(tài)變?yōu)樽枞麪顟B(tài)的原因是時(shí)間片到時(shí)。()9一個(gè)進(jìn)程被喚醒意味著該進(jìn)程重新占有了CPU。()10如同人類的族系一樣,操作系統(tǒng)中眾多的進(jìn)程也存在族系關(guān)系,并構(gòu)成一棵樹形的進(jìn)程族系圖。()11進(jìn)程之間的互斥,主要源于進(jìn)程之間的資源競爭,從而實(shí)現(xiàn)多個(gè)相關(guān)進(jìn)程在執(zhí)行次序上的協(xié)調(diào)。()12進(jìn)程A和進(jìn)程B都要使用系統(tǒng)中同一臺打印機(jī),為了保證打印結(jié)果的正確性,兩個(gè)進(jìn)程要先后分別使用打印機(jī),這屬于進(jìn)程的同步關(guān)系。()13進(jìn)程的互斥和同步機(jī)構(gòu)交換的信息量大,被歸結(jié)為高級通信。()14管道文件方式屬于進(jìn)程的高級通信。()15信號量機(jī)制是一種有效地實(shí)
17、現(xiàn)進(jìn)程同步與互斥的工具。信號量只能由P、V操作來改變。()16V操作是對信號量執(zhí)行加1操作,意味著釋放一個(gè)單位資源,如果加1后信號量的值小于等于零,則從等待隊(duì)列中喚醒一個(gè)進(jìn)程,現(xiàn)進(jìn)程變?yōu)樽枞麪顟B(tài),否則現(xiàn)進(jìn)程繼續(xù)進(jìn)行。()17系統(tǒng)產(chǎn)生死鎖的根本原因是資源有限且操作不當(dāng)。因此,當(dāng)系統(tǒng)提供的資源少于并發(fā)進(jìn)程的需求時(shí),系統(tǒng)就產(chǎn)生死鎖。()18解決死鎖的方法有死鎖的預(yù)防、死鎖的避免、死鎖的檢測與恢復(fù)。()19在Linux系統(tǒng)中,用戶進(jìn)程既可以在用戶模式下運(yùn)行,也可以在內(nèi)核模式下運(yùn)行。()三、簡答題1在操作系統(tǒng)中為什么要引入進(jìn)程概念?它與程序的區(qū)別和聯(lián)系是什么?參考答案:在操作系統(tǒng)中,由于多道程序并發(fā)執(zhí)行
18、時(shí)共享系統(tǒng)資源,共同決定這些資源的狀態(tài),因此系統(tǒng)中各程序在執(zhí)行過程中就出現(xiàn)了相互制約的新關(guān)系,程序的執(zhí)行出現(xiàn)“走走停?!钡男聽顟B(tài)。這些都是在程序的動態(tài)過程中發(fā)生的。用程序這個(gè)靜態(tài)概念已不能如實(shí)反映程序并發(fā)執(zhí)行過程中的這些特征。為此,人們引入“進(jìn)程”這一概念來描述程序動態(tài)執(zhí)行過程的性質(zhì)。進(jìn)程與程序的主要區(qū)別是:進(jìn)程是動態(tài)的;程序是靜態(tài)的。進(jìn)程有獨(dú)立性,能并發(fā)執(zhí)行;程序不能并發(fā)執(zhí)行。二者無一一對應(yīng)關(guān)系。進(jìn)程異步運(yùn)行,會相互制約;程序不具備此特征。但進(jìn)程與程序又有密切的聯(lián)系:進(jìn)程不能脫離具體程序而虛設(shè),程序規(guī)定了相應(yīng)進(jìn)程所要完成的動作。2進(jìn)程的基本狀態(tài)有哪幾種?參考答案:通常在操作系統(tǒng)中,進(jìn)程至少要
19、有三種基本狀態(tài)。這三種基本狀態(tài)是:運(yùn)行態(tài)、就緒態(tài)和阻塞態(tài)(或等待態(tài))。3PCB的作用是什么?它是怎樣描述進(jìn)程的動態(tài)性質(zhì)的?參考答案:進(jìn)程控制塊PCB是進(jìn)程組成中最關(guān)鍵的部分。每個(gè)進(jìn)程有唯一的進(jìn)程控制塊;操作系統(tǒng)根據(jù)PCB對進(jìn)程實(shí)施控制和管理,進(jìn)程的動態(tài)、并發(fā)等特征是利用PCB表現(xiàn)出來的;PCB是進(jìn)程存在的唯一標(biāo)志。PCB中有表明進(jìn)程狀態(tài)的信息:該進(jìn)程的狀態(tài)是運(yùn)行態(tài)、就緒態(tài)還是阻塞態(tài),利用狀態(tài)信息來描述進(jìn)程的動態(tài)性質(zhì)。4PCB表的組織方式主要有哪幾種?分別簡要說明。參考答案:PCB表的組織方式主要有:線性方式、鏈接方式和索引方式。線性方式是把所有進(jìn)程的PCB都放在一個(gè)表中。鏈接方式按照進(jìn)程的不同
20、狀態(tài)把它們分別放在不同的隊(duì)列中。索引方式是利用索引表記載相應(yīng)狀態(tài)進(jìn)程的PCB地址。5進(jìn)程進(jìn)入臨界區(qū)的調(diào)度原則是什么?參考答案:一個(gè)進(jìn)程進(jìn)入臨界區(qū)的調(diào)度原則是:如果有若干進(jìn)程要求進(jìn)入空閑的臨界區(qū),一次僅允許一個(gè)進(jìn)程進(jìn)入。任何時(shí)候,處于臨界區(qū)內(nèi)的進(jìn)程不可多于一個(gè)。如已有進(jìn)程進(jìn)入自己的臨界區(qū),則其它所有試圖進(jìn)入臨界區(qū)的進(jìn)程必須等待。進(jìn)入臨界區(qū)的進(jìn)程要在有限時(shí)間內(nèi)退出,以便其它進(jìn)程能及時(shí)進(jìn)入自己的臨界區(qū)。如果進(jìn)程不能進(jìn)入自己的臨界區(qū),則應(yīng)讓出CPU,避免進(jìn)程出現(xiàn)“忙等”現(xiàn)象。6簡述信號量的定義和作用。P、V操作原語是如何定義的?參考答案:信號量一般是由兩個(gè)成員組成的數(shù)據(jù)結(jié)構(gòu),其中一個(gè)成員是整型變量,表
21、示該信號量的值,它是與相應(yīng)資源的使用情況有關(guān)的;另一個(gè)是指向PCB的指針。當(dāng)多個(gè)進(jìn)程都等待同一信號量時(shí),它們就排成一個(gè)隊(duì)列,由信號量的指針項(xiàng)指出該隊(duì)列的頭。信號量通??梢院唵畏从吵鱿鄳?yīng)資源的使用情況,它與P、V操作原語一起使用可實(shí)現(xiàn)進(jìn)程的同步和互斥。P、V操作原語的定義:P(S):順序執(zhí)行下述兩個(gè)動作:信號量的值減1,即S=S-1;如果S0,則該進(jìn)程繼續(xù)執(zhí)行;如果S0,則把該進(jìn)程的狀態(tài)置為阻塞態(tài),把相應(yīng)的PCB連入該信號量隊(duì)列的末尾,并放棄處理機(jī),進(jìn)行等待(直至其它進(jìn)程在S上執(zhí)行V操作,把它釋放出來為止)。V(S):順序執(zhí)行下述兩個(gè)動作: S值加1,即S=S+1;如果S0,則該進(jìn)程繼續(xù)運(yùn)行;如
22、果S0,則釋放信號量隊(duì)列上的第一個(gè)PCB(即信號量指針項(xiàng)所指向的PCB)所對應(yīng)的進(jìn)程(把阻塞態(tài)改為就緒態(tài)),執(zhí)行V操作的進(jìn)程繼續(xù)運(yùn)行。7計(jì)算機(jī)系統(tǒng)中產(chǎn)生死鎖的根本原因是什么?參考答案:計(jì)算機(jī)系統(tǒng)中產(chǎn)生死鎖的根本原因是:資源有限且操作不當(dāng)。此外,進(jìn)程推進(jìn)順序不合適也可以引發(fā)的死鎖。8發(fā)生死鎖的四個(gè)必要條件是什么?參考答案:發(fā)生死鎖的四個(gè)必要條件是:互斥條件,不可搶占條件,占有且申請條件,循環(huán)等待條件。9一般解決死鎖的方法有哪三種?參考答案:一般解決死鎖的方法有:死鎖的預(yù)防、死鎖的避免、死鎖的檢測與恢復(fù)。10是否所有的共享資源都是臨界資源?為什么?參考答案:不是所有的共享資源都是臨界資源。因?yàn)榕R界
23、資源是一次僅允許一個(gè)進(jìn)程使用的資源,而系統(tǒng)中有很多資源可以讓多個(gè)進(jìn)程同時(shí)使用,例如硬盤、正文段等。四、應(yīng)用題1用如圖所示的進(jìn)程狀態(tài)轉(zhuǎn)換圖能夠說明有關(guān)處理機(jī)管理的大量內(nèi)容。圖進(jìn)程狀態(tài)轉(zhuǎn)換圖試回答:什么事件引起每次顯著的狀態(tài)變遷?下述狀態(tài)變遷因果關(guān)系能否發(fā)生?為什么?參考答案:就緒運(yùn)行:CPU空閑,就緒態(tài)進(jìn)程被調(diào)度程序選中。運(yùn)行就緒:正在運(yùn)行的進(jìn)程用完了本次分配給它的CPU時(shí)間片。運(yùn)行阻塞:運(yùn)行態(tài)進(jìn)程因某種條件未滿足而放棄對CPU的占用,如等待讀文件。阻塞就緒:阻塞態(tài)進(jìn)程所等待的事件發(fā)生了,例如讀數(shù)據(jù)的操作完成。下述狀態(tài)變遷:(A)21:可以。運(yùn)行進(jìn)程用完了本次分配給它的時(shí)間片,讓出CPU,從就緒
24、隊(duì)列中選一個(gè)進(jìn)程投入運(yùn)行。(B)32:不可以。任何時(shí)候一個(gè)進(jìn)程只能處于一種狀態(tài),它既然由運(yùn)行態(tài)變?yōu)樽枞麘B(tài),就不能再由運(yùn)行態(tài)變?yōu)榫途w態(tài)。(C)41:可以。某一阻塞態(tài)進(jìn)程等待的事件出現(xiàn)了,而且此時(shí)就緒隊(duì)列為空,該進(jìn)程進(jìn)入就緒隊(duì)列后馬上又被調(diào)度運(yùn)行。2系統(tǒng)中只有一臺打印機(jī),有三個(gè)用戶的程序在執(zhí)行過程中都要使用打印機(jī)輸出計(jì)算結(jié)果。設(shè)每個(gè)用戶程序?qū)?yīng)一個(gè)進(jìn)程。問:這三個(gè)進(jìn)程間有什么樣的制約關(guān)系?試用P、V操作寫出這些進(jìn)程使用打印機(jī)的算法。參考答案:因?yàn)榇蛴C(jī)是一種臨界資源,所以這三個(gè)進(jìn)程只能互斥使用這臺打印機(jī),即一個(gè)用戶的計(jì)算結(jié)果打印完之后,另一個(gè)用戶再打印。設(shè)三個(gè)進(jìn)程分別為A、B和C。設(shè)一個(gè)互斥信號量
25、mutex,其初值為1。3判斷下列同步問題的算法是否正確?若有錯,請指出錯誤原因并予以改正。設(shè)A,B兩個(gè)進(jìn)程共用一個(gè)緩沖區(qū)Q,A向Q寫入信息,B從Q讀出信息,算法框圖如圖左側(cè)所示。設(shè)A,B為兩個(gè)并發(fā)進(jìn)程,它們共享一個(gè)臨界資源。其運(yùn)行臨界區(qū)的算法框圖如圖右側(cè)所示。參考答案:這個(gè)算法不對。因?yàn)锳、B兩個(gè)進(jìn)程共用一個(gè)緩沖區(qū)Q,如果A先運(yùn)行,且信息數(shù)量足夠多,那么緩沖區(qū)Q中的信息就會發(fā)生后面的沖掉前面的,造成信息丟失,B就不能從Q中讀出完整的信息。改正:A、B兩進(jìn)程要同步使用緩沖區(qū)Q。為此,設(shè)立兩個(gè)信號量:empty表示緩沖區(qū)Q為空,初值為1;full表示緩沖區(qū)Q為滿,初值為0。算法框圖如圖1所示。這
26、個(gè)算法不對。因?yàn)锳、B兩個(gè)進(jìn)程是并發(fā)的,它們共享一個(gè)臨界資源,所以二者應(yīng)互斥地使用該臨界資源,在進(jìn)入臨界區(qū)時(shí)不存在先A后B的時(shí)序關(guān)系,而是哪個(gè)進(jìn)程先到一步就先進(jìn)入自己的臨界區(qū)。改正:A、B兩個(gè)進(jìn)程應(yīng)互斥地進(jìn)入臨界區(qū)。為此,設(shè)立一個(gè)信號量:互斥信號量mutex,其初值為1。算法框圖如圖2所示。圖1 圖 2 4設(shè)有無窮多個(gè)信息,輸入進(jìn)程把信息逐個(gè)寫入緩沖區(qū),輸出進(jìn)程逐個(gè)從緩沖區(qū)中取出信息。設(shè)緩沖區(qū)是環(huán)形的,編號為0n-1,in和out分別是輸入進(jìn)程和輸出進(jìn)程使用的指針,初值都是0。n 為使兩類進(jìn)程實(shí)行同步操作,設(shè)置了3個(gè)信號量:兩個(gè)計(jì)數(shù)信號量full和empty,一個(gè)互斥信號量mutex。full
27、:表示放有信息的緩沖區(qū)數(shù),其初值為( 0 )。empty:表示可供使用的緩沖區(qū)數(shù),其初值為( n )。mutex:表示互斥信號量,初值為( 1 )。n 填寫相應(yīng)的P、V操作。輸入進(jìn)程Input:while (TRUE) P(empty);P(mutex);信息送往buffer(in);in=(in+1)mod N; /*以N為模*/V(mutex);V(full);輸出進(jìn)程Output:while (TRUE)P(full);P(mutex);從buffer(out)中取出信息;out=(out+1)mod N; /*以N為模*/V(mutex);V(empty);5設(shè)有一臺計(jì)算機(jī),有兩條I/
28、O通道,分別接一臺卡片輸入機(jī)和一臺打印機(jī)??ㄆ瑱C(jī)把一疊卡片逐一輸入到緩沖區(qū)B1中,加工處理后再搬到緩沖區(qū)B2中,并在打印機(jī)上打印結(jié)果。問:系統(tǒng)要設(shè)幾個(gè)進(jìn)程來完成這個(gè)任務(wù)?各自的工作是什么?這些進(jìn)程間有什么樣的相互制約關(guān)系?用P、V操作寫出這些進(jìn)程的同步算法。參考答案:系統(tǒng)可設(shè)三個(gè)進(jìn)程來完成這個(gè)任務(wù):R進(jìn)程負(fù)責(zé)從卡片輸入機(jī)上讀入卡片信息,輸入到緩沖區(qū)B1中;C進(jìn)程負(fù)責(zé)從緩沖區(qū)B1中取出信息,進(jìn)行加工處理,之后將結(jié)果送到緩沖區(qū)B2中;P進(jìn)程負(fù)責(zé)從緩沖區(qū)B2中取出信息,并在打印機(jī)上印出。 R進(jìn)程受C進(jìn)程影響,B1放滿信息后R進(jìn)程要等待等C進(jìn)程將其中信息全部取走,才能繼續(xù)讀入信息;C進(jìn)程受R進(jìn)程和P進(jìn)
29、程的約束:B1中信息放滿后C進(jìn)程才可從中取出它們,且B2被取空后,C進(jìn)程才可將加工結(jié)果送入其中;P進(jìn)程受C進(jìn)程的約束:B2中信息放滿后P進(jìn)程才可從中取出它們,進(jìn)行打印。信號量含義及初值:B1full緩沖區(qū)B1滿,初值為0;B1empty緩沖區(qū)B1空,初值為0;B2full緩沖區(qū)B2滿,初值為0;B2empty緩沖區(qū)B2空,初值為0;6設(shè)有無窮多個(gè)信息,輸入進(jìn)程把信息逐個(gè)寫入緩沖區(qū),輸出進(jìn)程逐個(gè)從緩沖區(qū)中取出信息。針對下述兩種情況:緩沖區(qū)是環(huán)形的,最多可容納n個(gè)信息;緩沖區(qū)是無窮大的。試分別回答下列問題:輸入、輸出兩組進(jìn)程讀/寫緩沖區(qū)需要什么條件?用P、V操作寫出輸入、輸出兩組進(jìn)程的同步算法,并
30、給出信號量含義及初值。參考答案:針對容量為n的環(huán)形緩沖區(qū),輸入、輸出兩組進(jìn)程讀/寫緩沖區(qū)需要的條件為: 輸入進(jìn)程和輸出進(jìn)程需同步執(zhí)行,即輸入進(jìn)程寫緩沖區(qū)后,輸出進(jìn)程才可以讀; 由于緩沖區(qū)容量有限,因此任一時(shí)刻所有輸入進(jìn)程存放信息的單元數(shù)不能超過緩沖區(qū)的總?cè)萘浚╪); 同理,所有輸出進(jìn)程取出信息的總量不能超過所有輸入進(jìn)程當(dāng)前寫入信息的總數(shù)。設(shè)緩沖區(qū)的編號為0n-1,in和out分別是輸入進(jìn)程和輸出進(jìn)程使用的指針,指向下面可用的緩沖區(qū),初值都是0。為使兩類進(jìn)程實(shí)行同步操作,應(yīng)設(shè)置三個(gè)信號量:兩個(gè)計(jì)數(shù)信號量full和empty,一個(gè)互斥信號量mutex。full:表示放有信息的緩沖區(qū)數(shù),其初值為0。
31、empty:表示可供使用的緩沖區(qū)數(shù),其初值為n。mutex:互斥信號量,初值為1,表示各進(jìn)程互斥進(jìn)入臨界區(qū),保證任何時(shí)候只有一個(gè)進(jìn)程使用緩沖區(qū)。下面是解決這個(gè)問題的算法描述。輸入進(jìn)程Input:while (TRUE) P(empty); P(mutex); 信息送往buffer(in); in=(in+1)mod N; /*以N為模*/V(mutex);V(full); 輸出進(jìn)程Output:while (TRUE)P(full);P(mutex);從buffer(out)中取出信息;out=(out+1)mod N; /*以N為模*/V(mutex);V(empty); 當(dāng)緩沖區(qū)是無窮大時(shí)
32、,輸入進(jìn)程存放信息的單元數(shù)不再受緩沖區(qū)總?cè)萘康南拗?,因此,可以不設(shè)信號量empty。另外,算法中的in=(in+1)mod N; 和out=(out+1)mod N; 修改為in=in+1;和out=out+1;即可,其余的算法不變。輸入進(jìn)程Input:while (TRUE) P(mutex); 信息送往buffer(in);in=in+1; V(mutex);V(full); 輸出進(jìn)程Output:while (TRUE)P(full);P(mutex);從buffer(out)中取出信息;out=out+1; V(mutex); 第3章處理機(jī)調(diào)度一、單項(xiàng)選擇題1為了使系統(tǒng)中各部分資源得到
33、均衡使用,就必須選擇對資源需求不同的作業(yè)進(jìn)行合理搭配,這項(xiàng)工作是由()完成的。A. 作業(yè)調(diào)度B. 中級調(diào)度C. 對換D. 進(jìn)程調(diào)度2操作系統(tǒng)中必不可少的調(diào)度是()。A. 作業(yè)調(diào)度B. 進(jìn)程調(diào)度C. 中級調(diào)度D. 對換3作業(yè)生存期共經(jīng)歷四個(gè)狀態(tài),它們是提交、后備、()和完成。a. 執(zhí)行b. 等待c. 開始d. 就緒4作業(yè)調(diào)度程序從處于()狀態(tài)的隊(duì)列中選取適當(dāng)?shù)淖鳂I(yè)調(diào)入主存運(yùn)行。A. 執(zhí)行B. 后備C. 提交D. 完成5放在輸入井中的作業(yè)處于()狀態(tài)。A. 提交B. 后備C. 完成D. 執(zhí)行6在操作系統(tǒng)中,JCB是指()。A. 程序控制塊B. 作業(yè)控制塊C. 進(jìn)程控制塊D. 文件控制塊7作業(yè)調(diào)度的
34、關(guān)鍵在于()。A. 有一個(gè)較好的操作環(huán)境B. 選擇恰當(dāng)?shù)淖鳂I(yè)調(diào)度算法C. 用戶作業(yè)準(zhǔn)備充分D. 選擇恰當(dāng)?shù)倪M(jìn)程管理程序8作業(yè)調(diào)度選擇一個(gè)作業(yè)裝入主存后,該作業(yè)能否占用處理器必須由()來決定。A. 進(jìn)程調(diào)度B. 作業(yè)控制C. 設(shè)備管理D. 驅(qū)動調(diào)度9在操作系統(tǒng)中,作業(yè)處于()狀態(tài)時(shí),已處于進(jìn)程的管理之下。A. 完成B. 后備C. 阻塞D. 執(zhí)行10作業(yè)一旦進(jìn)入內(nèi)存即為執(zhí)行狀態(tài),與之相關(guān)的進(jìn)程在作業(yè)進(jìn)入內(nèi)存時(shí)予以創(chuàng)建,該進(jìn)程的初始狀態(tài)為()。A. 提交態(tài)B. 就緒態(tài)C. 阻塞態(tài)D. 運(yùn)行態(tài)11進(jìn)程調(diào)度是根據(jù)一定的調(diào)度算法,從()隊(duì)列中挑選出合適的進(jìn)程。A. 等待B. 運(yùn)行C. 阻塞D. 就緒12在
35、批處理系統(tǒng)中,周轉(zhuǎn)時(shí)間是()。A. 作業(yè)等待時(shí)間和運(yùn)行時(shí)間之和B. 作業(yè)的相對等待時(shí)間C. 作業(yè)被調(diào)度進(jìn)入主存到運(yùn)行完畢的時(shí)間D. 作業(yè)運(yùn)行時(shí)間13從系統(tǒng)的角度出發(fā),希望批處理控制方式下進(jìn)入輸入井的作業(yè)()盡可能小。A. 執(zhí)行時(shí)間B. 周轉(zhuǎn)時(shí)間C. 等待裝入主存時(shí)間D. 平均周轉(zhuǎn)時(shí)間14設(shè)某作業(yè)進(jìn)入輸入井的時(shí)間為S,開始運(yùn)行的時(shí)間為R,得到計(jì)算結(jié)果的時(shí)間為E,則該作業(yè)的周轉(zhuǎn)時(shí)間T為()。A. T=(S+R)+ EB. T=ERC. T=ES D. T=E(S+R)15現(xiàn)有3個(gè)作業(yè)同時(shí)到達(dá),每個(gè)作業(yè)的計(jì)算時(shí)間都是1小時(shí),它們在一臺CPU上按單道方式運(yùn)行,則平均周轉(zhuǎn)時(shí)間為()小時(shí)。A. 1B. 3
36、C. 2 D. 616按照作業(yè)到達(dá)的先后次序調(diào)度作業(yè),排隊(duì)等待時(shí)間最長的作業(yè)被優(yōu)先調(diào)度,這是指()調(diào)度算法。A. 短作業(yè)優(yōu)先法B. 先來先服務(wù)法C. 優(yōu)先級法D. 時(shí)間片輪轉(zhuǎn)法17為了對緊急進(jìn)程或重要進(jìn)程進(jìn)行調(diào)度,調(diào)度算法應(yīng)采用()。A. 優(yōu)先級法B. 時(shí)間片輪轉(zhuǎn)法C. 短作業(yè)優(yōu)先法D. 先來先服務(wù)法18在作業(yè)調(diào)度中,若采用優(yōu)先級調(diào)度算法,為了盡可能使CPU和外部設(shè)備并行工作,有如下三個(gè)作業(yè):J1以計(jì)算為主,J2以輸入輸出為主,J3計(jì)算和輸入輸出兼顧,則它們的優(yōu)先級從高到低的排列順序是()。A. J2,J1,J3B. J1,J2,J3C. J3,J2,J1 D. J2,J3,J119為了使計(jì)算
37、機(jī)在運(yùn)行過程中能及時(shí)處理內(nèi)部和外部發(fā)生的各種突發(fā)性事件,現(xiàn)代操作系統(tǒng)采用了()機(jī)制。A. 中斷B. 調(diào)度C. 查詢D. 進(jìn)程20下列中斷中,可能要人工介入的中斷是()。A. 時(shí)鐘中斷B. 硬件故障中斷C. 程序性中斷D. 輸入輸出中斷21下列中斷類型中,屬于自愿性中斷事件的是()。A. 訪管中斷B. 程序性中斷C. 硬件故障中斷D. 外部中斷22當(dāng)硬件中斷裝置發(fā)現(xiàn)有事件發(fā)生,就會中斷正在占用CPU的程序執(zhí)行,讓操作系統(tǒng)的()占用CPU。A. 系統(tǒng)調(diào)用程序B. 作業(yè)管理程序C. 中斷處理程序D. 文件管理程序23Linux系統(tǒng)中的shell是負(fù)責(zé)()的模塊。A. 解釋并執(zhí)行來自終端的外部命令B.
38、 解釋并執(zhí)行來自終端的命令C. 解釋并執(zhí)行來自終端的內(nèi)部命令D. 進(jìn)行系統(tǒng)調(diào)用24Linux系統(tǒng)中的進(jìn)程調(diào)度采用()。A. 搶占式優(yōu)先級B. 先來先服務(wù)法C. 時(shí)間片輪轉(zhuǎn)法D. 短作業(yè)優(yōu)先法二、判斷題1處理機(jī)調(diào)度可分為三級:高級、中級和低級。在所有的系統(tǒng)中,都必須具備這三級調(diào)度。()2處理機(jī)調(diào)度的主要目的就是為了分配處理機(jī)。()3作業(yè)調(diào)度選中一個(gè)作業(yè)后,與該作業(yè)相關(guān)的進(jìn)程即占有CPU運(yùn)行。()4作業(yè)調(diào)度往往選擇對資源需求不同的作業(yè)進(jìn)行合理搭配,使得系統(tǒng)中個(gè)部分資源都得到均衡利用。()5處于后備狀態(tài)的作業(yè)已經(jīng)調(diào)入內(nèi)存中。()6作業(yè)的周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間與選用的調(diào)度算法有關(guān)。()7通常,為了提高
39、效率,賦予需要大量計(jì)算的作業(yè)較高優(yōu)先級,賦予需要大量輸入/輸出的作業(yè)較低的優(yōu)先級。()8時(shí)間片輪轉(zhuǎn)法主要用于分時(shí)系統(tǒng)中的進(jìn)程調(diào)度。()9動態(tài)優(yōu)先級算法允許進(jìn)程的優(yōu)先級在運(yùn)行期間不斷改變。()10中斷處理一般分為中斷響應(yīng)和中斷處理兩個(gè)步驟,前者由軟件實(shí)施,后者由硬件實(shí)施。()11一個(gè)進(jìn)程在執(zhí)行過程中可以被中斷事件打斷,當(dāng)相應(yīng)的中斷處理完成后,就一定恢復(fù)該進(jìn)程被中斷時(shí)的現(xiàn)場,使它繼續(xù)執(zhí)行。()12Linux系統(tǒng)中的shell命令語言解釋程序?qū)儆谙到y(tǒng)內(nèi)核部分,實(shí)現(xiàn)用戶與核心的接口。()13Linux系統(tǒng)針對不同類別的進(jìn)程提供了3種不同的調(diào)度策略。()三、簡答題1處理機(jī)調(diào)度的主要目的是什么?參考答案:
40、處理機(jī)調(diào)度的主要目的就是為了分配處理機(jī)。2高級調(diào)度與低級調(diào)度的主要功能是什么?為什么要引入中級調(diào)度?參考答案:高級調(diào)度的主要功能是根據(jù)一定的算法,從輸入的一批作業(yè)中選出若干個(gè)作業(yè),分配必要的資源,如內(nèi)存、外設(shè)等,為它建立相應(yīng)的用戶作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)進(jìn)程(如輸入、輸出進(jìn)程),最后把它們的程序和數(shù)據(jù)調(diào)入內(nèi)存,等待進(jìn)程調(diào)度程序?qū)ζ鋱?zhí)行調(diào)度,并在作業(yè)完成后作善后處理工作。低級調(diào)度的主要功能是根據(jù)一定的算法將CPU分派給就緒隊(duì)列中的一個(gè)進(jìn)程。為了使內(nèi)存中同時(shí)存放的進(jìn)程數(shù)目不至于太多,有時(shí)就需要把某些進(jìn)程從內(nèi)存中移到外存上,以減少多道程序的數(shù)目,為此設(shè)立了中級調(diào)度。3處理機(jī)調(diào)度一般可分為哪三級?其中
41、哪一級調(diào)度必不可少?為什么?參考答案:處理機(jī)調(diào)度一般可分為高級調(diào)度(作業(yè)調(diào)度)、中級調(diào)度和低級調(diào)度(進(jìn)程調(diào)度)。其中進(jìn)程調(diào)度必不可少。進(jìn)程只有在得到CPU之后才能真正活動起來,所有就緒進(jìn)程經(jīng)由進(jìn)程調(diào)度才能獲得CPU的控制權(quán);實(shí)際上,進(jìn)程調(diào)度完成一臺物理的CPU轉(zhuǎn)變成多臺虛擬(或邏輯)的CPU的工作;進(jìn)程調(diào)度的實(shí)現(xiàn)策略往往決定了操作系統(tǒng)的類型,其算法優(yōu)劣直接影響整個(gè)系統(tǒng)的性能。4作業(yè)在其存在過程中分為哪四種狀態(tài)?參考答案:作業(yè)在其存在過程中分為提交、后備、執(zhí)行和完成四種狀態(tài)。5作業(yè)提交后是否馬上放在內(nèi)存中?為什么?參考答案:在批處理系統(tǒng)中,作業(yè)提交后并不是馬上放在內(nèi)存中。其原因是:內(nèi)存容量有限,
42、而提交的作業(yè)數(shù)量可能很多,無法把它們都放入內(nèi)存;即使都放入內(nèi)存,當(dāng)內(nèi)存中可以同時(shí)運(yùn)行的作業(yè)太多時(shí),會影響系統(tǒng)的性能,如使周轉(zhuǎn)時(shí)間太長;另外,大量作業(yè)被收容在輸入井(磁盤)中,可以選擇對資源需求不同的作業(yè)進(jìn)行合理搭配,再放在內(nèi)存中,從而使得系統(tǒng)中各部分資源都得到均衡利用。6在操作系統(tǒng)中,引起進(jìn)程調(diào)度的主要因素有哪些?參考答案:在操作系統(tǒng)中,引起進(jìn)程調(diào)度的主要因素有:正在運(yùn)行的進(jìn)程完成任務(wù),或等待資源,或運(yùn)行到時(shí);核心處理完中斷或陷入事件后,發(fā)現(xiàn)系統(tǒng)中“重新調(diào)度”標(biāo)志被置上。7作業(yè)調(diào)度與進(jìn)程調(diào)度二者間如何協(xié)調(diào)工作?參考答案:作業(yè)調(diào)度和進(jìn)程調(diào)度是CPU主要的兩級調(diào)度。作業(yè)調(diào)度是宏觀調(diào)度,它所選擇的作
43、業(yè)只是具有獲得處理機(jī)的資格,但尚未占有處理機(jī),不能立即在其上實(shí)際運(yùn)行。而進(jìn)程調(diào)度是微觀調(diào)度,它根據(jù)一定的算法,動態(tài)地把處理機(jī)實(shí)際地分配給所選擇的進(jìn)程,使之真正活動起來。8在確定調(diào)度方式和調(diào)度算法時(shí),常用的評價(jià)準(zhǔn)則有哪些?參考答案:在確定調(diào)度方式和調(diào)度算法時(shí),常用的評價(jià)準(zhǔn)則有:CPU利用率,吞吐量,周轉(zhuǎn)時(shí)間,就緒等待時(shí)間和響應(yīng)時(shí)間。9簡述先來先服務(wù)法、時(shí)間片輪轉(zhuǎn)法和優(yōu)先級調(diào)度算法的實(shí)現(xiàn)思想。參考答案:先來先服務(wù)調(diào)度算法(FCFS)的實(shí)現(xiàn)思想:按作業(yè)(或進(jìn)程)到來的先后次序進(jìn)行調(diào)度,即先來的先得到執(zhí)行。時(shí)間片輪轉(zhuǎn)法(RR)的實(shí)現(xiàn)思想:系統(tǒng)把所有就緒進(jìn)程按先入先出的原則排成一個(gè)隊(duì)列。新來的進(jìn)程加到就
44、緒隊(duì)列末尾。每當(dāng)執(zhí)行進(jìn)程調(diào)度時(shí),進(jìn)程調(diào)度程序總是選出就緒隊(duì)列的隊(duì)首進(jìn)程,讓它在CPU上運(yùn)行一個(gè)時(shí)間片的時(shí)間。當(dāng)進(jìn)程用完分給它的時(shí)間片后,調(diào)度程序便停止該進(jìn)程的運(yùn)行,并把它放入就緒隊(duì)列的末尾;然后,把CPU分給就緒隊(duì)列的隊(duì)首進(jìn)程。優(yōu)先級調(diào)度算法的實(shí)現(xiàn)思想:是從就緒隊(duì)列中選出優(yōu)先級最高的進(jìn)程,把CPU分給它使用。又分為非搶占式優(yōu)先級法和搶占式優(yōu)先級法。前者是:當(dāng)前占用CPU的進(jìn)程一直運(yùn)行下去,直到完成任務(wù)或者因等待某事件而主動讓出CPU時(shí),系統(tǒng)才讓另一個(gè)優(yōu)先級高的進(jìn)程占用CPU。后者是:當(dāng)前進(jìn)程在運(yùn)行過程中,一旦有另一個(gè)優(yōu)先級更高的進(jìn)程出現(xiàn)在就緒隊(duì)列中,進(jìn)程調(diào)度程序就停止當(dāng)前進(jìn)程的運(yùn)行,強(qiáng)行將CP
45、U分給那個(gè)進(jìn)程。10中斷響應(yīng)主要做哪些工作?由誰來做?參考答案:中斷響應(yīng)主要做的工作是:中止當(dāng)前程序的執(zhí)行;保存原程序的斷點(diǎn)信息(主要是程序計(jì)數(shù)器PC和程序狀態(tài)寄存器PS的內(nèi)容);轉(zhuǎn)到相應(yīng)的處理程序。中斷響應(yīng)由硬件實(shí)施。11一般中斷處理的主要步驟是什么?參考答案:一般中斷處理的主要步驟是:保存被中斷程序的現(xiàn)場,分析中斷原因,轉(zhuǎn)入相應(yīng)處理程序進(jìn)行處理,恢復(fù)被中斷程序現(xiàn)場(即中斷返回)。12簡述一條shell命令在Linux系統(tǒng)中的實(shí)現(xiàn)過程。參考答案:一條shell命令在Linux系統(tǒng)中的執(zhí)行過程基本上按照如下步驟:讀取用戶由鍵盤輸入的命令行。分析命令,以命令名作為文件名,其他參數(shù)改造為系統(tǒng)調(diào)用e
46、xecve( )內(nèi)部處理所要求的形式。終端進(jìn)程調(diào)用fork( )建立一個(gè)子進(jìn)程。終端進(jìn)程本身用系統(tǒng)調(diào)用wait4( )來等待子進(jìn)程完成(如果是后臺命令,則不等待)。當(dāng)子進(jìn)程運(yùn)行時(shí)調(diào)用execve( ),子進(jìn)程根據(jù)文件名(即命令名)到目錄中查找有關(guān)文件(這是命令解釋程序構(gòu)成的文件),調(diào)入內(nèi)存,執(zhí)行這個(gè)程序(即執(zhí)行這條命令)。如果命令末尾有&號(后臺命令符號),則終端進(jìn)程不用執(zhí)行系統(tǒng)調(diào)用wait4( ),而是立即發(fā)提示符,讓用戶輸入下一個(gè)命令,轉(zhuǎn)步驟(1)。如果命令末尾沒有&號,則終端進(jìn)程要一直等待,當(dāng)子進(jìn)程(即運(yùn)行命令的進(jìn)程)完成工作后要終止,向父進(jìn)程(終端進(jìn)程)報(bào)告,此時(shí)終端進(jìn)程醒來,在做必要
47、的判別等工作后,終端進(jìn)程發(fā)提示符,讓用戶輸入新的命令,重復(fù)上述處理過程。13Linux系統(tǒng)中,進(jìn)程調(diào)度的方式和策略是什么?對用戶進(jìn)程和核心進(jìn)程如何調(diào)度?參考答案:Linux系統(tǒng)的調(diào)度方式基本上采用“搶占式優(yōu)先級”方式。Linux系統(tǒng)針對不同類別的進(jìn)程提供了三種不同的調(diào)度策略,即適合于短實(shí)時(shí)進(jìn)程的FIFO,適合于每次運(yùn)行需要較長時(shí)間實(shí)時(shí)進(jìn)程的時(shí)間片輪轉(zhuǎn)法,適合于交互式的分時(shí)進(jìn)程傳統(tǒng)的UNIX調(diào)度策略。Linux系統(tǒng)核心為每個(gè)進(jìn)程計(jì)算出一個(gè)優(yōu)先級,高優(yōu)先級的進(jìn)程優(yōu)先得到運(yùn)行。在運(yùn)行過程中,當(dāng)前進(jìn)程的優(yōu)先級隨時(shí)間遞減,這樣就實(shí)現(xiàn)了“負(fù)反饋”作用,即經(jīng)過一段時(shí)間之后,原來級別較低的進(jìn)程就相對“提升”了
48、級別,從而有機(jī)會得到運(yùn)行。Linux系統(tǒng)的調(diào)度方式基本上采用“搶占式優(yōu)先級”方式,當(dāng)進(jìn)程在用戶模式下運(yùn)行時(shí),不管它是否自愿,核心在一定條件下(如該進(jìn)程的時(shí)間片用完或等待I/O)可以暫時(shí)中止其運(yùn)行,而調(diào)度其他進(jìn)程運(yùn)行。一旦進(jìn)程切換到內(nèi)核模式下運(yùn)行時(shí),就不受以上限制,而一直運(yùn)行下去,僅在重新回到用戶模式之前才會發(fā)生進(jìn)程調(diào)度。四、應(yīng)用題1某分時(shí)系統(tǒng)的進(jìn)程出現(xiàn)如圖所示的狀態(tài)變化。(1)你認(rèn)為該系統(tǒng)采用的進(jìn)程調(diào)度算法是()。A. 優(yōu)先級法B. 先來先服務(wù)法C. 時(shí)間片輪轉(zhuǎn)法D. 最佳置換法(2)根據(jù)以下A-F的提示,標(biāo)識圖中從到所示的每一個(gè)狀態(tài)變化的原因。 C:運(yùn)行的進(jìn)程啟動打印機(jī),等待打印 D:打印工
49、作結(jié)束,阻塞的進(jìn)程排入就緒隊(duì)列尾部 F:磁盤傳輸信息結(jié)束,阻塞的進(jìn)程排入就緒隊(duì)列尾部 B:時(shí)間片到,運(yùn)行的進(jìn)程排入就緒隊(duì)列尾部 E:等待磁盤讀文件工 A:進(jìn)程被選中,變成運(yùn)行態(tài)2下表給出了作業(yè)1,2,3的提交時(shí)間和運(yùn)行時(shí)間,時(shí)間單位為小時(shí),以十進(jìn)制進(jìn)行計(jì)算。表1 作業(yè)1,2,3的提交時(shí)間和運(yùn)行時(shí)間(1)若采用先來先服務(wù)調(diào)度算法,則調(diào)度次序是()。A. l、2、3 B. 3、2、1 C. 2、3、1 D. 1、3、2(2)計(jì)算各個(gè)作業(yè)的周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間。作業(yè)1的周轉(zhuǎn)時(shí)間是(8.0);作業(yè)2的周轉(zhuǎn)時(shí)間是(11.6);作業(yè)3的周轉(zhuǎn)時(shí)間是(12.0);3個(gè)作業(yè)的平均周轉(zhuǎn)時(shí)間是(10.5)。3.假
50、定在單CPU條件下有下列要執(zhí)行的作業(yè):作業(yè)運(yùn)行時(shí)間優(yōu)先數(shù)1103211323414552作業(yè)到來的時(shí)間是按作業(yè)編號順序進(jìn)行的(即后面作業(yè)依次比前一個(gè)作業(yè)遲到一個(gè)時(shí)間單位)。用一個(gè)執(zhí)行時(shí)間圖描述在下列算法時(shí)各自執(zhí)行這些作業(yè)的情況:先來先服務(wù)法FCFS、時(shí)間片輪轉(zhuǎn)法RR(時(shí)間片1)和非搶占式優(yōu)先級。對于上述每種算法,各個(gè)作業(yè)的周轉(zhuǎn)時(shí)間是多少?平均周轉(zhuǎn)時(shí)間是多少?對于上述每種算法,各個(gè)作業(yè)的帶權(quán)周轉(zhuǎn)時(shí)間是多少?平均帶權(quán)周轉(zhuǎn)時(shí)間是多少?參考答案:先來先服務(wù)法(FCFS)時(shí)間片輪轉(zhuǎn)法(RR)非搶占式優(yōu)先級和先來先服務(wù)法(FCFS)時(shí)間片輪轉(zhuǎn)法(RR)非搶占式優(yōu)先級注意:教材中按照Linux系統(tǒng)的約定,優(yōu)
51、先數(shù)小的優(yōu)先級高。本題給出的條件中直接給出的是優(yōu)先級,注意數(shù)大的則優(yōu)先級高,考試的時(shí)候也是這樣要求的。第4章存儲管理一、單項(xiàng)選擇題1通常,用戶編寫的程序中所使用的地址是()。A. 絕對地址B. 邏輯地址C. 物理地址D. 內(nèi)存地址2可由CPU調(diào)用執(zhí)行的程序所對應(yīng)的地址空間為()。A. 邏輯地址空間B. 符號名空間C. 虛擬地址空間D. 物理空間3下列存儲器中,速度最快的是()。A. 內(nèi)存B. 高速緩存CacheC. CPU內(nèi)部寄存器D. 硬盤4下列存儲器中,容量最大的是()。A. 內(nèi)存B. CPU內(nèi)部寄存器C. 高速緩存CacheD. 硬盤5把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存物理地址的過程稱作()。A. 連
52、接B. 編譯C. 運(yùn)行D. 重定位6經(jīng)過(),目標(biāo)程序可以不經(jīng)過任何改動而裝入物理內(nèi)存單元。A. 編譯或匯編B. 靜態(tài)重定位C. 存儲擴(kuò)充D. 動態(tài)重定位7動態(tài)重定位是在程序()期間,每次訪問內(nèi)存之前進(jìn)行重定位。A. 裝入B. 編譯C. 執(zhí)行D. 修改8在目標(biāo)程序裝入內(nèi)存時(shí),一次性完成地址修改的方式是().A. 動態(tài)重定位B. 靜態(tài)連接C. 靜態(tài)重定位D. 動態(tài)連接9在分時(shí)系統(tǒng)中,可將進(jìn)程不需要或暫時(shí)不需要的部分移到外存,讓出內(nèi)存空間以調(diào)入其他所需數(shù)據(jù),稱為()。A. 虛擬技術(shù)B. 對換技術(shù)C. 物理擴(kuò)充D. 覆蓋技術(shù)10下列存儲管理方案中,不采用動態(tài)重定位的是()。A. 可變分區(qū)B. 固定分
53、區(qū)C. 段式管理D. 頁式管理11分區(qū)管理要求對每一個(gè)進(jìn)程都分配()的內(nèi)存單元。A. 若干地址不連續(xù)B. 若干連續(xù)的頁面C. 若干不連續(xù)的頁面D. 地址連續(xù)12固定分區(qū)中各分區(qū)的大小是()。A. 相同或者不同,但預(yù)先固定B. 隨進(jìn)程個(gè)數(shù)而定C. 相同的D. 根據(jù)進(jìn)程要求確定13在存儲管理中,為實(shí)現(xiàn)地址映射,硬件應(yīng)提供兩個(gè)寄存器,一個(gè)是基址寄存器。另一個(gè)是()。A. 程序狀態(tài)字寄存器B. 通用寄存器C. 限長寄存器D. 控制寄存器14可重定位分區(qū)存儲管理采用的地址轉(zhuǎn)換公式是()。A. 絕對地址=下限寄存器值+邏輯地址B. 絕對地址=基址寄存器值+邏輯地址C. 絕對地址=塊號塊長+頁內(nèi)地址D. 絕對地址=界限寄存器值+邏輯地址15最先適應(yīng)分配算法把空閑區(qū)()A. 按地址順序從小到大登
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度湖南省勞動合同(教育行業(yè))
- 離婚房產(chǎn)公證協(xié)議書
- 住宿服務(wù)合同書
- 企業(yè)環(huán)保技術(shù)創(chuàng)新及綠色制造戰(zhàn)略規(guī)劃
- 民用建筑施工合同
- 旅游度假村開發(fā)建設(shè)合同
- 企業(yè)可持續(xù)發(fā)展成本效益分析
- 大數(shù)據(jù)平臺建設(shè)委托代理協(xié)議
- 股份轉(zhuǎn)讓意向合同
- 三農(nóng)用無人機(jī)使用及維護(hù)指南
- 2025年安徽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫一套
- 開啟新征程??點(diǎn)亮新學(xué)期+課件=2024-2025學(xué)年高一下學(xué)期開學(xué)家長會
- 壓力容器考試審核考試題庫(容標(biāo)委氣體協(xié)會聯(lián)合)
- 人教版(2025版)七年級下冊英語UNIT 1 Animal Friends 單元整體教學(xué)設(shè)計(jì)(6個(gè)課時(shí))
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃及安排表
- 2025年山東商務(wù)職業(yè)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 海洋自主無人系統(tǒng)跨域協(xié)同任務(wù)規(guī)劃模型與技術(shù)發(fā)展研究
- 校園體育活動的多元化與健康促進(jìn)
- 新中式養(yǎng)生知識培訓(xùn)課件
- 山東省臨沂市地圖矢量課件模板()
- 學(xué)習(xí)2025年全國教育工作會議心得體會
評論
0/150
提交評論