操作系統(tǒng)課后答案_第1頁
操作系統(tǒng)課后答案_第2頁
操作系統(tǒng)課后答案_第3頁
操作系統(tǒng)課后答案_第4頁
操作系統(tǒng)課后答案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章 緒論1什么是操作系統(tǒng)的基本功能?答:操作系統(tǒng)的職能是管理和控制汁算機系統(tǒng)中的所有硬、軟件資源,合理地組織計算 機工作流程,并為用戶提供一個良好的工作環(huán)境和友好的接口。操作系統(tǒng)的基本功能包括: 處理機管理、存儲管理、設(shè)備管理、信息管理(文件系統(tǒng)管理)和用戶接口等。 2什么是批處理、分時和實時系統(tǒng)?各有什么特征? 答:批處理系統(tǒng)(batchprocessingsystem):操作員把用戶提交的作業(yè)分類,把一批作業(yè)編成一個作業(yè)執(zhí)行序列,由專門編制的監(jiān)督程序(monitor)自動依次處理。其主要特征是:用戶脫機使用計算機、成批處理、多道程序運行。 分時系統(tǒng)(timesharingoperati

2、onsystem):把處理機的運行時間分成很短的時間片,按時間片輪轉(zhuǎn)的方式,把處理機分配給各進(jìn)程使用。其主要特征是:交互性、多用戶同時性、獨立性。 實時系統(tǒng)(realtimesystem):在被控對象允許時間范圍內(nèi)作出響應(yīng)。其主要特征是:對實時信息分析處理速度要比進(jìn)入系統(tǒng)快、要求安全可靠、資源利用率低。 3多道程序(multiprogramming)和多重處理(multiprocessing)有何區(qū)別? 答;多道程序(multiprogramming)是作業(yè)之間自動調(diào)度執(zhí)行、共享系統(tǒng)資源,并不是真正地同時執(zhí)行多個作業(yè);而多重處理(multiprocessing)系統(tǒng)配置多個CPU,能真正同時執(zhí)

3、行多道程序。要有效使用多重處理,必須采用多道程序設(shè)計技術(shù),而多道程序設(shè)計原則上不一定要求多重處理系統(tǒng)的支持。 4討論操作系統(tǒng)可以從哪些角度出發(fā),如何把它們統(tǒng)一起來? 答:討論操作系統(tǒng)可以從以下角度出發(fā): (1)操作系統(tǒng)是計算機資源的管理者; (2)操作系統(tǒng)為用戶提供使用計算機的界面; (3)用進(jìn)程管理觀點研究操作系統(tǒng),即圍繞進(jìn)程運行過程來討論操作系統(tǒng)。 上述這些觀點彼此并不矛盾,只不過代表了同一事物(操作系統(tǒng))站在不同的角度來看待。每一種觀點都有助于理解、分析和設(shè)計操作系統(tǒng)。第二章 作業(yè)管理和用戶接口1. 什么是作業(yè)?作業(yè)步? 答:把在一次應(yīng)用業(yè)務(wù)處理過程中,從輸入開始到輸出結(jié)束,用戶要求計算

4、機所做的有關(guān)該次業(yè)務(wù)處理的全部工作稱為一個作業(yè)。作業(yè)由不同的順序相連的作業(yè)步組成。作業(yè)步是在一個作業(yè)的處理過程中,計算機所做的相對獨立的工作。如,編輯輸入是一個作業(yè)步,它產(chǎn)生源程序文件;編譯也是一個作業(yè)步,它產(chǎn)生目標(biāo)代碼文件。2. 作業(yè)由哪幾部分組成?各有什么功能? 答:作業(yè)由三部分組成:程序、數(shù)據(jù)和作業(yè)說明書。程序和數(shù)據(jù)完成用戶所要求的業(yè)務(wù)處理工作,作業(yè)說明書則體現(xiàn)用戶的控制意圖。3作業(yè)的輸入方式有哪幾種?各有何特點 答:作業(yè)的輸入方式有5種:聯(lián)機輸入方式、脫機輸入方式、直接耦合方式、SPOOLING (Simultaneous Peripheral OperationsOnline)系統(tǒng)和

5、網(wǎng)絡(luò)輸入方式,各有如下特點: (1)聯(lián)機輸入方式:用戶和系統(tǒng)通過交互式會話來輸入作業(yè)。 (2)脫機輸入方式:又稱預(yù)輸入方式,利用低檔個人計算機作為外圍處理機進(jìn)行輸入處理,存儲在后備存儲器上,然后將此后援存儲器連接到高速外圍設(shè)備上和主機相連,從而在較短的時間內(nèi)完成作業(yè)的輸入工作。 (3)直接耦合方式:把主機和外圍低檔機通過一個公用的大容量外存直接耦合起來,從而省去了在脫機輸入中那種依靠人工干預(yù)宋傳遞后援存儲器的過程。 (4)SPOOLING系統(tǒng):可譯為外圍設(shè)備同時聯(lián)機操作。在SPOOLING系統(tǒng)中,多臺外圍設(shè)備通過通道或DMA器件和主機與外存連接起來,作業(yè)的輸入輸出過程由主機中的操作系統(tǒng)控制。

6、(5)網(wǎng)絡(luò)輸入方式:網(wǎng)絡(luò)輸入方式以上述幾種輸入方式為基礎(chǔ),當(dāng)用戶需要把在計算機網(wǎng)絡(luò)中某一臺主機上輸入的信息傳送到同一網(wǎng)中另一臺主機上進(jìn)行操作或執(zhí)行時,就構(gòu)成了網(wǎng)絡(luò)輸入方式。4試述SPOOLING系統(tǒng)的工作原理。答:在SPOOLING系統(tǒng)中,多臺外圍設(shè)備通過通道或DMA器件和主機與外存連接起來,作業(yè)的輸入輸出過程由主機中的操作系統(tǒng)控制。操作系統(tǒng)中的輸入程序包含兩個獨立的過程,一個過程負(fù)責(zé)從外部設(shè)備把信息讀入緩沖區(qū),另一個過程是寫過程,負(fù)責(zé)把緩沖區(qū)中的信息送入到外存輸入井中。在系統(tǒng)輸入模塊收到作業(yè)輸入請求后,輸入管理模塊中的讀過程負(fù)責(zé)將信息從輸入裝置讀入緩沖區(qū)。當(dāng)緩沖區(qū)滿時,由寫過程將信息從緩沖區(qū)

