操作系統(tǒng)-110440113-王力_第1頁
操作系統(tǒng)-110440113-王力_第2頁
操作系統(tǒng)-110440113-王力_第3頁
操作系統(tǒng)-110440113-王力_第4頁
操作系統(tǒng)-110440113-王力_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章思考與練習題什么是操作系統(tǒng)?它的主要功能是什么?答:操作系統(tǒng)是配置在計算機硬件上的第一層軟件,是對硬件系統(tǒng)的第一次擴充。從資源管理的角度來看操作系統(tǒng)是用來管理計算機系統(tǒng)的,其任務(wù)是在相互競爭的程序之間有序的控制中央處理機、內(nèi)存儲器以及其他輸入輸出設(shè)備的分配。因此操作系統(tǒng)是控制和管理計算機的軟、硬件資源的,合理地組織計算機的工作流程,以方便用戶使用的程序集合。從用戶的角度來看操作系統(tǒng)是就是一臺虛擬機,是幫助用戶解決問題的設(shè)備,用戶要求它性能穩(wěn)定、可靠,使用起來簡單、靈活。同時還要使用戶便于控制自己的程序運行,其配置的各種子程序來增強用戶的解題能力等作用。什么是多道程序設(shè)計技術(shù)?多道程序設(shè)計技術(shù)的主要特點是什么?答:多道程序設(shè)計技術(shù)可同時把多道程序裝入內(nèi)存,并可使它們交替的執(zhí)行,這樣一來,當正在運行的程序因I/O操作而暫停執(zhí)行、CPU空閑時,系統(tǒng)可調(diào)度另一程序運行,使CPU一直處于忙碌狀態(tài),大幅提高程序的吞吐量,從而降低程序運行所需的費用。特點:(1)、多道,即計算機內(nèi)存里同時存放多道相互獨立的程序。(2)、宏觀上并行,是指同時進入系統(tǒng)的多道程序都處于運行過程中。(3)、微觀上串行,是指在單處理機環(huán)境下,內(nèi)存中多道程序輪流占用CPU,交替執(zhí)行。批處理系統(tǒng)是怎樣的一種操作系統(tǒng)?它的特點是什么?答:批處理系統(tǒng)是一種基本的操作系統(tǒng)。早該系統(tǒng)中,用戶的作業(yè)(包括程序、數(shù)據(jù)及程序的處理步驟)被成批的輸入到計算機中,然后再操作系統(tǒng)的控制之下,用戶的作業(yè)自動執(zhí)行。批處理系統(tǒng)分為單道批處理系統(tǒng)和多道批處理系統(tǒng)。系統(tǒng)對作業(yè)的處理是成批進行的,內(nèi)存里始終只保持一個作業(yè),故稱為單道批處理系統(tǒng)。其特征是:(1)自動性。一批作業(yè)自動的逐一執(zhí)行,無需人工干預(yù)。(2)順序性。作業(yè)進入內(nèi)存中的順序和其完成的順序是完全相同的,即先調(diào)入內(nèi)存的先完成。(3)單道性。內(nèi)存中始終只有一道作業(yè)。一個作業(yè)完成后退出內(nèi)存后一道作業(yè)才可以進入內(nèi)存執(zhí)行。多道批處理系統(tǒng),用戶提交的作業(yè)先存在外存上并排成一個隊列。然后作業(yè)調(diào)度程序按一定的算法從隊列中選擇若干個作業(yè)調(diào)入內(nèi)存,然后由系統(tǒng)建立進程,在進程調(diào)度程序的統(tǒng)一調(diào)度下,若干個程序交替進行。多道批處理系統(tǒng)有以下特征:(1)多道性。內(nèi)存中同時駐留多道作業(yè),使它們并發(fā)執(zhí)行,提高了資源利用率。(2)無序性。作業(yè)進入內(nèi)存中的順序與作業(yè)完成的順序無嚴格的對應(yīng)關(guān)系,即先調(diào)入內(nèi)存的程序也可能較后完成或最后完成。(3)調(diào)度性。從作業(yè)提交到完成,需要經(jīng)過兩次調(diào)度,即作業(yè)調(diào)度和進程調(diào)度。什么是分時系統(tǒng)?什么是實時系統(tǒng)?試從交互性、及時性、獨立性、多路性和可靠性幾個方面比較分時系統(tǒng)和實時系統(tǒng)。答:分時系統(tǒng)。在分時系統(tǒng)中,一個計算機與多個終端設(shè)備連接,每個用戶可以通過終端向計算機發(fā)出命令,請求完成某項工作,而操作系統(tǒng)要分析從終端發(fā)來的命令,完成用戶提出的要求,重復上述交互會話過程,指導完成用戶預(yù)計的全部工作為止。分時操作系統(tǒng)吧處理機時間劃分成很短的時間片輪流分配給各個聯(lián)機用戶程序使用,如果某個作業(yè)在分配給它的時間片用完之前程序還沒執(zhí)行完,該作業(yè)就暫時中斷,等待下輪繼續(xù)執(zhí)行,此時將處理機讓給另一個做作業(yè)使用。這樣每個用戶的要求都能得到快速的響應(yīng),給每一個用戶的感受是他獨占這臺計算機。實時系統(tǒng)。實時操作系統(tǒng)是操作系統(tǒng)的又一種類型.對外部輸入的信息,實時能夠在規(guī)定時間里處理完畢并作出反應(yīng)?!皩崟r”的含義是指計算機對于外來信息能夠及時處理,并在被控對象允許的范圍內(nèi)作出快速反應(yīng)。實時系統(tǒng)對響應(yīng)時間要求比分時系統(tǒng)要求更高,一般要求秒級、毫秒級甚至微妙級的響應(yīng)時間。兩系統(tǒng)的比較:(1)多路性。實時信息處理系統(tǒng)和分時系統(tǒng)一樣具有多路性。對于實時控制系統(tǒng),其多路性主要表現(xiàn)在經(jīng)常對多路的現(xiàn)場信息進行采集以及對多個對象或多個執(zhí)行機構(gòu)進行控制。(2)獨立性。無論實時信息處理系統(tǒng)還是實時控制系統(tǒng),與分時系統(tǒng)一樣具有獨立性。每個終端用戶在向是實時系統(tǒng)提出服務(wù)請求時,是彼此獨立的工作,互不干涉。(3)及時性。實時信息處理系統(tǒng)對及時性的要求分時系統(tǒng)類似,都是以人們能接受的等待時間來確定的。而實時控制系統(tǒng)對及時性的要求更高。一般為秒級,幾百毫秒級,甚至有的要求低于幾百微秒。(4)交互性。實時信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互,僅限于訪問系統(tǒng)中某些專用服務(wù)程序。它不像分時系統(tǒng)那樣想終端用戶提供數(shù)據(jù)處理、資源共享等服務(wù)。實時控制系統(tǒng)的交互性要求系統(tǒng)具有連續(xù)人機對話的功能,即在交互的過程中要對用戶的輸入有一定的記憶和進一步推斷能力。(5)可靠性。分時系統(tǒng)雖然也要求具有可靠性,但實時系統(tǒng)則要求系統(tǒng)高度可靠。因為任何的差錯都可能造成巨大的經(jīng)濟損失,甚至產(chǎn)生無法預(yù)計的后果。因此在實時系統(tǒng)中要采取多級容錯措施,來保證系統(tǒng)的安全性及數(shù)據(jù)的安全性。實時系統(tǒng)分為那倆種類型?答:實時系統(tǒng)分為實時控制系統(tǒng)、實時信息處理系統(tǒng)。操作系統(tǒng)主要特征是什么?答:1、并發(fā)性。并發(fā)是指兩個或兩個以上的事物在同一時間間隔發(fā)生。其并發(fā)性主要體現(xiàn)在以下兩方面,用戶程序與用戶程序之間的并發(fā)執(zhí)行。用戶程序與操作系統(tǒng)程序之間的并發(fā)執(zhí)行。2、共享性。共享是指計算機上的各種資源供在其上運行的程序共同享用。這種共享是在操作系統(tǒng)的統(tǒng)一控制下進行的,共享分為互斥共享方式和共同訪問方式。3、虛擬性。虛擬是指通過某種技術(shù)手段把一個物理實體變成多個邏輯上對應(yīng)物。物理實體是實際存在的,而邏輯實體是虛的。是用戶的一種感覺。4、不確定性。操作系統(tǒng)在一個不確定的環(huán)境中進行,即人們不能對目前正在運行的程序的行為作出判斷。因為在多道程序環(huán)境下,進程的執(zhí)行是“走走停?!钡模趦?nèi)存的多個程序,何時運行,何時暫停、以怎樣的速度向前推進,每個程序需要多長時間完成都是不可預(yù)知的。操作系統(tǒng)與用戶的接口有幾種?它們各自用在什么場合?答:接口有兩種:命令接口和程序接口。命令接口是為了方便用戶控制自己的作業(yè),其分為聯(lián)機命令接口、脫機命令接口和圖形用戶界面接口。程序接口又稱系統(tǒng)調(diào)用,是為用戶在程序一級訪問操作系統(tǒng)功能而設(shè)置的。是用戶取得操作系統(tǒng)功能的唯一途徑?!安僮飨到y(tǒng)是控制硬件的軟件”這一說法確切嗎?為什么?答:不確切。操作系統(tǒng)是配置在硬件上的第一層軟件,是對硬件的第一次擴充。但并不是控制硬件的軟件,操作系統(tǒng)的主要作用是管理計算機系統(tǒng)中的各種軟、硬件資源,使其能被高效的利用來方便用戶。設(shè)內(nèi)存中有三道程序,A、B、C,它們按A→B→C的先后次序執(zhí)行,它們進行“計算”和“I/O操作”的時間如表1-2所示,假設(shè)三道程序使用相同的I/O設(shè)備。操作程序計算I/O操作計算ABC203010305020102010試畫出單道運行時三道程序的時間關(guān)系圖,并計算完成三道程序需要花多少時間。完成三道程序需要200秒。試畫出多道運行時三道程序的時間關(guān)系圖,并計算完成三道程序需要花多少時間。完成三道程序需要120秒將下列左右倆列詞連接起來形成意義最恰當?shù)奈鍖ΑOS 網(wǎng)絡(luò)操作系統(tǒng)OS/2 自由軟件UNIX 多任務(wù)Linux 單任務(wù)WindowsNT 為開發(fā)操作系統(tǒng)而設(shè)計c語言11.選擇一個現(xiàn)代操作系統(tǒng),查找和閱讀相關(guān)的技術(shù)資料,寫一篇關(guān)于該操作系統(tǒng)如何進行內(nèi)存管理、存儲管理、設(shè)備管理和文件管理的文章。批處理系統(tǒng)是怎樣的第二章思考與練習題操作系統(tǒng)中為何要引入進程的概念?為了實現(xiàn)并發(fā)進程之間的合作和協(xié)調(diào),以及保證系統(tǒng)的安全,操作系統(tǒng)在進程管理方面要做哪些工作答:早期的計算機系統(tǒng)只允許以此執(zhí)行一個程序,該程序?qū)ο到y(tǒng)有完全的控制,能訪問系統(tǒng)中的所有資源。現(xiàn)代操作系統(tǒng)允許將多道程序同時調(diào)入內(nèi)存并發(fā)執(zhí)行,這就要求對各種程序提供更嚴格的控制和功能劃分。這樣的要求就產(chǎn)生了進程的概念。進程管理所要做的工作:(1)、為防止操作系統(tǒng)及其關(guān)鍵數(shù)據(jù)結(jié)構(gòu),如PCB等,受到用戶程序的有意或無意的破壞。通常將處理機的執(zhí)行狀態(tài)分為核心態(tài)和用戶態(tài)。(2)、內(nèi)核和原語。內(nèi)核是在計算機硬件上擴充的第一層軟件。操作系統(tǒng)要對這部分軟件進行保護。內(nèi)核是利用原語來實現(xiàn)的。原語是由原子操作構(gòu)成。即所有操作要么全做,要么全不做,不可分割。內(nèi)核包含時鐘管理、中斷處理、原語操作。(3)、進程家族樹。進程控制的職責是對系統(tǒng)中的所有進程實行有效的管理,其主要表現(xiàn)為對一個進程的創(chuàng)建、撤銷,以及進程狀態(tài)的轉(zhuǎn)換控制。通常允許一個進程創(chuàng)建和控制另一個進程。前者稱為父進程,后者稱為子進程。創(chuàng)建父進程的進程稱為祖父進程。子進程又可以創(chuàng)建孫進程。從而形成一個樹結(jié)構(gòu)的進程家族。試描述當前正在進行的進程狀態(tài)改變時,操作系統(tǒng)進行進程切換的步驟。答:就緒狀態(tài)-->運行狀態(tài)進程根據(jù)優(yōu)先級插入到就緒隊列的適當位置。系統(tǒng)進程調(diào)度程序進行程序調(diào)度。運行狀態(tài)-->阻塞狀態(tài)系統(tǒng)收回其占有的資源并能夠調(diào)度程序進行新程序調(diào)度運行?,F(xiàn)代操作系統(tǒng)一般都提供多任務(wù)的環(huán)境,試回答以下問題。為支持多進程的并發(fā)執(zhí)行,系統(tǒng)必須建立哪些關(guān)于進程的數(shù)據(jù)結(jié)構(gòu)?答:建立進程控制塊PCB,不同PCB用鏈表連接起來夠就緒隊列、阻塞隊列。為支持進程狀態(tài)的變遷,系統(tǒng)至少應(yīng)提供哪些進程原語?答:阻塞原語、喚醒原語、掛起原語、激活原語當進程的狀態(tài)變遷時,相應(yīng)的數(shù)據(jù)結(jié)構(gòu)發(fā)生變化嗎?答:創(chuàng)建原語。建立進程PCB,并將進程加入就緒隊列。撤銷原語。刪除進程PCB,并將進程從其隊列中刪除。阻塞原語。將PCB中進程狀態(tài)從運行狀態(tài)變?yōu)樽枞麪顟B(tài),并將進程加入阻塞隊列。喚醒原語。將PCB中進程狀態(tài)從阻塞狀態(tài)變?yōu)榫途w狀態(tài),并將進程加入就緒隊列。什么是控制進程塊?從進程管理、中斷處理、進程通信、文件管理及存儲管理角度設(shè)計進程控制塊應(yīng)包含的內(nèi)容。答:進程控制塊是進程實體的一部分,它是操作系統(tǒng)中最重要的數(shù)據(jù)結(jié)構(gòu)。進程控制塊記錄了,操作所需的用于描述進程情況及控制進程運行的全部信息。進程控制塊包含:(1)進程描述信息。包括進程名,進程標識符,進程所屬用戶名等。(2)處理機狀態(tài)信息。處理機狀態(tài)主要有通用寄存器,指令計數(shù)器,程序狀態(tài)字寄存器,棧指針等內(nèi)容信息構(gòu)成。(3)進程調(diào)度信息。包括進程的狀態(tài)、進程的優(yōu)先級、運行的統(tǒng)計信息、進程阻塞的原因。(4)進程控制和資源占有信息。包括程序入口地址,程序外存地址,進程同步及通信機制,資源占有信息、連接指針。假設(shè)系統(tǒng)就緒隊列中有10個進程,這十個進程輪換執(zhí)行每隔300ms輪換一次,CPU在進程切換時所花費的時間是10ms,試問系統(tǒng)化在進程切換上的開銷占系統(tǒng)整個時間的比例是多少?答:10%(10+300)=3.2%試述線程的特點及其與進程之間的關(guān)系答:線程是進程的一個實體,線程表示進程的一個控制點,執(zhí)行一系列指令。由于一個進程中有多個線程可同時訪問進程的所有資源。因此線程之間的通信要比進程之間的通信要方便的多。同一進程中線程的切換也因現(xiàn)成的輕裝而方便的多。一個進程至少有一個線程。根據(jù)圖2-8回答以下問題。進程發(fā)生狀態(tài)變遷1、3、4、6、7的原因。答:1表示進程創(chuàng)建后,進程進入高優(yōu)先級就緒隊列3表示進程因I/O操作等待某件事而阻塞。4表示進程運行時間片用完。6表示進程I/O操作完成或時間片到了。7表示進程運行完成而退出。系統(tǒng)中常常由于某一進程的狀態(tài)變遷引起另一進程也產(chǎn)生狀態(tài)變遷,這種變遷成為因果變遷。下屬是否是因果變遷:3-2、4-5、7-2、3-6,試說明原因。答:3-->2是因果關(guān)系,當一個程序從運行狀態(tài)變到阻塞狀態(tài)時,CPU空閑時,高優(yōu)先級隊列中的一個進程運行。4-->5是因果關(guān)系,一個程序運行完成,如果高優(yōu)先級就緒隊列為空,則從低優(yōu)先級中調(diào)入一個程序運行7-->2是因果關(guān)系,一個程序運行完成,系統(tǒng)從高優(yōu)先級就緒隊列中調(diào)入一個進程運行。3-->6不是因果關(guān)系,一個程序阻塞是由于自身原因,和另一個程序的等待無關(guān)。根據(jù)此進程狀態(tài)轉(zhuǎn)化圖,說明該系統(tǒng)CPU調(diào)度的策略與效果。答:進程調(diào)度使一個進程因I/O操作進入阻塞狀態(tài)時,造成CPU空閑時,進程調(diào)度程序調(diào)另一個程序進入CPU運行。提高CPU的運行效率,加大系統(tǒng)的吞吐量?;卮鹨韵聠栴}。若系統(tǒng)中沒有運行進程,是否一定沒有就緒進程?為什么?答:是,當CPU空閑時,系統(tǒng)從就緒隊列中調(diào)一個就緒的進程進入CPU運行,只有當就緒隊列為空時,CPU才空閑。若系統(tǒng)中既沒有運行進程,也沒有就緒進程,系統(tǒng)中是否就沒有阻塞進程?請解釋。答:不一定,沒有就緒程序時,CPU空閑,也許有進程因I/O操作被阻塞而不能進入CPU執(zhí)行。如果系統(tǒng)采用優(yōu)先級調(diào)度策略,運行的進程是否一定是系統(tǒng)中優(yōu)先級最高的進程?為什么?答:不一定,高優(yōu)先級隊列中的進程也可能在進行其他操作,而無法進入就緒狀態(tài),此時系統(tǒng)只有從低優(yōu)先級隊列中調(diào)已進入就緒狀態(tài)的進程進入CPU運行。假設(shè)有以下程序段,回答下面問題。S1:a=3-x;S2:b=2*a;S3:c=5+a;并發(fā)程序執(zhí)行的Bernstein條件是什么?答:R(S1)∩W(S2)∪R(S2)∩W(S1)∪W(S1)∩W(S2)={}試畫圖表示他們執(zhí)行的先后次序。利用Bernstein條件證明,s1,s2,s3那兩個可以并發(fā)執(zhí)行,那兩個不能。答:R(S1)={X}R(S2)={A}R(S3)={A}W(S1)={A}W(S2)={B}W(S3)={C}因為R(S1)∩W(S2)∪R(S2)∩W(S1)∪W(S1)∩W(S2)={A}S1和S2不可以并發(fā)執(zhí)行R(S1)∩W(S3)∪R(S3)∩W(S1)∪W(S1)∩W(S3)={}S1和S3可以并發(fā)執(zhí)行R(S2)∩W(S3)∪R(S3)∩W(S2)∪W(S2)∩W(S3)={}S2和S3可以并發(fā)執(zhí)行第三章思考與練習題一下進程之間存在相互制約關(guān)系嗎?若存在,是什么制約關(guān)系?為什么?幾個同學去圖書館借同一本書。答:互斥制約,幾個同學不能同時借一本書。籃球比賽中兩隊同學爭搶籃板球。答:互斥制約,兩個隊不能同時搶到籃板球。果汁流水線生產(chǎn)中搗碎、消毒、灌裝、裝箱等各道工序。答:同步制約,各道工序必須按一定的時序商品的入庫出庫。答:通信制約,出庫和入庫必須互換信息,出庫必須要庫中有貨物,入庫必須要庫中有空位。工人做工與農(nóng)民種糧。答:無制約關(guān)系。在操作系統(tǒng)中引入管程的目的是什么?條件變量的作用是什么?答:把所有的進程對某一臨界資源的同步操作集中起來,構(gòu)成一個所謂的“秘書”進程,凡是要訪問臨界資源的進程,都必須先向秘書報告,并由“秘書”實現(xiàn)諸進程的同步,既管程式:一個共享資源的數(shù)據(jù)結(jié)構(gòu)以及一組能為并發(fā)進程在其上執(zhí)行的針對該資源的一組操作,這組操作能同步進程和改變管程中數(shù)據(jù)。說明P、V操作為什么要設(shè)計成原語答:所謂原語操作就是操作不能被分割,要么不做,要么全做,P、V操作作為對資源的申請和釋放,不能被分割,故要設(shè)計成原語操作。有一個售票大廳,可容納200人購票。如果廳內(nèi)不足200人則允許進入,超過則在廳外等候;售票員某時只能給一個購票者服務(wù),購票者買完票后就離開。試問:購票者之間是同步關(guān)系還是互斥關(guān)系?答:購票者之間是互斥關(guān)系,他們不能同時使用售票員這一資源。用P、V操作描述購票者的工作過程。{p(售票員),s(購票者),v(售票員)}程之間的關(guān)系如圖3-16所示,試用P、V操作描述它們之間的同步。進程s1:):{s1,v(1),v(2)}進程s2:):{p(1),s2,p(3)}進程s3:):{p(2)},s3,v(4),v5)}進程s4:):{p(4),s4,v(6)}進程s5:):{p(5),s5,v(7)}進程s6:):{p(3),p(6),p(7),s6}有4個進程P1、P2、P3、P4共享一個緩沖區(qū),進程P1向緩沖區(qū)存入消息,進程P2、P3、P4從緩沖區(qū)中讀消息,要求發(fā)送者必須等三個進程都讀過本消息后才能發(fā)送下條消息。緩沖區(qū)內(nèi)每次只能容納一個消息,用P、V操作描述四個進程存取消息的情況。答:semaphoremutex=1voidp1-writer:voidp2_reader:voidp3_reader:voidp4_reader:While(true)while(true)while(true)while(true){{{{p(mutex)p(mutex)p(mutex)p(mutex)If(reader>=3)reading;reading;reading;Writing;reader++;reader++;reader++;reader=0;v(mutex)v(mutex)v(mutex)V(mutex)}}}}分析生產(chǎn)者——消費者問題中多個P操作顛倒引起的后果。答:如果把p(empty)和p(mutex)順序顛倒,先檢查p(mutex)再檢查p(empty),有可能檢查p(mutex)是通過了,但檢查p(empty)時沒有用過。這時候進程將占用臨界資源mutex,但empty沒有通過進程被掛起。進程不能執(zhí)行,臨界資源不能被其他進程所用而產(chǎn)生死鎖。讀者——寫者問題中寫者優(yōu)先的實現(xiàn)。semaphoreWmutex,Rmutex=1;IntRcount=0;semaphoremutex=1;voidreader()//讀者進程{While(true){P(mutex);P(Rmutex);If(Rcount==0)P(Wmutex);Rcount=Rcount+1;V(Rmutex);V(mutex);…;Read;P(Rmutex);Rcount=Rcount-1;If(Rmutex==0)V(Wmutex);V(Rmutex);}}voidwriter()//寫者進程{While(true){P(mutex);P(Wmutex);…;writer;…;V(Wmutex);V(mutex);}}寫一個用信號量解決哲學家進餐問題不產(chǎn)生鎖死的算法。答:Semaphoremutex=1,chopstick[5]={1,1,1,1,1};Voidphilosopher(){While(true){P(mutex);//先讓一個進程占住臨界資源mutex;再申請其他資源P(chopstick[i]);P(chopstick[(i+1)%5]);…….;Eat;…….;P(mutex);P(chopstick[i]);P(chopstick[(i+1)%5]);…….;Think;…….;}一個文件可有若干個不同的進程所共享,每個進程具有唯一的編號。假定文件可有滿足下列限制的若干個不同的進程同時訪問,并發(fā)訪問該文件的哪些進程的編號的總和不得大于n,設(shè)計一個協(xié)調(diào)對該文件訪問的管程。用管程解決讀者——寫者問題,并采用公平原則。答:Monitormonitor_pc;SemaphoreR,w;inti,j;conditionRmutex,Wmutex=1;voidreading(){If(W.queue>0)Cwait(Wmutex)……..;reading;……..;Csignal(Rmutex);}Voidwriting(){If(R.queue>0)Cwait(Wmutex)……..;Writing;……..;Csignal(Rmutex);}Voidreader(){Monitor_pc.reading();}Voidwriter(){Monitor_pc.writing();第四章思考與練習題某進程被喚醒后立刻投入運行,能說明該系統(tǒng)采用的是可剝奪調(diào)度算法嗎?答:不能,可能該進程在被喚醒時等待序列為空,CPU正處于空閑狀態(tài),就可直接運行該進程。在哲學家進餐問題中,如果將先拿起左邊筷子的哲學家稱為左撇子,先拿起右邊筷子的哲學家稱為右撇子。請說明在同時存在左、右撇子的情況下,任何的就坐安排都不能產(chǎn)生鎖死。答:如果同時存在左、右撇子,則必有左、右撇子相鄰的情況。則左右相鄰的兩個進程必有一個因拿不到第一只筷子而被阻塞。此時五只筷子被四個進程使用,必有哦一個進程拿到兩只筷子而運行。然后釋放資源,其他的進程再繼續(xù)執(zhí)行。故不會發(fā)生死鎖。系統(tǒng)中有5個資源被4個進程所共享,如果每個進程最多需要2個這種資源,試問系統(tǒng)是否會產(chǎn)生鎖死?答:如果每個進程最多需要2個這種資源,如果把5個資源全分給4個進程,則必有一個進程獲得2個資源。則這個進程就可執(zhí)行完成。然后釋放資源。后面的進程就可依次執(zhí)行完成而不會產(chǎn)生死鎖。計算機系統(tǒng)有8臺磁帶機,由N個進程競爭使用,每個進程最多需要3臺。問:N為多少時,系統(tǒng)沒有死鎖的危險?答:當N<=3時,沒有死鎖的危險。因為每個進程最多需要3臺,則當有1個或2個進程是,每個進程都能獲得3臺,當N=3時,可以其中有兩個進程可獲得3臺,而一個進程獲得2臺,當其他進程執(zhí)行完成后自愿釋放后它在執(zhí)行,故不會發(fā)生死鎖。當N=4時,有可能每個進程只獲得2臺磁帶機,而不能被執(zhí)行。但又沒有其他資源可供使用,都被阻塞掛起,從而引起死鎖。當N>4時是同樣的道理。系統(tǒng)有5個進程,它們的到達時間和服務(wù)時間如表4-8所示。新進程(沒有運行過)與老進程(運行過的進程)的條件相同時,假定系統(tǒng)選新進程運進程名到達時間服務(wù)時間A03B26C44D65E82若按先來先服務(wù)(FCFS)、時間片輪法(時間片q=1)、短進程優(yōu)先(SPN)、最短剩余時間優(yōu)先(SRT,時間片q=1)、響應(yīng)比高者優(yōu)先(HRRN)及多級反饋隊列(MFQ,第一個隊列的時間片為1,第i(i>1)個隊列的時間片q=2(i-1))算法進行CPU調(diào)度,請給出各個進程的完成時間、周轉(zhuǎn)時間、帶權(quán)周轉(zhuǎn)時間,及所有的進程的平均周轉(zhuǎn)時間,平均帶權(quán)周轉(zhuǎn)時間答:(見下圖)。6、設(shè)系統(tǒng)中有5個進程P1、P2、P3、P4、P5,有3種類型的資源A、B、C,其中A資源的數(shù)量是17,B資源的數(shù)量是5,C資源的數(shù)量是20,T0時刻系統(tǒng)狀態(tài)如表4-9所示。表4-9T0時刻系統(tǒng)狀態(tài)進程已分配資源數(shù)量最大資源需求量仍然需求資源數(shù)ABCABCABCP1212559347P2402536134P34054011006P4204425221P5314424110計算每個進程還可能需要的資源,并填入表的“仍然需要資源數(shù)”的欄目。T0時刻系統(tǒng)是否處于安全狀態(tài)?為什么?答:是處于安全狀態(tài),T0時刻A資源剩余2個,B資源剩余3個,C資源剩余3個,此時存在一個安全序列<p5,p1,p2,p3,p4>使各個進程順序完成,不會產(chǎn)生死鎖如果T0時刻進程P2又有新的資源請求(0,3,4),是否實施資源分配?為什么?答:不分配,在T0時刻A資源剩余2個,B資源剩余3個,C資源剩余3個,當p2請求(0,3,4),根究實際情況只能給p2(0,3,3),而p2得到這些資源后依然不能完成運行,此時A資源剩余2個,B資源剩余0個,C資源剩余1個,分配給其它任何一個進程都不能使它運行,所有進程全部阻塞掛起,導致死鎖。如果T0時刻,若進程P4又有新的資源請求(2,0,1),是否實施資源分配?為什么?答:分配,p4進程對A的仍然需求是2,對B是2,對C是1,若把資源(2,0,1)分配給p4進程,進程p4不能完成,同時A、B、C剩余分別是(0,3,2)分配給進程p4能使其完成運行,故分配。(5)在(4)的基礎(chǔ)上,若進程P1又有新的資源請求(0,2,0),是否實施資源分配?為什么?答:不分配,若將A、B、C為(0,2,0)分配給p1進程,則A、B、C剩余(0,1,2)任何一個進程都不能運行,不存在安全序列,故不分配。第五章練習與思考1.存儲管理的基本任務(wù)是為多道程序的并發(fā)執(zhí)行提供良好的存儲環(huán)境,這包括哪些方面?.答:(1)能讓沒到程序“各得其所”,并在不受干擾的環(huán)境中運行時,還可以使用戶從存儲空間的分配、保護等事物中解脫出來。(2)向用戶提供更大的存儲空間,使更多的程序同時投入運行或是更大的程序能在小的內(nèi)存中運行。(3)為用戶對信息的訪問、保護、共享以及程序的動態(tài)鏈接、動態(tài)增長提供方便。(4)能使存儲器有較高的利用率。2.頁式存儲管理系統(tǒng)是否產(chǎn)生碎片?如何應(yīng)對此現(xiàn)象?答:會產(chǎn)生碎片,進程最后一頁未占滿一個塊而產(chǎn)生的小碎片,將塊的大小分的越小產(chǎn)生碎片的可能性越小。3.在頁式存儲管理系統(tǒng)中頁表的功能是什么?當系統(tǒng)的地址空間很大時會給頁表的設(shè)計帶來哪些新的問題?答:在頁式管理系統(tǒng)中,進程的若干個頁被離散的儲存在內(nèi)存的多個存儲塊中,為了能找到每個頁所對應(yīng)的存儲塊。系統(tǒng)為每個進程建立了一張頁表。進程中所有的頁,依次在頁表中有一頁表項,其中記錄了相應(yīng)頁在內(nèi)存中的物理塊號。4.什么是動態(tài)鏈接?用哪種存儲管理方案可以實現(xiàn)動態(tài)鏈接?答:動態(tài)鏈接是指進程在運行時,只將進程對應(yīng)的主程序段裝入內(nèi)存,在主程序段運行過程中,當需要用到哪個子程序段或數(shù)據(jù)段時,再將這些段調(diào)入內(nèi)存,并與主程序段連接。通常段式管理方式可以以程序段為單位進行調(diào)度。5.某進程的大小為25F3H字節(jié),被分配到內(nèi)存的3A6BH字節(jié)開始的地址。但進程運行時,若使用上、下界寄存器,寄存器的值是多少?如何進行存儲保護?若使用地址、限長寄存器,寄存器的值是多少?如何進行存儲保護?答:上、下限寄存器:上限寄存器的值是3A6BH,下限寄存器的值是3A6BH+25F3H=605EH。訪問地址只能大于3A6BH而小于605EH,否則產(chǎn)生越界中斷。地址、限長寄存器:地址寄存器的值是3A6BH,限長寄存器的值是25F3H,訪問地址只能大于3A6BH而小于605EH,否則出錯。6.在系統(tǒng)中采用可變分區(qū)存儲管理,操作系統(tǒng)占用低地址部分的126KB,用戶區(qū)的大小是386KB,采用空閑分區(qū)表管理空閑分區(qū)。若分配時從高地址開始,對于下述的作業(yè)申請序列:作業(yè)1申請80KB;作業(yè)2申請56KB;作業(yè)3申請120KB;作業(yè)1完成;作業(yè)3完成;作業(yè)4申請156KB;作業(yè)5申請80KB。使用首次適應(yīng)法處理上述作業(yè),并回答以下問題。(1)畫出作業(yè)1、2、3進入內(nèi)存后,內(nèi)存的分布情況。(2)畫出作業(yè)1、3完成后,內(nèi)存的分布情況。(3)畫出作業(yè)4、5進入內(nèi)存后,內(nèi)存的分布情況。7.某系統(tǒng)采用頁式存儲管理策略,某進程的邏輯地址空間為32頁,頁的大小為2KB,物理地址空間的大小是4MB。(1).寫出邏輯地址的格式.答:頁號為32,則需要二進制位為5位:2^5-1=31.即0~31共32個頁號。頁的大小為2kB,即要11個二進制位。(2).該進程的頁表有多少項?每一項至少占多少位?答:進程有32頁,故就有32個表項。頁的大小有2KB,而物理空間有4MB。則每一個塊被分為4*1024KB%2*1024=2KB,而塊號有2*1024個即2^11,即要11個二進制位。即每個表項占11個二進制位。(3).如果物理地址空間減少一半,頁表的結(jié)構(gòu)有何變化?答:如果物理空間變?yōu)?MB,塊的大小不變,故塊號的數(shù)目為1024個即10個二進制位。8.某頁式存儲管理系統(tǒng),內(nèi)存的大小為64KB,被分為16塊,塊號為0、1、2、……、15。設(shè)某進程有4頁,其頁號為0、1、2、3,被分別裝入內(nèi)存的2、4、7、5,問:(1)該進程的大小是多少字節(jié)?答:4*64/16=16KB。(2)寫出該進程每一頁在內(nèi)存的起始地址。答:第0頁的起始地址是2*4KB=8KB。第1頁的起始地址是4*4KB=16KB。第2頁的起始地址是7*4KB=28KB。第3頁的起始地址是5*4KB=20KB。(3)邏輯地址4146對應(yīng)的物理地址是多少?答:4146%4*1024=1……50,對應(yīng)的塊號是4,則對應(yīng)的物理地址是4*4*1024+50=164349.某段式存儲管理系統(tǒng)的段表如圖5-33所示。請將邏輯地址[0,137]、[1,9000]、[2,3600]、[3,230]轉(zhuǎn)換成物理地址。答:邏輯地址[0,137],故物理地址40*1024+137=41079B.邏輯地址[1,9000],9000>8*1024故產(chǎn)生越界中斷。邏輯地址[2,3600],故物理地址100*1024+3600=106000B邏輯地址[3,230]沒有該段。第六章練習與思考題試說明缺頁與一般中段的主要區(qū)別。答:缺頁中斷與一般中斷一樣,需要經(jīng)歷保護CPU香腸、分析中斷原因、轉(zhuǎn)中斷處理程序進行及恢復中斷現(xiàn)場等步驟。但缺頁中斷是一種特殊的中斷,他與一般中斷的區(qū)別:(1)在指令執(zhí)行期間產(chǎn)生和處理中斷,。通常cpu是在一條至六年個執(zhí)行之后去檢查是否有中斷發(fā)生,若有邊去處理中斷;否則繼續(xù)執(zhí)行下一跳指令。而缺頁中斷是在指令執(zhí)行期間發(fā)現(xiàn)所要訪問的指令或數(shù)據(jù)不再內(nèi)存時產(chǎn)生和處理中斷。(2)一條指令執(zhí)行期間可能產(chǎn)生多次中斷。對于一跳要求讀取多個字節(jié)數(shù)據(jù)的指令,指令中的數(shù)據(jù)可能跨越兩個頁面。該指令執(zhí)行時可能要發(fā)生3次中斷,一次是訪問指令,另外兩次訪問數(shù)據(jù)。局布置換和全局置換有何區(qū)別?在多道程序系統(tǒng)中建議使用哪一種?答:局部置換是指當前進程在執(zhí)行過程中發(fā)生缺頁時,旨在分配給該進程的物理塊中選擇一頁換出。全局置換是指在所有用戶使用的整個存儲空間中選擇一個頁面換出。在多道程序系統(tǒng)中建議使用局部置換策略。這樣即使某個進程出現(xiàn)了抖動現(xiàn)象,也不致引起其他程序產(chǎn)生抖動,從而將抖動局限在較小的范圍內(nèi)虛擬存儲的特征是什么?虛擬存儲器的容量受到哪兩個方面的限制?答:虛擬存儲器的特征有以下幾個方面:(1)離散性:指進程不必裝入連續(xù)的內(nèi)存空間,二十“見縫插針”。(2)多次性:只一個進程的程序和數(shù)據(jù)要分多次調(diào)入內(nèi)存。(3)對換性:指進程在運行過程中,允許將部分程序和數(shù)據(jù)換進、換出。(4)虛擬性:指能從邏輯上擴充內(nèi)存容量。虛擬存儲器的容量主要是受計算機的地址長度和外存容量的限制。4.已知頁面走向是1、2、1、3、1、2、4、2、1、3、4,且進程開始執(zhí)行時,內(nèi)存中沒有頁面,若給該進程分配2個物理塊,當采用以下算法時的缺頁率是多少?(1)先進先出置換算法。頁面走向物理塊1物理塊2缺頁1213124213411332211422114433缺缺缺缺缺缺缺缺缺答:頁面引用11次,缺頁9次,缺頁率為9/11=81.8%。(2)假如有一種頁面置換算法,它總是淘汰剛使用過的頁面。頁面走向物理塊1物理塊2缺頁12131242134113111342224222缺缺缺缺缺缺缺缺答:頁面引用11次,缺頁8次,缺頁率為8/11=72.7%。在請求頁式存儲管理系統(tǒng)中,使用先進先出(FIFO)頁面置換算法,會產(chǎn)生一種奇怪的現(xiàn)象:分配給進程的頁數(shù)越多,進程執(zhí)行時的卻也次數(shù)反而越高。試舉例說明這一現(xiàn)象。答:如果一個進程的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,若給該進程非配3個物理塊,其頁面調(diào)度情況如表所示:頁面走向物理塊1物理塊2物理塊3缺頁432143543215444111555333444222223331缺缺缺缺缺缺缺缺缺引用12次,缺頁9次若給該進程分配4個物理塊,其頁面調(diào)度情況如下:頁面走向物理塊1物理塊2物理塊3物理塊4缺頁4321435432154444555511333344445222233331111222缺缺缺缺缺缺缺缺缺缺引用12次,缺頁10次某請求頁式系統(tǒng)中,頁的大小為100字,一個程序的大小為1200字,可能的訪問序列如下:10、205、110、40、314、432、320、225、80、130、272、420、128,若系統(tǒng)采用LRU置換算法,當分配給該進程的物理塊數(shù)為3時,給出進程駐留的各個頁面的變化情況、頁面淘汰情況及缺頁次數(shù)。答:由于頁的代謝奧為100字,因此訪問序列10、205、110、40、314、432、320、225、80、130、272、420、128對應(yīng)的頁號是0、2、1、0、3、4、3、2、0、1、2、4、1。給該進程分配3個物理塊,采用LRU置換算法,其頁面調(diào)度情況如表。頁面走向物理塊1物理塊2物理塊3缺頁0210343201241000002222223333111144004缺缺缺缺缺缺缺缺缺被淘汰的頁號分別是2、1、0、4、3、0,共9次。7.在一個采用局部置換策略的請求頁式系統(tǒng)中,分配中給進程的物理塊數(shù)為4,其中存放的4個頁面的情況如表。當發(fā)生缺頁時,分別采用下列頁面置換算法時,講置換哪一頁?并解釋原因。OPT(最佳)置換算法;答:OPT(最佳)置換算法是選擇永久不用的也活長時間不用的也,將其患處,題目中沒有給出頁面的將來走向,所以無法判斷將置換哪一頁。FIFO(先進先出)置換算法;答:FIFO(先進先出)置換算法是選擇最先裝入內(nèi)存的頁面,將其換出。從表中可知,應(yīng)考察的是頁面的加載時間,加載時間最小的是10,因此最先裝入內(nèi)存的是第2頁。LRU(最近最少使用)置換算法;答:LRU(最近最少使用)算法時選擇最近最久沒有被訪問的頁面,將其換出。應(yīng)考察的是頁面的訪問時間,訪問時間最小的是157,因此最近最久沒有被訪問的是第1頁。Clock置換算法。答:CLOCK置換算法時LRU算法的變種,他首先選擇訪問位和修改位均為0的一頁,將其換出。滿足該條件的是第1頁8.某虛擬存儲器的用戶空間有32個頁面,每頁1KB,內(nèi)存大小為16KB,假設(shè)某時刻系統(tǒng)為用戶的第0、1、2、3頁分配得物理塊號是5、10、4、7,而該用戶進程的長度是6頁。試將以下16進制的虛擬地址轉(zhuǎn)換成物理地址。(1)0X0A5C答:物理地址是0001001001011100(2)0X103C答:產(chǎn)生缺頁中斷(3)0X257B答:產(chǎn)生越界中斷(4)0X8A4C答:地址過大,錯誤9.在請求頁式存儲管理系統(tǒng)中,頁面大小是100字節(jié),有一個50X50的數(shù)組按行連續(xù)存放,每個整數(shù)占2字節(jié)。將數(shù)組初始化的程序如下程序A:程序B:inti,j;inti,j;inta[50][50];inti,j;for(i=0;i<50;i++)for(j=0;j<50;j++)for(j=0;j<50;j++)for(i=0;i<50;i++)a[i][j]=0;a[i][j]=0;若在程序執(zhí)行過程中,內(nèi)存中只有一個頁面用來存放數(shù)組的信息,試問程序A和程序B執(zhí)行時產(chǎn)生的中斷次數(shù)分別是多少答:由題知,數(shù)組a中有50X50=2500個整數(shù),每個整數(shù)占2個字節(jié),數(shù)組共需要2X2500=5000字節(jié)。兒頁面的大小是100字節(jié),則數(shù)組占用的空間為5000/100=50頁。對于程序A:由于數(shù)組是按行存放的,而初始化數(shù)組的程序也是按行進行初始化的。因此當缺頁后調(diào)入的一頁,位于該頁的所有數(shù)組元素全部進行初始化,然后再調(diào)入另一頁。所以缺頁的次數(shù)為50次。對于程序B由于數(shù)組是按行存放的,而初始化數(shù)組的程序卻是案例額進行初始化的。因此當缺頁后調(diào)入的一頁中,位于該頁撒謊能夠的數(shù)組元素只有一個,所以程序B每訪問一個元素長生一次缺頁中斷,則整個數(shù)組將長生2500次缺頁。第七章思考與練習題數(shù)據(jù)傳輸控制方式有哪幾種?是比較他們的優(yōu)缺點.答:數(shù)據(jù)轉(zhuǎn)送控制方式有程序直接控制方式、中斷控制方式、DMA控制方式和通道方式四種。何為設(shè)備的獨立性?如何實現(xiàn)設(shè)備的獨立性?答:設(shè)備的獨立性是指應(yīng)用程序獨立于具體使用的物理設(shè)備。此時,用戶使用邏輯設(shè)備名申請使用某類物理設(shè)備。當系統(tǒng)中有多臺該類的設(shè)備時,系統(tǒng)可將其中的任意一臺分配給請求進程,而不局限于某一臺特定的設(shè)備。這樣,可顯著的改善資源的利用率,即可使用性。設(shè)備獨立使用用戶獨立于設(shè)備。如進行輸出時,亦可以使用現(xiàn)實終端,也可以使用打印機。有了這種獨立性,就可以很方便的進行輸入/輸出重定向。什么是緩沖?為什么要引入緩沖?操作系統(tǒng)如何實現(xiàn)緩沖技術(shù)。答:緩沖是在兩個不同速度設(shè)備之間傳輸信息時,用于平滑傳輸過程的一種手段。(1)換屆CPU與I/O設(shè)備之間的速度不匹配的矛盾。(2)減少中斷CPU的次數(shù)。(3)提高CPU與I/O設(shè)備之間的并行性。設(shè)備分配中為什么會出現(xiàn)死鎖?答:在某些操作系統(tǒng)中,一個進程只能提供一個I/O請求。也就是說,執(zhí)行進程向系統(tǒng)提出I/O請求后邊立即進入等待狀態(tài),直到I/O請求完成后才被喚醒。這樣系統(tǒng)對設(shè)備的分配比較安全,不會出現(xiàn)死鎖。但這種方式對進程來說,因CPU與I/O設(shè)備是串行工作的,這使得該進程的推進速度緩慢。為了加快進程執(zhí)行時的推進速度,當需要是有可能接著發(fā)出第二個、第三個I/O請求,當所請求的I/O設(shè)備已被另一個進程占用是,進程才進入等待狀態(tài)。這種一個進程同時可以使用多個I/O設(shè)備的方式提高了系統(tǒng)的資源利用率,但也帶來了一種危險,即如果兩個進程都提出請求使用對方占有的I/O設(shè)備時,就會出現(xiàn)死鎖。已打印機為說明SPOOLing技術(shù)的工作原理。答:當用戶進程請求打印輸出時,操作系統(tǒng)接受用戶的打印請求,但并不真正把打印機分配給該用戶進程,二十為進城再次攀上輸出井中分配一空閑塊區(qū),并將要打印的數(shù)據(jù)送入其中,同時還為用戶進程申請一張用戶請求打印表,將用戶的打印要求填入其中,再將該表掛在請求打印隊列上。如果還有進程要求打印輸出,系統(tǒng)仍可以接受請求,也可以進城完成上述操作。假設(shè)一個磁盤有200個柱面,編號為0~199,當前存取臂的位置是在143號面上,并剛剛完成125號柱面的請求,如果存在以下請求序列:86、147、91、177、94、150、102、175、130,試問:為完成上述請求,采用下列算法時存取臂的順序是什么?移動總量是多少?(1).先來先服務(wù)(FCFS)答:移動順序是:143、86、147、91、177、94、150、102、175、130移動總量是:(143-86)+(147-86)+)(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=565(2).最短尋道時間優(yōu)先(SSTF)答:移動順序:143、147、150、130、102、94、91、86、175、177移動總量是:(147-143)+(150-147)+(150-130)+(130-102)+(102-94)+(94-91)+(91-86)+(175-86)+(177-175)=162(3).掃描算法(SCAN)答:移動順序:143、147、150、175、177、130、102、94、91、86移動總量是:(147-143)+(150-147)+(175-150)+(177-175)+(177-130)+(130-102)+(102-94)+(94-91)+(91-86)=125(4).循環(huán)掃描算法(C—SCAN)答:移動順序是:143、147、150、175、177、86、91、94、102、130移動總量是:(147-143)+(150-147)+(175-150)+(177-175)+(177-86)+(91-86)+(94-91)+(102-94)+(130-102)=169.7.磁盤訪問時間分為三部分:尋道時間、旋轉(zhuǎn)時間和數(shù)據(jù)傳輸時間。而優(yōu)化磁盤磁道的信息分布能減少輸出輸入服務(wù)的總時間。例如,有一個文件有10個記錄A.B.C.D.E·····J存放在磁盤的某一磁道上,假定該磁盤共有10個扇區(qū),每個扇區(qū)存放一個記錄,安排如表,現(xiàn)在要從這個磁道上順序的將A~J這10個記錄讀出,如果磁盤的速度為20ms轉(zhuǎn)一周,處理程序每讀出一個記錄要花4ms進行處理,試問:(1).處理完這10個記錄的總時間多少?答:有題目所列條件可知,磁盤的旋轉(zhuǎn)速度為20ms轉(zhuǎn)一周,每個此道有10個記錄,因此讀出1個記錄的時間為20ms/10=2ms。對于表中記錄的初始分布,讀出并處理記錄A需要20ms+4ms=60ms。6ms后讀/寫頭急轉(zhuǎn)到了記錄D出,為了讀出記錄B必須再轉(zhuǎn)8個山區(qū),急需要8*2ms=16ms,記錄B的讀取時間為2ms,處理時間為4ms,股處理記錄B共花時間為:16ms+2ms+4ms=22ms。后續(xù)8個記錄的讀取時間與記錄B相同。所以處理10記錄的總時間是:9*22ms+6ms=204ms。(2).為優(yōu)化分布縮短處理時間,如何安排這些記錄,并計算處理總時間。答:為了縮短處理時間應(yīng)按圖瑣事安排這些記錄。經(jīng)優(yōu)化處理后,讀出并處理記錄A后,讀/寫頭剛好轉(zhuǎn)到記錄B的開始出,因此立即可讀取并處理記錄B,后續(xù)記錄的讀取與處理情況相同。股處理10個記錄的總時間為10*(2ms+4ms)=60ms。8.假設(shè)一個磁盤有100個柱面,每個柱面有10個磁道,每個磁道有15個扇區(qū)。當進程的訪問磁盤的12345扇區(qū)時,計算該扇區(qū)在磁盤的第幾柱面?第幾磁道?第幾扇區(qū)?答:每個柱面上有150個扇區(qū),12345/150等于82余45,,45/15等于3,即第82個柱面,第3個磁道,第15號扇區(qū)。9.一個文件記錄大小為32B,磁盤輸入輸出以磁塊為單位,一個磁塊的大小為512B.當用戶進程順序讀文件的各個記錄時,計算實際啟動磁盤I/O占用整個訪問請求時間的比例。答:有題目可知,盤塊的大小為512B,一個文件記錄大小為32B故一個盤塊包含的記錄數(shù)為:512/32=16。顯然在訪問16個記錄中,只需要一次啟動磁盤,故啟動磁盤I/O占用整個訪問請求的比例為1/16=6.25%10.如果磁盤扇區(qū)的大小固定為512B,每個磁道有80個扇區(qū),一共有4個可用的磁盤。假設(shè)磁盤的轉(zhuǎn)速時360rpm,處理機使用中斷驅(qū)動方式,從磁盤讀取數(shù)據(jù),每字節(jié)產(chǎn)生一次中斷,,如果處理中斷需要2.5ms,問:(1).處理機花費在處理I/O操作上的時間占整個磁盤的訪問時間百分比是多少?(忽略尋道時間)答:(512*2.5)/((1/12+1/480)+(512*2.5))*100%=99.9%(2).采用DMA方式,每個扇區(qū)產(chǎn)生一次中斷,處理機花費在處理I/O上的時間占整個磁盤訪問時間的百分比又是多少?答:2.5/((1/12+1/480)+2.5)*100%=96.7%第八章思考與練習題文件系統(tǒng)要解決的問題有哪些?答:解決的主要問題有:完成文件存儲空間的管理,實現(xiàn)文件名到物理地址的轉(zhuǎn)換,實現(xiàn)文件的目錄操作,提高文件共享能力和保護措施,提供友好的用戶接口。向用戶提供了有關(guān)文件的目錄操作的各種功能接口和系統(tǒng)調(diào)用。許多操作系統(tǒng)中提供了文件重命名功能,它能賦予文件一個新的名字。若進行文件復制,并給復制文件起一個新的名字,然后刪除舊文件,也能達到給文件重命名的目的。是問這個方法在實現(xiàn)上有何不同?答:給文件重命名,用戶必須提供兩個參數(shù):舊文件名和新文件名。實現(xiàn)該功能是,系統(tǒng)使用舊文件名查找文件目錄,若找到舊文件名所在的目錄表項,則將目錄表箱中文件名字段對應(yīng)的值改為新文件名值。從視線上看,文件重命名功能完成的工作室修改表項中的文件名字段,出文件名外,文件的其他屬性都未改變。使用文件系統(tǒng)時,通常要顯式地進行Open()與Close()操作。試問:這樣做的目的是什么?答:顯式操作完成文件的打開功能,它將訪問文件的目錄信息讀入內(nèi)存活動文件表,建立起用戶進程與文件的聯(lián)系。顯式操作完成文件關(guān)閉操作,該操作刪除內(nèi)存中有關(guān)該文件的目錄信息,切斷用戶與該文件的聯(lián)系。若在文件打開期間,該文件做過某些修改,還應(yīng)將其寫回磁盤。能夠取消顯式地Open()與Close()操作么?若能,怎樣做?答:可以取消顯式的OPEN與CLOSE操作。如果取消了顯式地OPEN與CLOSE操作,系統(tǒng)在進行文件操作之前需判斷文件是否已經(jīng)打開,若文件打開,則應(yīng)自動完成文件的打開功能,建立用戶與文件之間的聯(lián)系。同時,在系統(tǒng)結(jié)束時,還應(yīng)該自動關(guān)閉所打開的文件。取消顯式地Open()與Close()操作有什么不利影響?答:取消顯示的OPEN與CLOSE操作使文件的系統(tǒng)開銷增加。因為每次讀寫文件之前都需要判斷文件是否打開,若未打開,還要完成打開操作。系統(tǒng)在結(jié)束時也要做一些額外的工作,以完成CLOSE操作所完成的功能。當用戶進程已完成對一個文件的訪問時,因無顯式地CLOSE操作而無法關(guān)閉文件,從而不利于系統(tǒng)資源回收文件目錄的作用是什么?文件目錄項通常包含哪些內(nèi)容?答:文件目錄是文件名與文件所在存儲位置的一張映射表。文

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論