7、寫到外存輸入井中。讀過程和寫過程反復(fù)循環(huán),直到一個作業(yè)輸入完畢。當(dāng)讀過程讀到一個硬件結(jié)束標(biāo)志后,系統(tǒng)再次驅(qū)動寫過程把最后一批信息寫入外存并調(diào)用中斷處理程序結(jié)束該次輸入。然后,系統(tǒng)為該作業(yè)建立作業(yè)控制塊JCB,從而使輸入井中的作業(yè)進(jìn)入作業(yè)等待隊列,等待作業(yè)調(diào)度程序選中后進(jìn)入內(nèi)存。5作業(yè)說明書和作業(yè)控制塊有何異同? 答:作業(yè)說明書主要包含三方面內(nèi)容:作業(yè)的基本描述、作業(yè)控制描述和資源要求描述。作業(yè)基本描述主要包括用戶名、作業(yè)名、使用的編程語言名、允許的最大處理時間等。而作業(yè)控制描述則大致包括作業(yè)在執(zhí)行過程中的控制方式,例如是脫機控制還是聯(lián)機控制、各作業(yè)步的操作順序以及作業(yè)不能正常執(zhí)行時的處理等。資

8、源要求描述包括要求內(nèi)存大小、外設(shè)種類和臺數(shù)、處理機優(yōu)先級、所需處理時間、所需庫函數(shù)或?qū)嵱贸绦虻?。而作業(yè)控制塊是作業(yè)說明書在系統(tǒng)中生成的一張表格,該表格登記該作業(yè)所要求的資源情況、預(yù)計執(zhí)行時間和執(zhí)行優(yōu)先級等。從而,操作系統(tǒng)通過該表了解到作業(yè)要求,并分配資源和控制作業(yè)中程序和數(shù)據(jù)的編譯、鏈接、裝入和執(zhí)行等。6操作系統(tǒng)為用戶提供哪些接口?它們的區(qū)別是什么? 答:操作系統(tǒng)為用戶提供兩個接口,一個是系統(tǒng)為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計算機系統(tǒng)。另一個接口是系統(tǒng)調(diào)用,編程人員使用系統(tǒng)調(diào)用來請求操作系統(tǒng)提供服務(wù),例如申請和釋放外設(shè)等類資源、控制程序的執(zhí)行速度等。7

9、作業(yè)控制方式有哪幾種?調(diào)查你周圍的計算機的作業(yè)控制方式。 答:作業(yè)控制的主要方式有兩種:脫機方式和聯(lián)機方式。 脫機控制方式利用作業(yè)控制語言來編寫表示用戶控制意圖的作業(yè)控制程序,也就是作業(yè)說明書。作業(yè)控制語言的語句就是作業(yè)控制命令。不同的批處理系統(tǒng)提供不同的作業(yè)控制語言。聯(lián)機控制方式不同于脫機控制方式,它不要求用戶填寫作業(yè)說明書,系統(tǒng)只為用戶提供一組鍵盤或其他操作方式的命令。用戶使用操作系統(tǒng)提供的操作命令和系統(tǒng)會話,交互地控制程序執(zhí)行和管理計算機系統(tǒng)。8什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般用戶程序有什么區(qū)別?與庫函數(shù)和實用程序又有什么區(qū)別? 答:系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口。編程人員利用

10、系統(tǒng)調(diào)用,在源程序一級動態(tài)請求和釋放系統(tǒng)資源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機器硬件部分相關(guān)的工作以及控制程序的執(zhí)行速度等。因此,系統(tǒng)調(diào)用像一個黑箱子那樣,對用戶屏蔽了操作系統(tǒng)的具體動作而只提供有關(guān)的功能。它與一般用戶程序、庫函數(shù)和實用程序的區(qū)別是:系統(tǒng)調(diào)用程序是在核心態(tài)執(zhí)行,調(diào)用它們需要一個類似于硬件中斷處理的中斷處理機制來提供系統(tǒng)服務(wù)。9簡述系統(tǒng)調(diào)用的實現(xiàn)過程。 答;用戶在程序中使用系統(tǒng)調(diào)用,給出系統(tǒng)凋用名和函數(shù)后,即產(chǎn)生一條相應(yīng)的陷入指令,通過陷入處理機制調(diào)用服務(wù),引起處理機中斷,然后保護(hù)處理機現(xiàn)場,取系統(tǒng)調(diào)用功能號并尋找子程序入口,通過入口地址表來調(diào)用系統(tǒng)子程序,然后返回用戶程序

11、繼續(xù)執(zhí)行。10.為什么說分時系統(tǒng)沒有作業(yè)的概念? 答:因為在分時系統(tǒng)中,每個用戶得到的時間片有限,用戶的程序和數(shù)據(jù)信息直接輸入到內(nèi)存工作區(qū)中和其他程序一起搶占系統(tǒng)資源投入執(zhí)行,而不必進(jìn)入外存輸入井等待作業(yè)調(diào)度程序選擇。因此,分時系統(tǒng)沒有作業(yè)控制表,也沒有作業(yè)調(diào)度程序。11.試述UNIX的主要特點。 答:UNIX的主要特點是: (1)UNIX系統(tǒng)是一個可供多用戶同時操作的交互式分時操作系統(tǒng), (2)為了向用戶提供交互式功能和使得用戶可以利用UNIX系統(tǒng)的功能,UNIX系統(tǒng)向用戶提供了兩種友好的界面或接口:系統(tǒng)調(diào)用和命令; (3)UNIX系統(tǒng)具有一個可裝卸的分層樹型結(jié)構(gòu)文件系統(tǒng),該文件系統(tǒng)使用方便

12、、搜索簡單, (4)UNIX系統(tǒng)把所有外部設(shè)備都當(dāng)成文件,并分別賦予它們對應(yīng)的文件名。從而,用戶可以像使用文件那樣使用任一設(shè)備而不必了解該設(shè)備的內(nèi)部特性,這既簡化了系統(tǒng)設(shè)計,又方便了用戶; (5)UNIX系統(tǒng)核心程序的絕大部分源代碼和系統(tǒng)上的支持軟件都用C語言編寫。且UNIX系統(tǒng)是一個開放式系統(tǒng),即具有統(tǒng)一的用戶接口,使得UNIX用戶的應(yīng)用程序可在不同的執(zhí)行環(huán)境下運行。 正是由于UNIX具有上述這些特點,使得UNIX系統(tǒng)得到了廣泛的應(yīng)用和發(fā)展。12UNIX操作系統(tǒng)為用戶提供哪些接口?試舉例說明。 答;UNIX系統(tǒng)為用戶提供兩個接口,即面向操作命令的接口Shell和面向編程用戶的接口:系統(tǒng)調(diào)用。

13、常見的Shell命令如:login,logout,vi,emacs,印,rm,ls,cc,link, adduser,chown,dbx,date等;常見的系統(tǒng)調(diào)用如:ioctl,read,write,open,close, creat,execl,flock,stat,mount,fork,wait,exit,socket等。13在你周圍裝有UNIX系統(tǒng)的計算機上,練習(xí)使用后臺命令、管道命令等Shell的基本命令。 答:例1:用Shell語言編制一Shell程序,該程序在用戶輸入年、月之后,自動打印輸出該年該月的日歷: echoPlease input the month:” read mo

14、nth echoPlease input the year:” read year 第三章 用戶管理和配置管理1有A說,一個進(jìn)程是由偽處理機執(zhí)行的一個程序,這話對嗎?為什么? 答:對。 因為偽處理機的概念只有在執(zhí)行時才存在,它表示多個進(jìn)程在單處理機上并發(fā)執(zhí)行的二個調(diào)度單位。因此,盡管進(jìn)程是動態(tài)概念,是程序的執(zhí)行過程,但是,在多個進(jìn)程并行執(zhí)行時,仍然只有一個進(jìn)程占據(jù)處理機執(zhí)行,而其他并發(fā)進(jìn)程則處于就緒或等待狀態(tài)。這些并發(fā)進(jìn)程就相當(dāng)于由偽處理機執(zhí)行的程序。2試比較進(jìn)程和程序的區(qū)別。 答:(1)進(jìn)程是一個動態(tài)概念,而程序是一個靜態(tài)概念,程序是指令的有序集合,無執(zhí)行含義,進(jìn)程則強調(diào)執(zhí)行的過程。 (2)

15、進(jìn)程具有并行特征(獨立性,異步性),程序則沒有。 (3)不同的進(jìn)程可以包含同一個程序,同一程序在執(zhí)行中也可以產(chǎn)生多個進(jìn)程。3我們說程序的并發(fā)執(zhí)行將導(dǎo)致最終結(jié)果失去封閉性廣這話對所有的程序都成立嗎?舉例說明. 答:并非所有程序均成立。 如: Begin local“ Z K:10 print(x) End 上述程序中x是內(nèi)部變量,不可能被外部程序訪問,因此這段程序的運行不會受外部環(huán)境影響。4試比較作業(yè)和進(jìn)程的區(qū)別。 答:一個進(jìn)程是一個程序?qū)δ硞€數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位。作業(yè)是用于需要計算機完成某項任務(wù),而要求計算機所做工作的集合。一個作業(yè)的完成要經(jīng)過作業(yè)提交,作業(yè)收容、作業(yè)執(zhí)行和作

16、業(yè)完成4個階段。而進(jìn)程是已提交完畢的程序所執(zhí)行過程的描述,足資源分配的基本單位。其主要區(qū)別關(guān)系如下: (1)作業(yè)是用戶向計算機提交任務(wù)的任務(wù)實體。在用戶向計算機提交作業(yè)之后,系統(tǒng)將存儲在外存中的作業(yè)等待隊列中等待執(zhí)行。而進(jìn)程則是完成用戶任務(wù)的執(zhí)行實體,是向系統(tǒng)申請分配資源的基本單位。任一進(jìn)程,只要它被創(chuàng)建,總有相應(yīng)的部分存在于內(nèi)存中。 (2)一個作業(yè)可由多個進(jìn)程組成。且必須至少由一個進(jìn)程組成,但反過來不成立。 (3)作業(yè)的概念主要用在批處理系統(tǒng)中。像Unix這樣的分時系統(tǒng)中,則沒有作業(yè)概念。而進(jìn)程的概念則用在幾乎所有的多道程序系統(tǒng)中。5UNIXSystem V中,系統(tǒng)程序所對應(yīng)的正文段未被考慮

17、成進(jìn)程上下文的一部分,為什么? 答:因為系統(tǒng)程序的代碼被用戶程序所共享,因此如果每個進(jìn)程在保存進(jìn)程上下文時,都將系統(tǒng)程序代碼放到其進(jìn)程上下文中,則大大浪費了資源。因此系統(tǒng)程序的代碼不放在進(jìn)程上下文中,而是統(tǒng)一放在核心程序所處的內(nèi)存中。6什么是臨界區(qū)?試舉一臨界區(qū)的例子。 答:臨界區(qū)是指不允許多個并發(fā)進(jìn)程交叉執(zhí)行的一段程序。它是由于不同并發(fā)進(jìn)程的程序段共享公用數(shù)據(jù)或公用數(shù)據(jù)變量而引起的。所以它又被稱為訪問公用數(shù)據(jù)的那段程序。 例如: getspace: Begin local g top=top-1 End release(ad): Begin toptop十1 stacktopad End7并

18、發(fā)進(jìn)程間的制約有哪兩種?引起制約的原因是什么? 答:并發(fā)進(jìn)程所受的制約有兩種:直接制約和間接制約。 直接制約是由并發(fā)進(jìn)程互相共享對方的私有資源所引起的。 間接制約是由競爭共有資源而引起的。8什么是進(jìn)程間的互斥?什么是進(jìn)程間同步? 答:進(jìn)程間的互斥是指:一組并發(fā)進(jìn)程中的一個或多個程序段,因共享某一公有資源而導(dǎo)致它們必須以一個不許交叉執(zhí)行的單位執(zhí)行,即不允許兩個以上的共享該資源的并發(fā)進(jìn)程同時進(jìn)入臨界區(qū)。 進(jìn)程間的同步是指:異步環(huán)境下的一組并發(fā)進(jìn)程因直接制約互相發(fā)送消息而進(jìn)行互相合作、互相等待,各進(jìn)程按一定的速度執(zhí)行的過程。9試比較P,V原語法和加鎖法實現(xiàn)進(jìn)程間互斥的區(qū)別。 答:互斥的加鎖實現(xiàn)是這樣

19、的:當(dāng)某個進(jìn)程進(jìn)入臨界區(qū)之后,它將鎖上臨界區(qū),直到它退出臨界區(qū)時為止。并發(fā)進(jìn)程在申請進(jìn)入臨界區(qū)時,首先測試該臨界區(qū)是否是上鎖的,如果該臨界區(qū)已被鎖住,則該進(jìn)程要等到該臨界區(qū)開鎖之后才有可能獲得臨界區(qū)。但是加鎖法存在如下弊端:(1)循環(huán)測試鎖定位將損耗較多的CPU計算時間; (2)產(chǎn)生不公平現(xiàn)象。為此,P,V原語法采用信號量管理相應(yīng)臨界區(qū)的公有資源,信號量的數(shù)值僅能由P,V原語操作改變,而P,V原語執(zhí)行期間不允許中斷發(fā)生。其過程是這樣的:當(dāng)某個進(jìn)程正在臨界區(qū)內(nèi)執(zhí)行時,其他進(jìn)程如果執(zhí)行了P原語,則該進(jìn)程并不像lock時那樣因進(jìn)不了臨界區(qū)而返回到lock的起點,等以后重新執(zhí)行測試,而是在等待隊列中等

20、待由其他進(jìn)程做V原語操作釋放資源后,進(jìn)入臨界區(qū),這時P原語才算真正結(jié)束。若有多個進(jìn)程做P原語操作而進(jìn)入等待狀態(tài)之后,一旦有V原語釋放資源,則等待進(jìn)程中的一個進(jìn)入臨界區(qū),其余的繼續(xù)等待??傊?,加鎖法是采用反復(fù)測試lock而實現(xiàn)互斥的,存在CPU浪費和不公平現(xiàn)像,P,V原語使用了信號量,克服了加鎖法的弊端。15什么是線程?試述線程與進(jìn)程的區(qū)別, 答;線程是在進(jìn)程內(nèi)用于調(diào)度和占有處理機的基本單位,它由線程控制表、存儲線程上下文的用戶棧以及核心棧組成。線程可分為用戶級線程、核心級線程以及用戶核心混合型線程等類型。其中用戶級線程在用戶態(tài)下執(zhí)行,CPU調(diào)度算法和各線程優(yōu)先級都由用戶設(shè)置,與操作系統(tǒng)內(nèi)核無關(guān)

21、。核心級線程的調(diào)度算法及線程優(yōu)先級的控制權(quán)在操作系統(tǒng)內(nèi)核?;旌闲途€程的控制權(quán)則在用戶和操作系統(tǒng)內(nèi)核二者。線程與進(jìn)程的主要區(qū)別有: (1)進(jìn)程是資源管理的基本單位,它擁有自己的地址空間和各種資源,例如內(nèi)存空間、外部設(shè)備等;線程只是處理機調(diào)度的基本單位,它只和其他線程一起共享進(jìn)程資源,但自己沒有任何資源。 (2)以進(jìn)程為單位進(jìn)行處理機切換和調(diào)度時,由于涉及到資源轉(zhuǎn)移以及現(xiàn)場保護(hù)等問題,將導(dǎo)致處理機切換時間變長,資源利用率降低。以線程為單位進(jìn)行處理機切換和調(diào)度時,由于不發(fā)生資源變化,特別是地址空間的變化,處理機切換的時間較短,從而處理機效率也較高。 (3)對用戶來說,多線程可減少用戶的等待時間。提高

22、系統(tǒng)的響應(yīng)速度。例如,當(dāng)一個進(jìn)程需要對兩個不同的服務(wù)器進(jìn)行遠(yuǎn)程過程凋用時,對于無線程系統(tǒng)的操作系統(tǒng)來說需要順序等待兩個不同調(diào)用返回結(jié)果后才能繼續(xù)執(zhí)行,且在等待中容易發(fā)生進(jìn)程調(diào)度。對于多線程系統(tǒng)而言,則可以在同一進(jìn)程中使用不同的線程同時進(jìn)行遠(yuǎn)程過程調(diào)用,從而縮短進(jìn)程的等待時間。 (4)線程和進(jìn)程一樣,都有自己的狀態(tài)也有相應(yīng)的同步機制,不過,由于線程沒有單獨的數(shù)據(jù)和程序空間,因此,線程不能像進(jìn)程的數(shù)據(jù)與程序那樣,交換到外存存儲空間。從而線程沒有掛起狀態(tài)。 (5)進(jìn)程的調(diào)度、同步等控制大多由操作系統(tǒng)內(nèi)核完成,而線程的控制既可以由操作系統(tǒng)內(nèi)核進(jìn)行,也可以由用戶控制進(jìn)行。第四章 進(jìn)程管理1什么是分級調(diào)度

23、?分時系統(tǒng)中有作業(yè)調(diào)度的概念嗎?如果沒有,為什么? 答:處理機調(diào)度問題實際上也是處理機的分配問題。顯然只有那些參與競爭處理及所必需的資源都已得到滿足的進(jìn)程才能享有競爭處理機的資格。這時它們處于內(nèi)存就緒狀態(tài)。這些必需的資源包括內(nèi)存、外設(shè)及有關(guān)數(shù)據(jù)結(jié)構(gòu)等。從而,在進(jìn)程有資格競爭處理機之前,作業(yè)調(diào)度程序必須先調(diào)用存儲管理、外設(shè)管理程序,并按一定的選擇順序和策略從輸入井中選擇出幾個處于后備狀態(tài)的作業(yè),為它們分配資源和創(chuàng)建進(jìn)程,使它們獲得競爭處理機的資格。另外,由于處于執(zhí)行狀態(tài)下的作業(yè)一般包括多個進(jìn)程,而在單機系統(tǒng)中,每一時刻只能有一個進(jìn)程占有處理機,這樣,在外存中,除了處于后備狀態(tài)的作業(yè)外,還存在處于

24、就緒狀態(tài)而等待得到內(nèi)存的作業(yè)。我們需要有一定的方法和策略為這部分作業(yè)分配空間。因此處理機調(diào)度需要分級。 一般來說,處理機調(diào)度可分為4級; (1)作業(yè)調(diào)度: 又稱宏觀調(diào)度,或高級調(diào)度。 (2)交換調(diào)度:又稱中級調(diào)度。其主要任務(wù)是按照給定的原則和策略,將處于外存交換區(qū)中的就緒態(tài)或等待狀態(tài)或內(nèi)存等待狀態(tài)的進(jìn)程交換到外存交換區(qū)。交換調(diào)度主要涉及到內(nèi)存管理與擴充。因此在有些書本中也把它歸入內(nèi)存管理部分。 (3)進(jìn)程調(diào)度:又稱微觀調(diào)度或低級調(diào)度。其主要任務(wù)是按照某種策略和方法選取一個處于就緒狀態(tài)的進(jìn)程占用處理機。在確立了占用處理機的進(jìn)程之后,系統(tǒng)必須進(jìn)行進(jìn)程上下文切換以建立與占用處理機進(jìn)程相適應(yīng)的執(zhí)行環(huán)境

25、。 (4)線程調(diào)度:進(jìn)程中相關(guān)堆棧和控制表等的調(diào)度。 在分時系統(tǒng)中,一般不存在作業(yè)調(diào)度,而只有線程調(diào)度、進(jìn)程調(diào)度和交換調(diào)度。這是因為在分時系統(tǒng)中,為了縮短響應(yīng)時間,作業(yè)不是建立在外存,而是直接建立在內(nèi)存中。在分時系統(tǒng)中,一旦用戶和系統(tǒng)的交互開始,用戶馬上要進(jìn)行控制。因此,分時系統(tǒng)中沒有作業(yè)提交狀態(tài)和后備狀態(tài)。分時系統(tǒng)的輸入信息經(jīng)過終端緩沖區(qū)為系統(tǒng)直接接收,或立即處理,或經(jīng)交換調(diào)度暫存外存中。 2試述作業(yè)調(diào)度的主要功能。 答: 作業(yè)調(diào)度的主要功能是:按一定的原則對外存輸入井上的大量后備作業(yè)進(jìn)行選擇,給選出的作業(yè)分配內(nèi)存、輸入輸出設(shè)備等必要的資源,并建立相應(yīng)進(jìn)程,使該作業(yè)的相關(guān)進(jìn)程獲得競爭處理機的

26、權(quán)利。另外,當(dāng)作業(yè)執(zhí)行完畢時,還負(fù)責(zé)回收系統(tǒng)資源。3作業(yè)調(diào)度的性能評價標(biāo)準(zhǔn)有哪些?這些性能評價標(biāo)準(zhǔn)在任何情況下都能反映調(diào)度策略的優(yōu)劣嗎? 答:對于批處理系統(tǒng),由于主要用于計算,因而對于作業(yè)的周轉(zhuǎn)時間要求較高。從而作業(yè)的平均周轉(zhuǎn)時間或平均帶權(quán)周轉(zhuǎn)時間被用來衡量調(diào)度程序的優(yōu)劣。但對于分時系統(tǒng)來說,平均響應(yīng)時間又被用來衡量調(diào)度策略的優(yōu)劣。對于分時系統(tǒng), 除了要保證系統(tǒng)吞吐量大、資源利用率高之外,還應(yīng)保證用戶能夠容忍的響應(yīng)時間。因此,在分時系統(tǒng)中,僅僅用周轉(zhuǎn)時間或帶權(quán)周轉(zhuǎn)時間來衡量調(diào)度性能是不夠的。 對于實時系統(tǒng), 衡量調(diào)度算法優(yōu)劣的主要標(biāo)志則是滿足用戶要求的時限時間。4進(jìn)程調(diào)度的功能有哪些? 答:進(jìn)

27、程調(diào)度的功能有: (1)記錄和保存系統(tǒng)中所有進(jìn)程的執(zhí)行情況; (2)選擇占有處理機的進(jìn)程; (3)進(jìn)行進(jìn)程上下文切換。5進(jìn)程調(diào)度的時機有哪幾種? 答:進(jìn)程調(diào)度的時機有: (1)正在執(zhí)行的進(jìn)程執(zhí)行完畢。這時如果不選擇新的就緒進(jìn)程執(zhí)行,將浪費處理機資源。 (2)執(zhí)行中進(jìn)程自己調(diào)用阻塞原語將自己阻塞起來進(jìn)入睡眠等待狀態(tài)。 (3)執(zhí)行中進(jìn)程調(diào)用了P原語操作,從而因資源不足而被阻塞:或調(diào)用了V原語操作激活了等待資源的進(jìn)程隊列。 (4)執(zhí)行中進(jìn)程提出IO請求后被阻塞。 (5)在分時系統(tǒng)中時間片已經(jīng)用完。 (6)在執(zhí)行完系統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時,可看做系統(tǒng)進(jìn)程執(zhí)行完畢,從而調(diào)度選擇一新的用戶進(jìn)程執(zhí)

28、行。 (7)在CPU執(zhí)行方式是可剝奪時,還有:就緒隊列中的某進(jìn)程的優(yōu)先級變得高于當(dāng)前執(zhí)行進(jìn)程的優(yōu)先級,從而也將引發(fā)進(jìn) 程調(diào)度。6進(jìn)程上下文切換由哪幾部分組成?描述進(jìn)程上下文切換過程。 答:進(jìn)程上下文切換由以下4個步驟組成; (1)決定是否作上下文切換以及是否允許作上下文切換。包括對進(jìn)程調(diào)度原因的檢查分析,以及當(dāng)前執(zhí)行進(jìn)程的資格和CPU執(zhí)行方式的檢查等。在操作系統(tǒng)中,上下文切換程序并不是每時每刻都在檢查和分析是否可作上下文切換,它們設(shè)置有適當(dāng)?shù)臅r機。 (2)保存當(dāng)前執(zhí)行進(jìn)程的上下文。這里所說的當(dāng)前執(zhí)行進(jìn)程,實際上是指調(diào)用上下文切換程序之前的執(zhí)行進(jìn)程。如果上下文切換不是被那個當(dāng)前執(zhí)行進(jìn)程所調(diào)用,且

29、不屬于該進(jìn)程,則所保存的上下文應(yīng)是先前執(zhí)行進(jìn)程的上下文,或稱為“老”進(jìn)程上下文。顯然,上下文切換程序不能破壞“老”進(jìn)程的上下文結(jié)構(gòu)。 (3)使用進(jìn)程調(diào)度算法,選擇一處于就緒狀態(tài)的進(jìn)程。 (4)恢復(fù)或裝配所選進(jìn)程的上下文,將CPU控制權(quán)交到所選進(jìn)程手中。7為什么說在進(jìn)程上下文切換過程中,上下文切換程序不能破壞“老”進(jìn)程的上下文結(jié)構(gòu)? 答: 因為如果在進(jìn)程上下文切換中破壞了老的進(jìn)程上下文,等到CPU調(diào)度到該老進(jìn)程執(zhí)行時,就不能正確地恢復(fù)其停止執(zhí)行前的狀態(tài)了。第五章 處理器管理1. 存儲管理的主要功能是什么? 答:存儲管理的主要功能包括以下幾點: (1)在硬件的支持下完成統(tǒng)一管理內(nèi)存和外存之間數(shù)據(jù)和

30、程序段自動交換的虛擬存儲 (2)將多個虛存的一維線性空間或多維線性空間變換到內(nèi)存的唯一的一維物理線性地 (3)控制內(nèi)外存之間的數(shù)據(jù)傳輸。 (4)實現(xiàn)內(nèi)存的分配和回收。 (5)實現(xiàn)內(nèi)存信息的共享與保護(hù)。2什么是虛擬存儲器?其特點是什么? 答:由進(jìn)程中的目標(biāo)代碼、數(shù)據(jù)等的虛擬地址組成的虛擬空間稱為虛擬存儲器。虛擬存儲器不考慮物理存儲器的大小和信息存放的實際位置,只規(guī)定每個進(jìn)程中相互關(guān)聯(lián)信息的相對位置。每個進(jìn)程都擁有自己的虛擬存儲器,且虛擬存儲器的容量是由計算機的地址結(jié)構(gòu)和尋址方式來確定。實現(xiàn)虛擬存儲器要求有相應(yīng)的地址轉(zhuǎn)換機構(gòu),以便把指令的虛擬地址變換為實際物理地址;另外,由于內(nèi)存空間較小,進(jìn)程只有

31、部分內(nèi)容存放于內(nèi)存中,待執(zhí)行時根據(jù)需要再調(diào)指令入內(nèi)存。3實現(xiàn)地址重定位的方法有哪幾類? 答:實現(xiàn)地址重定位的方法有兩種:靜態(tài)地址重定位和動態(tài)地址重定位。 (1)靜態(tài)地址重定位是在虛空間程序執(zhí)行之前由裝配程序完成地址映射工作。靜態(tài)重定位的優(yōu)點是不需要硬件支持,但是用靜態(tài)地址重定位方法進(jìn)行地址變換無法實現(xiàn)虛擬存儲器。靜態(tài)重定位的另一個缺點是必須占用連續(xù)的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。 (2)動態(tài)地址重定位是在程序執(zhí)行過程中,在CPU訪問內(nèi)存之前由硬件地址變換機構(gòu)將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。動態(tài)地址重定位的主要優(yōu)點有: 可以對內(nèi)存進(jìn)行非連續(xù)分配。 動態(tài)重定位提供了實現(xiàn)虛擬存儲器的基

32、礎(chǔ)。 動態(tài)重定位有利于程序段的共享。 形式化描述:略。4常用的內(nèi)存信息保護(hù)方法有哪幾種?它們各自的特點是什么? 答:常用的內(nèi)存保護(hù)方法有硬件法、軟件法和軟硬件結(jié)合保護(hù)法三種。 上下界保護(hù)法是一種常用的硬件保護(hù)法。上下界存儲保護(hù)技術(shù)要求為每個進(jìn)程設(shè)置對上下界寄存器。上下界寄存器中裝有被保護(hù)程序和數(shù)據(jù)段的起始地址和終止地址。在程序執(zhí)行過程中,在對內(nèi)存進(jìn)行訪問操作時首先進(jìn)行訪問地址合法性檢查,即檢查經(jīng)過重定位之后的內(nèi)存地址是否在上、下界寄存器所規(guī)定的范圍之內(nèi)。若在規(guī)定的范圍之內(nèi),則訪問是合法的;否則是非法的,并產(chǎn)生訪問越界中斷。 保護(hù)鍵法也是一種常用的軟件存儲保護(hù)法。保護(hù)鍵法為每個被保護(hù)存儲塊分配一

33、個單獨的保護(hù)鍵。在程序狀態(tài)字中則設(shè)置相應(yīng)的保護(hù)鍵開關(guān)字段,對不同的進(jìn)程賦予不同的開關(guān)代碼以和被保護(hù)的存儲塊中的保護(hù)鍵匹配。保護(hù)鍵可以沒臂成對讀寫同時保護(hù)的或只對讀寫進(jìn)行單項保護(hù)的。如果開關(guān)字段與保護(hù)鍵匹配或存儲塊未受到保護(hù),則訪問該存儲塊是允許的,否則將產(chǎn)生訪問出錯中斷。另外一種常用的硬軟件內(nèi)存保護(hù)方式是:界限存儲器與CPU的用戶態(tài),核心態(tài)相結(jié)合的保護(hù)方式。在這種保護(hù)方式下,用戶態(tài)進(jìn)程只能訪問那些在界限寄存器所規(guī)定范圍內(nèi)的內(nèi)存部分,而核心態(tài)進(jìn)程則可以訪問整個內(nèi)存地址空間。5如果把DOS的執(zhí)行模式改為保護(hù)模式,起碼應(yīng)做怎樣的修改? 答:如果要把DOS的執(zhí)行模式改成保護(hù)模式,起碼要為每一個進(jìn)程設(shè)置

34、一對上下界寄存器。上下界寄存器中裝有被保護(hù)程序和數(shù)據(jù)段的起始地址和終止地址。在程序執(zhí)行過程中,在對內(nèi)存進(jìn)行訪問操作時首先進(jìn)行訪問地址合法性檢查,即檢查經(jīng)過重定位之后的內(nèi)存地址是否在上、下界寄存器所規(guī)定的范圍之內(nèi)。若在規(guī)定的范圍之內(nèi),則訪問是合法的;否則是非法的,并產(chǎn)生訪問越界中斷。另外,還應(yīng)該把指令的訪問內(nèi)存模式由訪問實際物理地址改為由邏輯地址變換為物理地址的方式。6動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種?比較它們各自的優(yōu)缺點。 答:動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應(yīng)法(FF)、最佳適應(yīng)法(BF)和最壞適應(yīng)法(WF)。 優(yōu)缺點比較: 從搜索速度上看最先適應(yīng)法最佳,最佳適應(yīng)法和最壞適應(yīng)

35、法都要求把不同大小的空閑區(qū)按大小進(jìn)行排隊。 從回收過程來看,最先適應(yīng)法也是最佳,因為最佳適應(yīng)法和最壞適應(yīng)法都必須重新調(diào)整空閑區(qū)的位置。 最佳適應(yīng)法找到的空閑區(qū)是最佳的,但是會造成內(nèi)存碎片較多,影響了內(nèi)存利用率,而最壞適應(yīng)法的內(nèi)存碎片最少,但是對內(nèi)存的請求較多的進(jìn)程有可能分配失敗??傊?,三種算法各有所長,針對不同的請求隊列,它們的效率和功能是不一樣的。75.3節(jié)討論的分區(qū)式管理可以實現(xiàn)虛存嗎?如果不能,需要怎樣修改?試設(shè)計一個分區(qū)式管理實現(xiàn)虛存的程序流程圖。如果能,試說明理由。 答:5.3節(jié)討論的分區(qū)式管理不能實現(xiàn)虛存。如果要實現(xiàn)虛存,可以在分區(qū)的基礎(chǔ)之上對每個分區(qū)內(nèi)部進(jìn)行請求調(diào)頁式管理。程序流

36、程圖:略。8簡述什么是覆蓋?什么是交換?覆蓋和交換的區(qū)別是什么? 答:將程序劃分為若干個功能上相對獨立的程序段,按照程序的邏輯結(jié)構(gòu)讓那些不會同時執(zhí)行的程序段共享同一塊內(nèi)存區(qū)的內(nèi)存擴充技術(shù)就是覆蓋。交換是指先將內(nèi)存某部分的程序或數(shù)據(jù)寫入外存交換區(qū),再從外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi)存中來,并讓其執(zhí)行的一種內(nèi)存擴充技術(shù)。與覆蓋技術(shù)相比,交換不要求程序員給出程序段之間的覆蓋結(jié)構(gòu),而且,交換主要是在進(jìn)程或作業(yè)之間進(jìn)行,而覆蓋則主要在同一個作業(yè)或同一個進(jìn)程內(nèi)進(jìn)行。另外,覆蓋只能覆蓋那些與覆蓋程序段無關(guān)的程序段。9什么是頁式管理?靜態(tài)頁式管理可以實現(xiàn)虛存嗎? 答:頁式管理就是把各進(jìn)程的虛擬空間劃分為

37、若干長度相等的頁面,把指令按頁面大小劃分后存放在內(nèi)存中執(zhí)行或只在內(nèi)存中存放那些經(jīng)常被執(zhí)行或即將被執(zhí)行的頁面,而那些不被經(jīng)常執(zhí)行以及在近期內(nèi)不可能被執(zhí)行的頁面則存放于外存中,按一定規(guī)則調(diào)入的一種內(nèi)存管理方式。 靜態(tài)頁式管理不能實現(xiàn)虛存,這是因為靜態(tài)頁式管理要求進(jìn)程或作業(yè)在執(zhí)行前全部被裝入內(nèi)存,作業(yè)或進(jìn)程的大小仍受內(nèi)存可用頁面數(shù)的限制。10.什么是請求頁式管理?試設(shè)計和描述一個請求頁式管理時的內(nèi)存頁面分配和回收算法(包括缺頁處理部分)。 答:請求頁式管理是動態(tài)頁式內(nèi)存管理的一種,它在作業(yè)或進(jìn)程開始執(zhí)行之前,不把作業(yè)或進(jìn)程的程序段和數(shù)據(jù)段一次性的全部裝入內(nèi)存,而只裝入被認(rèn)為是經(jīng)常反復(fù)執(zhí)行和調(diào)用的工作

38、區(qū)部分。其他部分則在執(zhí)行過程中動態(tài)裝入。請求頁式管理的調(diào)入方式是,當(dāng)需要執(zhí)行某條指令而又發(fā)現(xiàn)它不在內(nèi)存時,或當(dāng)執(zhí)行某條指令需要訪問其他數(shù)據(jù)或指令時,而這些指令和數(shù)據(jù)又不在內(nèi)存中,從而發(fā)生缺頁中斷,系統(tǒng)將外存中相應(yīng)的頁面調(diào)入內(nèi)存。請求頁式管理的內(nèi)存頁面分配和回收算法: 略。11.請求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點。 答:比較常用的頁面置換算法有: (1)隨機淘汰算法(randomglongram)。即隨機地選擇某個用戶頁面并將其換出。 (2)輪轉(zhuǎn)法RR(roundrobin)。輪轉(zhuǎn)法循回?fù)Q出內(nèi)存可用區(qū)內(nèi)一個可以被換出的頁,無論該頁是剛被換進(jìn)或已經(jīng)換進(jìn)內(nèi)存很長時間。 (3

39、)先進(jìn)先出法FIFO(firstinfirstout)。FIFO算法選擇在內(nèi)存駐留時間最長的一頁將其淘汰。 (4)最近最久未使用頁面置換算法IRU(1east recently unused)。該算法的基本思想是:當(dāng)需要淘汰某一頁時,選擇離當(dāng)前時間最近的一段時間內(nèi)最久沒有使用過的頁面先淘汰。 (5)理想型淘汰算法OPT(optimalreplacementalgorithm)。該算法淘汰在訪問串中將來再也不出現(xiàn)的或是在離當(dāng)前最遠(yuǎn)的位置上出現(xiàn)的頁面。14.什么是段式管理?它與頁式管理有何區(qū)別? 答:段式管理就是將程序按照內(nèi)容或過程(函數(shù))關(guān)系分成段,每段擁有自己的名字。一個用戶作業(yè)或進(jìn)程所包含的

40、段對應(yīng)于一個二維線性虛擬空間,也就是一個二維虛擬存儲器。段式管理程序以段為單位分配內(nèi)存,然后通過地址映射機構(gòu)把段式虛擬地址轉(zhuǎn)換成實際的內(nèi)存物理地址。司頁式管理時樣,段式管理也采用只把那些經(jīng)常訪問的段駐留內(nèi)存,而把那些在將來,段時間內(nèi)不被訪問的段放入外存,待需要時自動調(diào)入相關(guān)段的方法實現(xiàn)二維虛擬存儲器。段式管理和頁式管理的主要區(qū)別有: (1)頁式管理中源程序進(jìn)行編譯鏈接時是將主程序、子程序、數(shù)據(jù)區(qū)等按照線性空間的維地址順序排列起來。段式管理則是將程序按照內(nèi)容或過程(函數(shù))關(guān)系分成段,每段擁有自己的名字。一個用戶作業(yè)或進(jìn)程所包含的段對應(yīng)于一個二:維線性虛擬空間,也就是一個二維虛擬存儲器。 (2)同

41、動態(tài)頁式管理一樣,段式管理也提供了內(nèi)外存統(tǒng)管理的虛存實現(xiàn)。與頁式管理不同的是:段式虛存每次交換的是一段有意義的信息,而不是像頁式虛存管理那樣只交換固定大小的頁,從而需要多次的缺頁中斷才能把所需信息完整地調(diào)入內(nèi)存。 (3)在段式管理中,段長可根據(jù)需要動態(tài)增長。這對那些需要不斷增加或改變新數(shù)據(jù)或子程序的段來說,將是非常有好處的。 (4)段式管理便于對具有完整邏輯功能的信息段進(jìn)行共享。 (5)段式管理便于進(jìn)行動態(tài)鏈接,而頁式管理進(jìn)行動態(tài)鏈接的過程非常復(fù)雜。15.段式管理可以實現(xiàn)虛存嗎?如果可以,簡述實現(xiàn)方法。 答:段式管理可以實現(xiàn)虛存。 段式管理把程序按照內(nèi)容或過程(函數(shù))關(guān)系分成段,每段擁有自己的

42、名字。一個用戶作業(yè)或進(jìn)程所包含的段對應(yīng)于個二維線性虛擬空間(段號s與段內(nèi)相對地址w),也就是一個二維虛擬存儲器。段式管理以段為單位分配內(nèi)存,然后通過地址映射機構(gòu)把段式虛擬地址轉(zhuǎn)換成實際的內(nèi)存物理地址。只把那些經(jīng)常訪問的段駐留內(nèi)存,而把那些在將來一段時間內(nèi)不被訪問的段放入外存,待需要時產(chǎn)生缺段中斷,自動調(diào)入。16.為什么要提出段頁式管理?它與段式管理及頁式管理有何區(qū)別? 答:因為段式管理和頁式管理各有所長。段式管理為用戶提供了一個二維的虛擬地址空間,反映了程序的邏輯結(jié)構(gòu),有利于段的動態(tài)增長以及共享和內(nèi)存保護(hù)等,這極大地方便了用戶。而分頁系統(tǒng)則有效地克服了碎片,提高了存儲器的利用效率。從存儲管理的

43、目的來講,主要是方便用戶的程序設(shè)計和提高內(nèi)存的利用率。所以人們提出了將段式管理和頁式管理結(jié)合起來讓其互相取長補短的段頁式管理。段頁式管理與段式和頁式管理相比,其訪問時間較長。因此,執(zhí)行效率低。17.為什么說段頁式管理時的虛擬地址仍是二維的? 答:因為在段頁式內(nèi)存管理中,對每一段內(nèi)的地址空間進(jìn)行分頁式管理只是為了克服在內(nèi)存分配過程中產(chǎn):生的大量碎片,從而提高存儲器的利用效率,它并沒有改變段內(nèi)地址空間的一維結(jié)構(gòu),所以段頁式內(nèi)存管理中的虛擬地址仍然和段式內(nèi)存管理中的虛擬地址一樣,是二維結(jié)構(gòu)的。18.段頁式管理的主要缺點是什么?有什么改進(jìn)辦法? 答:段頁式管理的主要缺點是對內(nèi)存中指令或數(shù)據(jù)進(jìn)行存取時,

44、至少需要對內(nèi)存進(jìn)行三次以上的訪問。第一次是由段表地址寄存器取段表始址后訪問段表,由此取出對應(yīng)段的頁表在內(nèi)存中的地址。第二次則是訪問頁表得到所要訪問的指令或數(shù)據(jù)的物理地址。只有在訪問了段表和頁表之后,第三次才能訪問真正需要訪問的物理單元。顯然。這將大大降低CPU執(zhí)行指令的速度。改進(jìn)辦法是設(shè)置快速聯(lián)想寄存器。在快速聯(lián)想寄存器中存放當(dāng)前最常用的段號s,頁號p和對應(yīng)的內(nèi)存頁面地址與其他控制項。當(dāng)需要訪問內(nèi)存空間某一單元時,可在通過段表、頁表進(jìn)行內(nèi)存地址查找的同時,根據(jù)快速聯(lián)想寄存器查找其段號和頁號。如果所要訪問的段或頁的地址在快速聯(lián)想寄存器中,則系統(tǒng)不再訪問內(nèi)存中的段表、頁表而直接把快速聯(lián)想寄存器中的

45、值與頁內(nèi)相對地址d拼接起來得到內(nèi)存地址。19.什么是局部性原理?什么是抖動?你有什么辦法減少系統(tǒng)的抖動現(xiàn)象? 答:局部性原理是指在幾乎所有程序的執(zhí)行過程中,在一段時間內(nèi),CPU總是集中地訪問程序中的某個部分而不是對程序的所有部分具有平均的訪問概率。抖動是指當(dāng)給進(jìn)程分配的內(nèi)存小于所要求的工作區(qū)時,由于內(nèi)存外存之間交換頻繁,訪問外存的時間和輸入輸出處理時間大大增加,反而造成CPU因等待數(shù)據(jù)而空轉(zhuǎn),使得整個系統(tǒng)性能大大下降。在物理系統(tǒng)中,為防止抖動的產(chǎn)生,在進(jìn)行淘汰或替換時,般總是把缺頁進(jìn)程鎖住,不讓其換出,從而防止抖動發(fā)生。防止抖動發(fā)生的另一個辦法是設(shè)置較大的內(nèi)存工作區(qū)。第八章 外部設(shè)備管理1.

46、設(shè)備管理的目標(biāo)和功能是什么? 答:設(shè)備管理的目標(biāo)是:選擇和分配輸入輸出設(shè)備以便進(jìn)行數(shù)據(jù)傳輸操作;控制輸入輸出設(shè)備和CPU(或內(nèi)存)之間交換數(shù)據(jù),為用戶提供一個友好的透明接口,提高設(shè)備和設(shè)備之間、CPU和設(shè)備之間,以及進(jìn)程和進(jìn)程之間的并行操作,以使操作系統(tǒng)獲得最佳效率。設(shè)備管理的功能是:提供和進(jìn)程管理系統(tǒng)的接口;進(jìn)行設(shè)備分配;實現(xiàn)設(shè)備和設(shè)備、設(shè)備和CPU等之間的并行操作;進(jìn)行緩沖區(qū)管理。 2數(shù)據(jù)傳送控制方式有哪幾種?試比較它們各自的優(yōu)缺點。 答:數(shù)據(jù)傳送控制方式有程序直接控制方式、中斷控制方式、DMA方式和通道方式4種。程序直接控制方式就是由用戶進(jìn)程來直接控制內(nèi)存或CPU和外圍設(shè)備之間的數(shù)據(jù)傳送

47、。它的優(yōu)點是控制簡單,也不需要多少硬件支持。它的缺點是CPU和外圍設(shè)備只能串行工作;設(shè)備之間只能串行工作,無法發(fā)現(xiàn)和處理由于設(shè)備或其他硬件所產(chǎn)生的錯誤。中斷控制方式是利用向CPU發(fā)送中斷的方式控制外圍設(shè)備和CPU之間的數(shù)據(jù)傳送。它的優(yōu)點是大大提高了CPU的利用率且能支持多道程序和設(shè)備的并行操作。它的缺點是由于數(shù)據(jù)緩沖寄存器比較小,如果中斷次數(shù)較多,仍然占用了大量CPU時間;在外圍設(shè)備較多時,由于中斷次數(shù)的急劇增加,可能造成CPU無法響應(yīng)中斷而出現(xiàn)中斷丟失的現(xiàn)象;如果外圍設(shè)備速度比較快,可能會出現(xiàn)CPU來不及從數(shù)據(jù)緩沖寄存器中取走數(shù)據(jù)而丟失數(shù)據(jù)的情況。DMA方式是在外圍設(shè)備和內(nèi)存之間開辟直接的數(shù)

48、據(jù)交換通路進(jìn)行數(shù)據(jù)傳送。它的優(yōu)點是除了在數(shù)據(jù)塊傳送開始時需要CPU的啟動指令,在整個數(shù)據(jù)塊傳送結(jié)束時需要發(fā)中 斷通知CPU進(jìn)行中斷處理之外,不需要CPU的頻繁干涉。它的缺點是在外圍設(shè)備越來越 多的情況下,多個DMA控制器的同時使用,會引起內(nèi)存地址的沖突并使得控制過程進(jìn)一步復(fù)雜化。 通道方式是使用通道來控制內(nèi)存或CPU和外圍設(shè)備之間的數(shù)據(jù)傳送。通道是一個獨立與CPU的專管輸入輸出控制的機構(gòu),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。它有自己的通道指令,這些指令受CPU啟動,并在操作結(jié)束時向CPU發(fā)中斷信號。該方式的優(yōu)點是進(jìn)一步減輕了CPU的工作負(fù)擔(dān),增加了計算機系統(tǒng)的并行工作程度。缺點是增加了額外的硬件

49、,造價昂貴。 3什么是通道?試畫出通道控制方式時的CPU、通道和設(shè)備的工作流程圖。 答:通道是一個獨立與CPU的專管輸入輸出控制的機構(gòu),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。它有自己的通道指令,這些指令受CPU啟動,并在操作結(jié)束時向CPU發(fā)中斷信號。4. 什么是中斷?什么叫中斷處理?什么叫中斷響應(yīng)? 答: 中斷是指計算機在執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行的過程。CPU轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序的過程稱為中斷處理。CPU收到中斷請求后轉(zhuǎn)到相應(yīng)的事件處理程序稱為中斷響應(yīng)。5什么叫關(guān)中斷?什么叫開中斷?什么叫中斷屏蔽? 答:把CPU內(nèi)部的處理機狀態(tài)字PSW的中斷允許位清除從而不允許CPU響應(yīng)中斷叫做關(guān)中斷。設(shè)置CPU內(nèi)部的處理機狀態(tài)字PSW的中斷允許位從而允許CPU響應(yīng)中斷叫做開中

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論