操作系統(tǒng)習(xí)題及參考答案_第1頁
操作系統(tǒng)習(xí)題及參考答案_第2頁
操作系統(tǒng)習(xí)題及參考答案_第3頁
操作系統(tǒng)習(xí)題及參考答案_第4頁
操作系統(tǒng)習(xí)題及參考答案_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、操作系統(tǒng)習(xí)題集參考教材:湯小丹等編著,計(jì)算機(jī)操作系統(tǒng)(第三版),西安電子科技大學(xué)出版社,2007年版何炎祥等編著,計(jì)算機(jī)操作系統(tǒng),清華大學(xué)出版社,2005年版;鄒恒明著,計(jì)算機(jī)的心智操作系統(tǒng)之哲學(xué)原理,機(jī)械工業(yè)出版社,2009年4月。第一章操作系統(tǒng)引論選擇題1下列哪一條是在操作系統(tǒng)設(shè)計(jì)中引入多道程序技術(shù)的好處?AA.使并發(fā)執(zhí)行成為可能B.簡化操作系統(tǒng)的實(shí)現(xiàn)C.減少對內(nèi)存容量的需求D.便于實(shí)施存儲保護(hù)2.WindowsXP屬于下列哪一類操作系統(tǒng)?BA.單用戶單任務(wù)B.單用戶多任務(wù)C.多用戶D.批處理3下列哪一條不是批處理系統(tǒng)的優(yōu)點(diǎn)?DA.吞吐量大B.資源利用率高C.系統(tǒng)開銷小D.響應(yīng)及時(shí)4能及時(shí)

2、處理由過程控制反饋的數(shù)據(jù)并作出響應(yīng)的操作系統(tǒng)是(C)A、分時(shí)系統(tǒng)B、網(wǎng)絡(luò)系統(tǒng)C、實(shí)時(shí)系統(tǒng)D、批處理系統(tǒng)UNIX系統(tǒng)是一個(gè)C操作系統(tǒng)。A、單用戶B、單用戶多任務(wù)C、多用戶多任務(wù)D、多用戶單任務(wù)6在分時(shí)系統(tǒng)中,當(dāng)用戶數(shù)一定時(shí),影響響應(yīng)時(shí)間的主要因素是_B。A、時(shí)間片B、調(diào)度算法C、存儲分配方式D、作業(yè)的大小7.WindowsNT屬于哪一類操作系統(tǒng)?BA、單用戶單任務(wù)B、單用戶多任務(wù)C、單道批處理D、多用戶8多道程序設(shè)計(jì)技術(shù)是指:多道程序可同時(shí)進(jìn)入亠,在亠的位置衛(wèi),為使多道進(jìn)程并發(fā)執(zhí)行必須為每個(gè)用戶作業(yè)創(chuàng)建進(jìn)程,批處理系統(tǒng)由_O創(chuàng)建,而分時(shí)系統(tǒng)由4創(chuàng)建。選擇答案:(1)內(nèi)存(2)系統(tǒng)(3)固定(4)

3、不定(5)進(jìn)程調(diào)度(6)中級調(diào)度(7)作業(yè)調(diào)度(8)輸入進(jìn)程(9)系統(tǒng)調(diào)用(10)命令解釋進(jìn)程1.2填空題答案ABCD147101在手工操作階段,操作員在進(jìn)行裝卸卡片或磁帶等手工操作時(shí),CPU處于空閑等待,我們稱這種現(xiàn)象為人機(jī)矛盾。2多道批處理系統(tǒng)的特征為并發(fā)、共享、虛擬和異步。3批量處理系統(tǒng)的缺點(diǎn)為周轉(zhuǎn)時(shí)間長:缺乏人工干預(yù)(人機(jī)交互)。4多道批處理系統(tǒng)的出現(xiàn),標(biāo)志著操作系統(tǒng)的形成。操作系統(tǒng)的基本類型有批處理操作系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。分時(shí)系統(tǒng)的特征為多路性、獨(dú)立性、及時(shí)性、交互性四個(gè)基本特征。以多道程序設(shè)計(jì)為基礎(chǔ)的現(xiàn)代操作系統(tǒng)具有并發(fā)性、共享性、虛擬性、異步性。8計(jì)算機(jī)系統(tǒng)按用戶指定的步驟

4、,為用戶一次上機(jī)解題所完成的工作的總和稱為_作業(yè)。從資源管理的觀點(diǎn)出發(fā),可把操作系統(tǒng)分為存儲管理、設(shè)備管理、文件管理、處理機(jī)管理和作業(yè)管理五大部分。10單道批處理系統(tǒng)是在解決人機(jī)矛盾和CPU與I/O設(shè)備速度不匹配的矛盾中發(fā)展起來的。判斷題1分時(shí)操作系統(tǒng)必然建立在多道程序技術(shù)的基礎(chǔ)之上。錯(cuò)2聯(lián)機(jī)批處理解決了作業(yè)自動轉(zhuǎn)接,減少了作業(yè)建立和手工操作時(shí)間。對3交互性是批處理系統(tǒng)的一個(gè)特征。錯(cuò)4解決了作業(yè)自動轉(zhuǎn)接,減少了作業(yè)建立和手工操作時(shí)間。對5.過載保護(hù)是分時(shí)系統(tǒng)的一個(gè)特征。錯(cuò)6多道程序的引入是為了提高CPU的利用率。對7多道程序技術(shù)可將一臺物理CPU虛擬為多臺邏輯CPU。對8在分時(shí)系統(tǒng)中,時(shí)間片越

5、小,一個(gè)作業(yè)的總運(yùn)行時(shí)間越短。錯(cuò)簡答題1.研究操作系統(tǒng)的主要觀點(diǎn)有那些?答:(1)資源的觀點(diǎn):研究如何對計(jì)算機(jī)系統(tǒng)中的各種軟、硬件資源進(jìn)行管理;怎樣使計(jì)算機(jī)系統(tǒng)協(xié)調(diào)一致地、有效地為用戶服務(wù);如何既發(fā)揮計(jì)算機(jī)系統(tǒng)資源的使用效率、提高計(jì)算機(jī)系統(tǒng)的服務(wù)質(zhì)量,又確保計(jì)算機(jī)系統(tǒng)的安全可靠。(2)用戶觀點(diǎn):操作系統(tǒng)是一個(gè)黑盒子,配置了操作系統(tǒng)的計(jì)算機(jī)與原來真實(shí)的物理計(jì)算機(jī)迥然不同,因?yàn)樗峁┝擞脩羰褂糜?jì)算機(jī)的更方便手段,構(gòu)造了一臺虛擬機(jī),采用的操作命令決定了虛擬機(jī)的功能。(3)進(jìn)程觀點(diǎn):從進(jìn)程角度分析操作系統(tǒng),則所有進(jìn)程的活動就構(gòu)成了操作系統(tǒng)的當(dāng)前行為,在每一個(gè)瞬間都有一棵進(jìn)程家族樹,它展示著操作系統(tǒng)行為

6、主體的一個(gè)快照。(4)模塊分層觀點(diǎn):用模塊分層觀點(diǎn)討論模塊之間的關(guān)系或者說討論如何形成操作系統(tǒng)的架構(gòu),如何安排連結(jié)這些程序模塊才能構(gòu)造一個(gè)結(jié)構(gòu)簡單清晰、邏輯正確、便于分析和實(shí)現(xiàn)的操作系統(tǒng)。2什么是操作系統(tǒng)?簡述現(xiàn)代操作系統(tǒng)的特征。答:操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、合理有效地組織計(jì)算機(jī)系統(tǒng)的工作,為用戶提供一個(gè)使用方便可擴(kuò)展的工作環(huán)境,從而起到連接計(jì)算機(jī)和用戶的接口作用?,F(xiàn)代操作系統(tǒng)具有如下特征:Q并發(fā)(共行)性:指能處理多個(gè)同時(shí)性活動的能力。I/O操作和計(jì)算重疊,內(nèi)存中同時(shí)存放幾道用戶程序,這些都是并發(fā)的例子。Q共享:指多個(gè)計(jì)算任務(wù)對資源的共同享用。并發(fā)活動可能要求共享資

7、源和信息;多個(gè)用戶共享一個(gè)程序的同一個(gè)副本,而不是分別向每個(gè)用戶提供一個(gè)副本可以避免重復(fù)開發(fā),節(jié)省人力資源。Q不確定性:指操作系統(tǒng)必須能處理任何一種事件序列,以使各個(gè)用戶的算題任務(wù)正確地完成。3操作系統(tǒng)和用戶程序之間的關(guān)系是什么?答:操作系統(tǒng)通過虛擬及其界面給用戶程序提供各種服務(wù),用戶程序在運(yùn)行過程中不斷使用操作系統(tǒng)提供的服務(wù)來完成自己的任務(wù)。如用戶程序在運(yùn)行過程中需要讀寫磁盤,這時(shí)就要調(diào)用操作系統(tǒng)的服務(wù)來完成磁盤讀寫操作。另一方面,用戶程序不可能先于操作系統(tǒng)啟動之前啟動,因此每次啟動一個(gè)用戶程序,都相當(dāng)于操作系統(tǒng)將控制轉(zhuǎn)移給用戶程序;而在用戶程序執(zhí)行完畢后,又將控制還回給操作系統(tǒng)。從這個(gè)角度

8、看,操作系統(tǒng)是主程序,用戶程序是子程序,操作系統(tǒng)在其生命周期內(nèi)不斷地調(diào)用各種應(yīng)用程序。因此操作系統(tǒng)和各種應(yīng)用程序可以看作是互相調(diào)用,從而形成一個(gè)非常復(fù)雜的動態(tài)關(guān)系。4推動操作系統(tǒng)進(jìn)化的原因有哪些?答:推動操作系統(tǒng)進(jìn)化的根本原因是:硬件成本的不斷下降;計(jì)算機(jī)功能和復(fù)雜性的不斷變化。成本降低意味著同樣的價(jià)格可以買到更為先進(jìn)的計(jì)算機(jī);而復(fù)雜性的提高自然需要操作系統(tǒng)能力的提高。另外,操作系統(tǒng)和攻擊者之間的博弈也是影響操作系統(tǒng)發(fā)展的一個(gè)重要因素。5試簡述操作系統(tǒng)的發(fā)展歷史。答:操作系統(tǒng)大致經(jīng)歷了如下幾個(gè)重要階段:第一階段:狀態(tài)機(jī)操作系統(tǒng)(1940年以前)。此時(shí)計(jì)算機(jī)尚處于萌芽狀態(tài),操作系統(tǒng)運(yùn)行在英國人貝

9、巴斯想象的自動機(jī)上。驅(qū)動這一階段操作系統(tǒng)的動力是個(gè)人英雄主義。第二階段:單一操作員、單一控制端操作系統(tǒng)(20世紀(jì)40年代)。這種單一操作員、單一控制端操作系統(tǒng)(SOSC,singleoperator,singleconsole)的操作系統(tǒng)是剛出現(xiàn)計(jì)算機(jī)時(shí)人們能想到的最直觀的控制計(jì)算機(jī)的方式,以美國賓西法尼亞大學(xué)的ENIAC計(jì)算機(jī)為代表。操作系統(tǒng)提供一個(gè)標(biāo)準(zhǔn)命令供用戶使用,滿足用戶基本的人機(jī)交互需求。(串行執(zhí)行)第三階段:批處理操作系統(tǒng)(20世紀(jì)50年代)。由于人操作緩慢,致使SOSC的運(yùn)行效率低下,即人機(jī)矛盾,為了改變這種狀況,出現(xiàn)了批處理操作系統(tǒng),以IBM的1401和7094為代表。用戶首先

10、將自己的程序編在卡片或紙帶上,交給計(jì)算機(jī)管理員,管理員在收到一定數(shù)量的用戶程序后,將卡片及紙帶上的程序和數(shù)據(jù)通過IBM1401機(jī)器讀入,并寫在磁帶上。然后,計(jì)算機(jī)操作系統(tǒng)將這盤磁帶加載到IBM7094上,一個(gè)個(gè)地運(yùn)行用戶程序,運(yùn)行的結(jié)果寫到另一個(gè)磁盤上。所有程序運(yùn)行完畢后,將存有結(jié)果的磁盤連接到IBM1401上輸出。因此批處理操作系統(tǒng)就是由批處理監(jiān)視器和原來的操作系統(tǒng)庫函數(shù)組成的。(串行執(zhí)行)第四階段:多道批處理操作系統(tǒng)(20世紀(jì)60年代)。批處理階段不能很好地解決高速設(shè)備(CPU)等待低速設(shè)備(I/O)的問題。此階段的主要目標(biāo)是讓CPU和I/O重疊運(yùn)行,以IBM的OS360為代表。同一時(shí)間可

11、以運(yùn)行多個(gè)程序(宏觀上),但控制計(jì)算機(jī)的人還是一個(gè),即用戶將自己的程序交給計(jì)算機(jī)管理員,再由管理員負(fù)責(zé)加載運(yùn)行。(并發(fā)執(zhí)行)第五階段:分時(shí)/實(shí)時(shí)操作系統(tǒng)(20世紀(jì)70年代)。分時(shí)操作系統(tǒng)是為了解決人機(jī)交互問題而出現(xiàn)的,以MULTICS和UNIX為代表。用戶重新回到了機(jī)器的前面,通過RS232與主機(jī)進(jìn)行通信,管理自己的程序;主機(jī)給每個(gè)用戶分配一定的時(shí)間片,輪流地為各個(gè)用戶服務(wù)。實(shí)時(shí)操作系統(tǒng)是為了解決對計(jì)算機(jī)相應(yīng)時(shí)間有嚴(yán)格要求的臨界系統(tǒng)或應(yīng)用而產(chǎn)生的,以VxWorks和EMC的DART為代表。第六階段:現(xiàn)代操作系統(tǒng)(1980年以后)。是工作站和個(gè)人計(jì)算機(jī)出現(xiàn)的結(jié)果,代表性的有DOS,Windows

12、,Unix和Linux等。這時(shí)以信息安全、網(wǎng)絡(luò)為主要特征。6現(xiàn)代幾個(gè)典型操作系統(tǒng)所屬的類型?答:操作系統(tǒng)是由于需要而產(chǎn)生的,它隨著計(jì)算機(jī)技術(shù)本身及其計(jì)算機(jī)應(yīng)用的日益發(fā)展而逐漸發(fā)展和不斷完善。它的功能由弱到強(qiáng),現(xiàn)已成為計(jì)算機(jī)系統(tǒng)的核心組成。經(jīng)歷了手工操作、早期批處理階段、執(zhí)行系統(tǒng)階段、多道程序系統(tǒng)階段、分時(shí)系統(tǒng)、實(shí)時(shí)系統(tǒng)、通用操作系統(tǒng)。進(jìn)入80年代,硬件技術(shù)飛速發(fā)展以及微處理機(jī)的出現(xiàn)和發(fā)展,操作系統(tǒng)有了進(jìn)一步發(fā)展,如單用戶操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)及智能化操作系統(tǒng)。單用戶、單任務(wù)的操作系統(tǒng),以DOS操作系統(tǒng)為代表,繼CP/M操作系統(tǒng)之后,還出現(xiàn)了C-DOS、M-DOS、TRS-DOS

13、、S-DOS和MS-DOS等磁盤操作系統(tǒng)。還包括Windows3.1/3.2/95/98等版本。多用戶多道作業(yè)和分時(shí)系統(tǒng),其典型代表有UNIX、XENIX、OS/2以及WindowsNT及其后來版本的操作系統(tǒng)。綜合題1假設(shè)有一個(gè)支持多道程序設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),其中每個(gè)作業(yè)都有完全相同的屬性。對一個(gè)作業(yè),在一段計(jì)算周期T中,一半的時(shí)間用于I/O,另一半時(shí)間用于處理器操作。每個(gè)作業(yè)總共運(yùn)行N段計(jì)算周期。有幾個(gè)定義如下:周期(TurnaroundTime)=完成一個(gè)作業(yè)實(shí)際用的時(shí)間;吞吐量(Throughput)=在一時(shí)間段T中完成的平均作業(yè)數(shù);處理器使用率(ProcessorUtilization)

14、=處理器處于激活態(tài)(非等待)時(shí)間的百分比。計(jì)算當(dāng)有1,2或4個(gè)作業(yè)并發(fā)執(zhí)行時(shí)的周期、吞吐量和處理器使用率,假設(shè)時(shí)間段T按一下任一種方式分布:(1)I/O在前半段,處理器運(yùn)行在后半段(2)將T分為4段,I/O在第1,4段,處理器運(yùn)行于第2,3段。12NI/OCPUI/OCPUI/OCPUI/OCPU答:A(1)I/O在前半段,處理器運(yùn)行于后半段完成時(shí)刻運(yùn)行時(shí)間NN利用率50%ABCDI/OCPUI/OCPUI/OI/OCPUI/OCPUI/OCPUI/OCPUCPUI/OCPUI/OCPU232N-12NI/OCPUI/OI/OCPUI/OCPUI/OCPUI/OCPUI/OCPUI/OCPUC

15、PUI/OCPUNN/2N+1/2N/22NN/22N-1/2N/22NN/22N+1/2N/2NN+1/22N2N+1/2NNN50%II/OCPUCPUI/OI/OCPUI/OI/OCPUCPUI/OI/OCPUCPUI/OI/OCPUCPUI/OI/ONCPUCPUI/OCPUI/ONN/2NI/OCPUCPUI/OI/OCPUCPUI/OI/OCPUN+1/2N/2N+1/223I/OCPUCPUI/OI/OCPUCPU2N-3/4N/22NI/OCPUCPUI/OI/OCPU2N-1/2N/2I/OCPUCPUI/OI/O2NN/22N+1/2I/OCPUCPUI/OI/O2N+1/

16、2N/2A當(dāng)同時(shí)運(yùn)行2個(gè)作業(yè)時(shí),系統(tǒng)吞吐量和CPU利用率顯著增加,表明系統(tǒng)被充分利用。但當(dāng)作業(yè)增加到4個(gè)時(shí),吞吐量和CPU使用率變化不大,但平均周期卻增加一倍,表明系統(tǒng)負(fù)荷過重,作業(yè)處理時(shí)間明顯增長。ABCDAB(2)I/O在第1、4段,處理器運(yùn)行于第2、3段2某計(jì)算機(jī)用Cache、內(nèi)存和磁盤來實(shí)現(xiàn)虛擬內(nèi)存。如果某數(shù)據(jù)在Cache中,訪問它需要tA(ns);如果在ATOC o 1-5 h z內(nèi)存但不在Cache中,則需要tB(ns)的時(shí)間將其裝入Cache然后開始訪問;如果不在內(nèi)存中,需要tC(ns)n1m1將其讀入內(nèi)存,然后用tB(ns)讀入Cache。如果Cache命中率為,內(nèi)存命中率為,

17、則平均訪問Bnm時(shí)間是多少?答:根據(jù)題目中的數(shù)據(jù),平均訪問時(shí)間為:n11m111=xt+XX(t+t)+Xx(t+t+t)nAnmABnmABC11=t+t+tAnBmnC3操作系統(tǒng)的未來發(fā)展趨勢是怎樣的?答:隨著計(jì)算機(jī)的不斷普及,操作系統(tǒng)的功能會變得越來越復(fù)雜。在這種趨勢下,操作系統(tǒng)的發(fā)展面臨著兩個(gè)不同的方向選擇:一是微內(nèi)核,二是大而全的全方位發(fā)展。微內(nèi)核操作系統(tǒng)雖然有不少人在研究,但在工業(yè)界獲得認(rèn)可的并不多。對工業(yè)界來說,操作系統(tǒng)是向著多功能、全方位方向發(fā)展的。另外,隨著人們對信息安全重視程度的不斷提高,如何構(gòu)建可靠、可用和安全的操作系統(tǒng)將成為一個(gè)十分重要的課題。從Unix的1400行代碼

18、到WindowsXP的4000萬行代碼,這種系統(tǒng)的爆炸性增長給系統(tǒng)的可靠、可用和安全性帶來的安全隱患,在短時(shí)期內(nèi)是很難解決的。綜上所述,操作系統(tǒng)的發(fā)展趨勢很難預(yù)測。4操作系統(tǒng)的主要特征是什么?答:操作系統(tǒng)的主要特征是并發(fā)性、共享性、虛擬性和不確定性。Q并發(fā)性:并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時(shí)間內(nèi),宏觀上有多個(gè)程序在同時(shí)運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時(shí)刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時(shí)地交替執(zhí)行。倘若在計(jì)算機(jī)系統(tǒng)中有多個(gè)處理機(jī),則這些可以并發(fā)執(zhí)行的程序便可被分配到多個(gè)處理機(jī)上,實(shí)現(xiàn)并行執(zhí)行,即利用每個(gè)處理機(jī)來處理一個(gè)可并發(fā)執(zhí)行的程

19、序,這樣,多個(gè)程序便可同時(shí)執(zhí)行。兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生稱為并行。在操作系統(tǒng)中存在著許多并發(fā)或并行的活動。共享性:共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的程序共同使用。由于資源屬性的不同,對資源共享的方式也不同,目前主要有以下兩種資源共享方式互斥共享方式和同時(shí)訪問方式。并發(fā)和共享是操作系統(tǒng)的兩個(gè)最基本的特征,它們又互為對方存在的條件。一方面,資源共享是以程序的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題;另一方面,若系統(tǒng)不能對資源共享實(shí)施有效管理,協(xié)調(diào)好多個(gè)程序?qū)蚕碣Y源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無法并發(fā)執(zhí)行。虛擬性:是指將一個(gè)物理實(shí)體映射為

20、若干個(gè)邏輯實(shí)體。前者是客觀存在的,后者是虛構(gòu)的,是一種感覺性的存在,即主觀上的一種想象。Q不確定性:在多道程序環(huán)境下,允許多個(gè)程序并發(fā)執(zhí)行,但只有程序在獲得所需的資源后方能執(zhí)行。在單處理機(jī)環(huán)境下,由于系統(tǒng)中只有一個(gè)處理機(jī),因而每次只允許一個(gè)程序執(zhí)行,其余程序只能等待。內(nèi)存中的每個(gè)程序在何時(shí)能獲得處理機(jī)運(yùn)行,何時(shí)又因提出某種資源請求而暫停,以及程序以怎樣的速度向前推進(jìn),每道程序總共需多少時(shí)間才能完成,等等,都是不可預(yù)知的。因此,在操作系統(tǒng)中,存在著不確定性。4簡述Windows系列操作系統(tǒng)的發(fā)展歷史。答:Windows系列操作系統(tǒng)是由微軟公司從1985年起開發(fā)的一系列視窗操作系統(tǒng)產(chǎn)品,包括個(gè)人(

21、家用)、商用和嵌入式3條產(chǎn)品線(圖1.4)。個(gè)人操作系統(tǒng)包括WindowsMe、Windows95/98,及更早期的版本W(wǎng)indows1.x、2.x、3.x等,主要在IBM個(gè)人機(jī)系列上運(yùn)行。商用操作系統(tǒng)是Windows2000和其前身版本W(wǎng)indowsNT,主要在服務(wù)器、工作站等上運(yùn)行,也可以在IBM個(gè)人系列機(jī)上運(yùn)行。嵌入式操作系統(tǒng)有WindowsCE和手機(jī)用操作系統(tǒng)stinger等。WindowsXP將使家用和商用兩條產(chǎn)品線合二為一。截止至20世紀(jì)末,全世界運(yùn)行各種Windows版本的計(jì)算機(jī)有兩億臺左右。微軟公司從1983年開始研制Windows操作系統(tǒng)。當(dāng)時(shí),IBMPC進(jìn)入市場已有兩年,微

22、軟公司開發(fā)的磁盤操作系統(tǒng)DOS和編程語言BASIC隨IBMPC捆綁銷售,取得了很大的成功。Windows操作系統(tǒng)最初的研制目標(biāo)是在DOS的基礎(chǔ)上提供一個(gè)多任務(wù)的圖形用戶界面。不過,第一個(gè)取得成功的圖形用戶界面系統(tǒng)并不是Windows,而是Windows的模仿對象蘋果公司于1984年推出的MacOS(運(yùn)行于蘋果公司的Macintosh個(gè)人計(jì)算機(jī)上),Macintosh機(jī)及其上的操作系統(tǒng)當(dāng)時(shí)已風(fēng)靡美國多年,是IBMPC和DOS操作系統(tǒng)在當(dāng)時(shí)市場上的主要競爭對手。當(dāng)年蘋果公司曾對PC機(jī)和Windows操作系統(tǒng)不屑一顧,并大力抨擊微軟公司抄襲MacOS的外觀和靈感。但蘋果機(jī)和MacOS是封閉式體系(硬

23、件接口不公開、系統(tǒng)源代碼不公開等),而IBMPC和MS-DOS是開放式體系(硬件接口公開、允許并支持第三方廠家做兼容機(jī)、公開操作系統(tǒng)源代碼等)。這個(gè)關(guān)鍵的區(qū)別使得IBMPC后來者居上,銷量超過了蘋果機(jī),并使得在IBMPC上運(yùn)行的Windows操作系統(tǒng)的普及率超過了MacOS,成為個(gè)人計(jì)算機(jī)市場占主導(dǎo)地位的操作系統(tǒng)。5簡述UNIX系列操作系統(tǒng)的發(fā)展歷史。答:“UNIX”這個(gè)名字是取“Multics”的反義,其誕生背景與特點(diǎn)一如其名。Multics項(xiàng)目(MULTiplexedInformationandComputingService)由貝爾(電話)實(shí)驗(yàn)室(Bell(Telephone)Labor

24、atories,簡稱BTL)、通用電氣公司(GeneralElectric)和麻省理工學(xué)院聯(lián)合開發(fā),旨在建立一個(gè)能夠同時(shí)支持?jǐn)?shù)千個(gè)用戶的分時(shí)系統(tǒng),該項(xiàng)目因目標(biāo)過于龐大而失敗,于1969年撤銷。退出Multics項(xiàng)目后,1969年中期,貝爾實(shí)驗(yàn)室的雇員Thompson開始在公司的一臺閑置的只有4KB內(nèi)存的PDP-7計(jì)算機(jī)上開發(fā)一個(gè)“太空漫游”游戲程序。由于PDP-7缺少程序開發(fā)環(huán)境,為了方便這個(gè)游戲程序的開發(fā),Thompson和公司的另一名雇員Ritchie一起用GE-645匯編語言(以前曾用于Multics開發(fā))開發(fā)PDP-7上的操作環(huán)境。最初是一個(gè)簡單的文件系統(tǒng),很快又添加了一個(gè)進(jìn)程子系統(tǒng)、

25、一個(gè)命令解釋器和一些實(shí)用工具程序。他們將這個(gè)系統(tǒng)命名為UNIX。此后,隨著貝爾實(shí)驗(yàn)室的工作環(huán)境的需要,他們將UNIX移植到PDP-11上,并逐漸增加了新的功能。很快,UNIX開始在貝爾實(shí)驗(yàn)室內(nèi)部流行,許多人都投入到它的開發(fā)中來。1971年,UNIX程序員手冊第1版出版,這之后直到1989年,貝爾實(shí)驗(yàn)室又相繼發(fā)行了10個(gè)版本的UNIX和相應(yīng)的手冊。1973年Ritchie用C語言重寫了UNIX(第4版),這使得UNIX的可移植性大大增強(qiáng),這是UNIX邁向成功之路的關(guān)鍵一步。1973年10月,Thompson和Ritchie在ACM(AssociationforComputingMachinery

26、,計(jì)算機(jī)協(xié)會)的SOSP(SymposiumOperatingSystemsPrinciples,操作系統(tǒng)原理討論會)會議上發(fā)表了首篇UNIX論文,這是UNIX首次在貝爾實(shí)驗(yàn)室以外亮相。UNIX的第一次移植是由Wollongong大學(xué)于1976年將其移植到Interdata機(jī)上。其它幾次較早的移植包括:1978年,微軟公司與SCO公司合作將UNIX移植到Intel8086上,即XENIX系統(tǒng)(最早的UNIX商業(yè)變種之一);1978年,DEC公司將UNIX移植到VAX上,即UNIX/32V3(BSD的前身)。UNIX的不斷發(fā)展導(dǎo)致許多計(jì)算機(jī)公司開始發(fā)行自己機(jī)器上的UNIX增值商業(yè)版本。UNIX的

27、第一個(gè)商業(yè)變種是1977年InteractiveSystems公司的IS/1(PDP-11)。20世紀(jì)80年代著名的商業(yè)變種有SUN公司的SunOS、微軟公司與SCO公司的XENIX等。20世紀(jì)70年代中期到80年代中期,UNIX的迅速發(fā)展,眾多大學(xué)和公司的參與,使得UNIX的變種迅速增多。這些變種主要圍繞3條主線:由貝爾實(shí)驗(yàn)室發(fā)布的UNIX研究版(FirstEditionUNIX到TenthEditionUNIX,或稱V1到V10,以后不再發(fā)行新版;由加利福尼亞州大學(xué)伯克利分校發(fā)布的BSD(BerkeleySoftwareDistribution)和由貝爾實(shí)驗(yàn)室發(fā)布的UNIXSystemII

28、I和SystemV。到20世紀(jì)80年代,UNIX已在從微型機(jī)到巨型機(jī)等眾多不同機(jī)型上運(yùn)行。作為通用操作系統(tǒng),當(dāng)時(shí)UNIX的主要競爭對手是各計(jì)算機(jī)廠商的專有系統(tǒng),如IBM的OS360/370系列等。20世紀(jì)80年代后期,UNIX已經(jīng)出現(xiàn)了很多變種,變種增多導(dǎo)致了程序的不兼容性和不可移植(同一應(yīng)用程序在不同UNIX變種上不能直接運(yùn)行)。因此,迫切需要對UNIX進(jìn)行標(biāo)準(zhǔn)化。這就導(dǎo)致了兩大陣營的出現(xiàn)。1987年,在統(tǒng)一市場的浪潮中,AT&T宣布與SUN公司合作,將SystemV和SunOS統(tǒng)一為一個(gè)系統(tǒng)。其余廠商十分關(guān)注這項(xiàng)開發(fā),認(rèn)為他們的市場處于威脅之下,于是聯(lián)合開發(fā)新的開放系統(tǒng)。他們的新機(jī)構(gòu)Ope

29、nSoftwareFoundation(開放軟件基金會,簡稱OSF)于1988年成立。作為回應(yīng),AT&T和SUN公司聯(lián)盟亦于1988年形成了UNIXInternational(UNIX國際,簡稱UI)。這場“UNIX戰(zhàn)爭”將系統(tǒng)廠商劃分成UI和OSF兩大陣營。UI推出了SVR4,而OSF則推出了OSF/1。雖然兩者都是UNIX,但他們在系統(tǒng)構(gòu)架、命令操作以及管理方式上都有所不同。兩者在市場上展開了激烈的競爭。兩種UNIX系統(tǒng)并存,卻又不能相互兼容,這對用戶非常不利,因而直接影響了UNIX對用戶的吸引力。隨著Microsoft公司的迅速崛起,并以驚人的速度由傳統(tǒng)的PC機(jī)市場向工作站和網(wǎng)絡(luò)市場擴(kuò)張

30、,迫使UI和OSF兩大陣營不得不相互讓步、握手言和,從而共同制定了應(yīng)用程序接口API(ApplicationProgramInterface)標(biāo)準(zhǔn)技術(shù)規(guī)范,并聯(lián)合開發(fā)共同開放軟件環(huán)境COSE(CommonOpenSoftwareEnvironment)。6簡述Linux操作系統(tǒng)的發(fā)展歷史。答:Linux最初是由芬蘭赫爾辛基大學(xué)計(jì)算機(jī)系大學(xué)生LinusTorvalds,在從1990年底到1991年的幾個(gè)月中,為了自己的操作系統(tǒng)課程學(xué)習(xí)和后來上網(wǎng)使用而陸續(xù)編寫的,在他自己買的Intel386PC機(jī)上,利用Tanenbaum教授自行設(shè)計(jì)的微型UNIX操作系統(tǒng)Minix作為開發(fā)平臺。據(jù)Linus說剛開

31、始的時(shí)候他根本沒有想到要編寫一個(gè)操作系統(tǒng)內(nèi)核,更沒想到這一舉動會在計(jì)算機(jī)界產(chǎn)生如此重大的影響。最開始是一個(gè)進(jìn)程切換器,然后是為自己上網(wǎng)需要而自行編寫的終端仿真程序,再后來是為他從網(wǎng)上下載文件而自行編寫的硬盤驅(qū)動程序和文件系統(tǒng)。這時(shí)候他發(fā)現(xiàn)自己已經(jīng)實(shí)現(xiàn)了一個(gè)幾乎完整的操作系統(tǒng)內(nèi)核,出于對這個(gè)內(nèi)核的信心和美好的奉獻(xiàn)與發(fā)展愿望,Linus希望這個(gè)內(nèi)核能夠免費(fèi)擴(kuò)散使用,但出于謹(jǐn)慎,他并沒有在Minix新聞組中公布它,而只是于1991年底在赫爾辛基大學(xué)的一臺FTP服務(wù)器上發(fā)了一則消息,說用戶可以下載Linux的公開版本(基于Intel386體系結(jié)構(gòu))和源代碼。從此以后,奇跡發(fā)生了。1993年,Linux

32、的第一個(gè)產(chǎn)品Linux1.0版問世的時(shí)候,是按完全自由版權(quán)進(jìn)行擴(kuò)散的。它要求所有的源代碼必須公開,而且任何人均不得從Linux交易中獲利。然而半年以后,Linus開始意識到這種純粹的自由軟件理想對于Linux的擴(kuò)散和發(fā)展來說,實(shí)際上是一種障礙而不是一股推動力,因?yàn)樗拗屏薒inux以磁盤復(fù)制或者CD-ROM等媒體形式進(jìn)行擴(kuò)散的可能,也限制了一些商業(yè)公司參與Linux進(jìn)一步開發(fā)并提供技術(shù)支持的良好愿望。于是Linus決定轉(zhuǎn)向GPL版權(quán),這一版權(quán)除了規(guī)定有自由軟件的各項(xiàng)許可權(quán)之外,還允許用戶出售自己的程序復(fù)制品。這一版權(quán)上的轉(zhuǎn)變后來證明對Linux的進(jìn)一步發(fā)展確實(shí)極為重要。從此以后,便有多家技術(shù)力

33、量雄厚又善于市場運(yùn)作的商業(yè)軟件公司加入了原先完全由業(yè)余愛好者和網(wǎng)絡(luò)黑客所參與的這場自由軟件運(yùn)動,開發(fā)出了多種Linux的發(fā)布版本,增加了更易于用戶使用的圖形界面和眾多的軟件開發(fā)工具,極大地拓展了Linux的全球用戶基礎(chǔ)。Linus本人也認(rèn)為:“使Linux成為GPL的一員是我一生中所做過的最漂亮的一件事?!币恍┸浖荆鏡edHat、InfoMagic等也不失時(shí)機(jī)地推出了自己的以Linux為核心的操作系統(tǒng)版本,這大大推動了Linux的商品化。在一些大的計(jì)算機(jī)公司的支持下,Linux還被移植到Alpha、PowerPC、MIPS及SPARC等為處理機(jī)的系統(tǒng)上。隨著Linux用戶基礎(chǔ)的不斷擴(kuò)大,

34、性能的不斷提高、功能的不斷增加,各種平臺版本的不斷涌現(xiàn),以及越來越多商業(yè)軟件公司的加盟,Linux已經(jīng)在不斷地向高端發(fā)展,開始進(jìn)入越來越多的公司和企業(yè)計(jì)算領(lǐng)域。Linux被許多公司和Internet服務(wù)提供商用于Internet網(wǎng)頁服務(wù)器或電子郵件服務(wù)器,并已開始在很多企業(yè)計(jì)算領(lǐng)域中大顯身手。1998年下半年,由于Linux本身的優(yōu)越性,使得它成為傳媒關(guān)注的焦點(diǎn),進(jìn)而出現(xiàn)了當(dāng)時(shí)的“Linux熱”:首先是各大數(shù)據(jù)庫廠商(Oracle、Informix、Sybase等);繼而是其它各大軟硬件廠商(IBM、Intel、Netscape、Corel、Adeptec、SUN公司等),紛紛宣布支持甚至投資

35、Linux(支持是指該廠商自己的軟硬件產(chǎn)品支持Linux,即可以在Linux下運(yùn)行,最典型的是推出xxxforLinux版或推出預(yù)裝Linux的機(jī)器等)。即使像SUN和HP這樣的公司,盡管它們的操作系統(tǒng)產(chǎn)品與Linux會產(chǎn)生利益沖突,也大力支持Linux,從而達(dá)到促進(jìn)其硬件產(chǎn)品銷售的目的。7自由軟件的含義是什么?答:自由軟件的自由(free)有兩個(gè)含義:第一是免費(fèi),第二是自由。免費(fèi)是指自由軟件可免費(fèi)提供給任何用戶使用,即便是用于商業(yè)目的,并且自由軟件的所有源程序代碼也是公開的,可免費(fèi)得到。自由是指它的源代碼不僅公開而且可以自由修改,無論修改的目的是使自由軟件更加完善,還是在對自由軟件進(jìn)行修改的

36、基礎(chǔ)上開發(fā)上層軟件。總之,可以對它做自己喜歡做的任何事情,除了一兩件不能做的事之外(如不能宣稱這個(gè)系統(tǒng)是你自己開發(fā)的)。自由軟件的出現(xiàn)給人們帶來很大的好處:首先,免費(fèi)可給用戶節(jié)省相當(dāng)?shù)馁M(fèi)用;其次,公開源碼可吸引盡可能多的開發(fā)者參與軟件的查錯(cuò)與改進(jìn);在開發(fā)協(xié)調(diào)人的控制下,自由軟件新版本的公布、反饋、更新等過程是完全開放的。第二章進(jìn)程管理選擇題1進(jìn)程在發(fā)出I/O請求后,可能導(dǎo)致下列哪種進(jìn)程狀態(tài)演變?D就緒一執(zhí)行B.執(zhí)行一就緒C.阻塞一執(zhí)行D.執(zhí)行一阻塞2“臨界區(qū)”是指:C一組臨界資源的集合B.可共享的一塊內(nèi)存區(qū)C.訪問臨界資源的一段代碼D.請求訪問臨界資源的代碼3使用一個(gè)信號量協(xié)調(diào)5個(gè)進(jìn)程對3個(gè)同

37、類臨界資源的訪問,下列哪個(gè)信號量值不應(yīng)該出現(xiàn)?D3B.0C.-1D.-34使用一個(gè)信號量協(xié)調(diào)6個(gè)進(jìn)程對2個(gè)同類臨界資源的訪問,下列哪個(gè)信號量值不應(yīng)該出現(xiàn)?A3B.0C.-1D.-35“臨界資源”是指:C正在被占用的資源B.不可共享的資源C.一次只能被一個(gè)進(jìn)程使用的資源D.可同時(shí)使用的資源6下列哪種通信方式不屬于:一個(gè)進(jìn)程向中間實(shí)體發(fā)送消息,等待另一進(jìn)程異步地接收。DA.共享存儲區(qū)B.消息緩沖C.信箱方式D.共享文件7如何從用戶方式(用戶態(tài))轉(zhuǎn)入特權(quán)方式(核心態(tài))?DA.使用特權(quán)指令B.發(fā)生子程序調(diào)用C.使用共享代碼D.進(jìn)行系統(tǒng)調(diào)用8進(jìn)程由就緒狀態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)是通過以下那個(gè)調(diào)度程序?qū)崿F(xiàn)的?BA

38、.作業(yè)調(diào)度B.進(jìn)程調(diào)度C.中級調(diào)度D.驅(qū)臂調(diào)度9以下哪個(gè)不是程序并發(fā)執(zhí)行時(shí)所產(chǎn)生的特性:DA.與速度無關(guān)性B.不可再現(xiàn)性C.相互制約性D.通信性10當(dāng)某個(gè)作業(yè)被作業(yè)調(diào)度程序選中,進(jìn)入內(nèi)存開始運(yùn)行時(shí),作業(yè)的狀態(tài)為:CA.提交狀態(tài)B.完成狀態(tài)C.執(zhí)行狀態(tài)D.后備狀態(tài)11.以下哪個(gè)不是程序順序執(zhí)行時(shí)的特性(D)A.封閉性B.順序性C.無關(guān)性D.不可再現(xiàn)性12在消息緩沖通信方式中,通信的基本單位是_B。A.文件B.消息C.記錄D.字段13可以使用銀行家算法_D死鎖。A.預(yù)防B.檢測C.解除D.避免14在消息緩沖隊(duì)列中,消息隊(duì)列屬于A資源。A.臨界B.共享C.永久D.可剝奪15在操作系統(tǒng)中,進(jìn)行資源分配

39、、調(diào)度和管理的最小獨(dú)立單位是C_oA.作業(yè)B.程序C.進(jìn)程D.用戶16進(jìn)程控制的功能是首先將要參加并發(fā)執(zhí)行的程序_A_,進(jìn)程完成時(shí)撤銷進(jìn)程,以及控制進(jìn)程衛(wèi),進(jìn)程控制通常是利用丄實(shí)現(xiàn)的。進(jìn)程從運(yùn)行態(tài)到阻塞態(tài)的轉(zhuǎn)換,由4的進(jìn)程調(diào)用衛(wèi)原語來實(shí)現(xiàn);一個(gè)進(jìn)程因等待某類資源而阻塞,正在執(zhí)行的進(jìn)程釋放該類資源時(shí)調(diào)用衛(wèi)原語把阻塞的進(jìn)程轉(zhuǎn)換為4o正在執(zhí)行的進(jìn)程響應(yīng)外中斷后再把阻塞的進(jìn)程喚醒,被喚醒的進(jìn)程原來等待的事件為_Ho選擇答案:(1)創(chuàng)建進(jìn)程(2)分派CPU(3)調(diào)入內(nèi)存(4)狀態(tài)轉(zhuǎn)換(5)過程調(diào)用(6)原語(7)阻塞(8)喚醒(9)正在運(yùn)行(10)I/O操作(11)就緒態(tài)(12)運(yùn)行態(tài)(13)阻塞態(tài)17

40、如果多個(gè)進(jìn)程完成一個(gè)共同的任式運(yùn)行的。對臨界答案ABCDEFGH3469781110共享系統(tǒng)資源或相互合作務(wù),則諸進(jìn)程是以亠方資源的訪問時(shí)采用衛(wèi)方式,對于相互合作的進(jìn)程采用丄方式以協(xié)調(diào)各進(jìn)程執(zhí)行的4。選擇答案:(1)共享(2)獨(dú)立(3)18.個(gè)數(shù)據(jù)表格(Dtab),在RN個(gè)讀者同時(shí)去讀。每個(gè)讀者時(shí)則要刪除相應(yīng)的登記項(xiàng)。對作?;コ?4)同步(5)次序(答ABCD案4372)次數(shù)(7)同一時(shí)間只允許一個(gè)寫者去寫,容許讀前必須在登記表(Tab)上登記,退出以下流程填入正確語句實(shí)現(xiàn)同步操a_LH異步(注:Tab=Q表示登記表為空,即沒有讀者或?qū)懻哒诓僮鱀tab。)varmutex,wmutex,co

41、unt:semaphore:=1,1,RN/語義?beginparbeginreader:beginrepeatiftab=Qthentab的初值是多少呢?目前教學(xué)中數(shù)據(jù)結(jié)構(gòu)均由Pascal語言改成了C語言。若用Pascal寫信號量,學(xué)生理解起來比較困難,考試易出差錯(cuò)。P(wmutex)AddentryV(mutex)performreadingdtaboperation;P(mutex)deleteentryifTab=QthenCV(count);untilfalse19在分時(shí)系統(tǒng)中用戶答ABCDEF戶建立亠,并把它插入案165425(1)p(mutex)(2)p(wmutex)(3)p(

42、count)(4)v(mutex)(5)v(wmutex)(6)v(count)請求讀磁盤數(shù)據(jù),若數(shù)也將自己投入到相應(yīng)的丄。Endwriter:beginrepeatperformwritingdtaboperationuntilfalseendparendend選擇答案:登陸成功,系統(tǒng)要為該終端用到就緒隊(duì)列。正在執(zhí)行的進(jìn)程據(jù)不在輸入緩沖區(qū)中,則調(diào)用選擇答案:1)輸入進(jìn)程(2)子進(jìn)程(3)終端解釋進(jìn)程(4)激活原語(5)喚醒原語(6)阻塞原語(7)阻塞隊(duì)列(8)就緒隊(duì)列(9)運(yùn)行隊(duì)列20.在含有線程的系統(tǒng)中,引入丄,節(jié)省只有進(jìn)程系統(tǒng)的衛(wèi)。線亠的再分配。選擇答案:(1)吞吐量ABC367答案線程

43、的目的是為了進(jìn)一步提高系統(tǒng)的程是一個(gè)丄單位,線程切換基本不涉及2)交互能力時(shí)間開銷(9)空間開銷(10)時(shí)空開銷21生產(chǎn)者與消費(fèi)者分別利用buffer進(jìn)行數(shù)據(jù)傳輸:varempty,full:semaphore:beginparbeginproducer:begin3)并發(fā)能力(4)執(zhí)行5)資源(6)CPU(7)占有資源(8)ABCD31045答案計(jì)數(shù)信號量empty,full并借助單緩沖=1,0;repeatproduceaniteminnextp:A;buffer:=nextp:untilfalse:endconsumer:beginrepeatnextc:=buffer:consumet

44、heiteminnextc:untilfalseendparendend選擇答案:(1)wait(full)(2)wait(empty)(3)signal(ful)(4)signal(empty)22利用消息緩沖通信機(jī)制進(jìn)址,b為接收進(jìn)程的接收區(qū)首答案ABCD行通信,a為發(fā)送進(jìn)程的發(fā)送區(qū)首地地址,mq、mutex、sm分別為接收進(jìn)2314程消息隊(duì)列的隊(duì)首地址、互斥信號量和同步信號量,對以下發(fā)送原語和接收原語實(shí)現(xiàn)正確的同步操作:proceduresend(receivers)/receiver為接收者,a為發(fā)送區(qū)首址begingetbuf(a.size,i)i.sender:=a.sender;

45、i.size:=a.size;i.text:=a.text;i.next:=0;getid(PCBset,receiver,j);A;insert(j.mq,i)B;signal(j.sm);endprocedurereceive()beginj:=internalname;C;Wait(j.mutex);D;b.sender:=i.sender;b.size:=i.size;b.text:=i.text;end選擇答案:(1)wait(j.mutex)(2)wait(j.sm)(3)signal(j.mutex)(4)signal(j.sm)23進(jìn)程get、copy、put答行操作。get把

46、產(chǎn)生的數(shù)據(jù)案據(jù)復(fù)制到buffer2中;putABCD132i:=delete(j.sm)分別對緩沖區(qū)buffer1、buffer2進(jìn)送buffer1;copy把buffer1的數(shù)把buffer2中的數(shù)據(jù)取出來打印。請選擇相關(guān)的wait、signal語句完善給出的流程:流程中s1是get的私用信號量;s2、s3是copy的私用信號量;s4是put的私用信號量。vars1(s2gt,)4:semaphfferA;bUffer1./6uffer2I:item;beginet卡卡片gi打印機(jī)produceaniteminx;wait(s1);bufferl:=x;tB;untilfalse;endco

47、py:beginrepeatwait(s2);eCicopybufferltobuffer2;1untilfalse;endput:beginrepeat回y:=buffer2;signal(s3);printdatainy;untilfalse;endparendend選擇答案:A:1,1,1,10,1,0,11,0,1,01,1,0,0B、C、D、E、F:wait(s1)wait(s2)wait(s3)wait(s4)signal(sl)signal(s2)signal(s3)signal(s4)24用戶級線程與內(nèi)核一對一、多對多三種模答案ABCDEF線程之間的關(guān)系存在多對一、型。其中:多

48、對一模型是指多363854個(gè)用戶級線程映射到一個(gè)內(nèi)核線程。在這種模型中用戶級線程在內(nèi)核之上支持,并在用戶空間通過iai實(shí)現(xiàn);對線程的創(chuàng)建、管理、和調(diào)度m內(nèi)核支持;任何一個(gè)用戶級線程執(zhí)行了引起阻塞的系統(tǒng)調(diào)用,則該口阻塞;開發(fā)人員可創(chuàng)建任意多的線程,系統(tǒng)的并發(fā)度(并發(fā)性能)刃。一對一模型是指每個(gè)用戶級線程映射到一個(gè)內(nèi)核線程,在這種模型中線程的并發(fā)能力EE1能CS運(yùn)行在多處理器系統(tǒng)上。多對多模型是指多路復(fù)用了許多用戶級線程到同樣數(shù)量或更小數(shù)量的內(nèi)核線程上,開發(fā)人員可創(chuàng)建G的用戶級線程,內(nèi)核線程可在多處理器系統(tǒng)上并行運(yùn)行。選擇答案:A:內(nèi)核線程庫原語系統(tǒng)調(diào)用B需要不需要C、D、E、F、G:線程程序進(jìn)程

49、任意數(shù)量提高并發(fā)不變并行D有限數(shù)量答ABCDEFG2.2填空題案11275841Sa、Sb、Sc是已定義信號量,初值分別為1、0、0;x、y、z是公共變量。下面三個(gè)并發(fā)程序段執(zhí)行結(jié)束后,x=19y=10,z=28。prA()P(Sc);z=x+y;V(Sb);prB()y=18;P(Sb);V(Sc);P(Sb);y=z-y;V(Sa);prC()P(Sa);x=10;V(Sb);P(Sa);x=z-9;2從物理意義上講,信號量的值大于0時(shí),其值表示有效資源的數(shù)量。3管稈的三個(gè)組成部分為局部于管稈的共享變量說明、對該數(shù)據(jù)結(jié)構(gòu)講行操作的一組過稈、對局部干管程的數(shù)據(jù)設(shè)置初始值的語句。4系統(tǒng)感知進(jìn)程

50、存在的唯一標(biāo)識為講程控制塊(PCB)。5從結(jié)構(gòu)上看每個(gè)講稈由用戶稈序、用戶數(shù)據(jù)、系統(tǒng)棧、進(jìn)稈控制塊組成。6段時(shí)間內(nèi)僅允許一個(gè)進(jìn)程訪問的資源稱為臨界資源。7在操作系統(tǒng)控制下的多個(gè)程序的執(zhí)行順序和每個(gè)程序的執(zhí)行時(shí)間是不確定的,這種現(xiàn)象稱為操作系統(tǒng)的異步性。進(jìn)程的動態(tài)特征是扌指進(jìn)程是動態(tài)創(chuàng)建、動態(tài)執(zhí)行和動態(tài)消亡的。9設(shè)有n個(gè)進(jìn)程共享一個(gè)臨界區(qū),若最多允許m個(gè)進(jìn)程(m0)P(empty2);放數(shù)據(jù)data到buffer2中;V(full2);elseP(empty1);放數(shù)據(jù)data到buffer1中;V(full1);untilforeverP2:repeatP(full1);從buffer1中取出

51、數(shù)據(jù)data;然后處理該數(shù)據(jù)data成DATA;P(empty2);將數(shù)據(jù)DATA放入buffer2中;V(full2);V(empty1);untilforeverP3:repeatP(full2);從buffer2中取出數(shù)據(jù)data;V(full2);打印數(shù)據(jù)data;untilforever8在天津大學(xué)與南開大學(xué)之間有一條彎曲的小路,這條路上每次每個(gè)方向上只允許一輛自行車通過。但其中有一個(gè)小的安全島M,同時(shí)允許兩輛自行車停留,可供兩輛自行車已從兩端進(jìn)入小路的情況下錯(cuò)車使用。如圖所示。下面的算法可以使來往的自行車均可順利通過。其中使用了4個(gè)信號量,T代表天大路口資源,S代表南開路口資源,L

52、代表從天大到安全島一段路的資源,K代表從南開到安全島一段路的資源。程序如下,請?jiān)诳瞻孜恢锰幪顚戇m當(dāng)?shù)腜V操作語句,每處空白可能包含若干個(gè)P,V操作語句。begint:=1;s:=1;l:=1;k:=1;cobegin從天大到南開的進(jìn)程begin(1)_p(t);p(l);_通過L路段;進(jìn)入安全島M;(2)_v(l);v(t);p(s);p(k);通過K路段(3)_v(k);v(s);end從南開到天大的進(jìn)程begin略,與“從天大到南開的進(jìn)程”相反。endcoendend.9五個(gè)哲學(xué)家在一塊兒思考問題并一起用餐。用餐時(shí),它們公用一個(gè)由5把椅子圍成的圓桌。每把椅子歸某個(gè)哲學(xué)家使用。桌子中間是一些

53、“永遠(yuǎn)也吃不完”的飯菜。桌子上還放有5個(gè)盤子和5支筷子。當(dāng)哲學(xué)家們思考問題時(shí),它們互不干擾。一個(gè)哲學(xué)家需要用餐了,他就進(jìn)入餐廳,走到餐桌邊找到一把空椅子就座,然后就試圖去拿相鄰的兩支筷子。當(dāng)然,他不能去拿已經(jīng)握在鄰近椅子上同事手上的筷子,也不能去拿位于其左、右同事位置之外的筷子。當(dāng)一個(gè)需用餐的哲學(xué)家拿到鄰近的兩支筷子后,他就開始用餐而不放下。當(dāng)他用餐完畢,就把手中的兩支筷子放回原處再去思考他的問題。因此,這些哲學(xué)家門的生活是一種單調(diào)的重復(fù)動作,即這個(gè)問題可以概括為:repeatthink,eatforever。答:Q用一個(gè)信號量表示一支筷子。一個(gè)哲學(xué)家試圖去拿一支筷子是通過在哪個(gè)信號量上執(zhí)行一

54、個(gè)P操作來表示的,放下一支筷子則是在相應(yīng)的信號量上執(zhí)行一個(gè)V操作來描述的。因此共享變量是筷子,相應(yīng)的程序?yàn)椋簆rogramdiningphilosophers;varchopstick:array0.4ofsemaphore;(*binary*)i:integer;procedurephilosopher(I:integer);beginrepeatthink;p(chopsticki);p(chopstick(i+1)mod5);eat;v(chopsticki);v(chopstick(i+1)mod5);foreverend;begin(*mainprogram*)fori:=1to4d

55、ochopsticki:=1;cobeginphilosopher(0);philosopher(1);philosopher(2);philosopher(3);philosopher(4);coendend.注:該算法簡單,能夠互斥,但有可能產(chǎn)生死鎖(每個(gè)人都拿到了左邊的筷子,又試圖去拿右邊的筷子時(shí))。QProgramdiningphilosophers;Monitorchopstickmonitor;Varchopstick:array0.4ofinteger;oktoeat:array0.4ofcondition;i:integer;proceduretakechopstick(i:i

56、nteger);beginifchopsticki2thenwait(oktoeat);chopstick(i+1)mod5:=chopstick(i+1)mod5-1;chopstick(i-1)mod5:=chopstick(i-1)mod5-1;end;procedurreleasechopstick(i:integer);beginchopstick(i+1)mod5:=chopstick(i+1)mod5+1;chopstick(i-1)mod5:=chopstick(i-1)mod5+1;ifchopstick(i+1)mod5=2thensingal(oktoeat(i+1)mo

57、d5);ifchopstick(i-1)mod5=2thensingal(oktoeat(i-1)mod5);end;begin(*monitor賦初值部分*)fori:=1to4dochopsticki:=2end;procedurephilosopher(i:integer);beginrepeatthink;takechopstick(i);eat;releasechopstick(i);foreverend;begin(*mainprogram*)cobeginphilosopher(0);philosopher(1);philosopher(2);philosopher(3);phi

58、losopher(4);coendend注:這種使用管程方法解決了死鎖,同時(shí)又是互斥執(zhí)行。Q下面給出一種使用P、V操作實(shí)現(xiàn)的辦法,它不僅保證了安全性,而且也不會發(fā)生死鎖和饑餓現(xiàn)象。相應(yīng)的程序描述如下:programdiningphilosophers;varchopstick:array0.4ofsemaphore;(*binary*)room:semaphore;i:integer;Procedurephilosopher(i:integer);beginrepeatthink;P(room);P(chopstick(i+1)mod5);eat;V(chopsticki);V(chopsti

59、ck(i+1)mod5);V(room);foreverEnd;begin(*mainprogram*)fori:=0to4dochopsticki:=1;room:=4;cobeginphilosopher(0);philosopher(1);philosopher(2);philosopher(3);philosopher(4);coendEnd.除了增加一個(gè)信號量room外,這種解決方法與第一中解決方法類似。安全性同前面一樣得到了保證。也不會產(chǎn)生死鎖,因?yàn)閞oom保證了至多有4個(gè)哲學(xué)家試圖(同時(shí))去存取chopstick。而且根據(jù)“鴿巢原理”(pigeon-holepriciple),在

60、圓圈中的4個(gè)哲學(xué)家之間分配5支筷子的任何嘗試將導(dǎo)致至少一個(gè)哲學(xué)家會分得二支筷子,有關(guān)信號量room的不變式是:room+(p(room)和v(room)之間的進(jìn)程個(gè)數(shù))=4。下面通過一系列的引理來證明該方法也不會出現(xiàn)饑餓現(xiàn)象。引理1若進(jìn)程Pi執(zhí)行了P(chopsticki),貝0最終它將完成該P(yáng)操作的執(zhí)行。證明:若Pi僅因?yàn)閏hopsticki=O而沒有完成P操作,這隱含Pi1正在用餐(因?yàn)镻i1這時(shí)右手邊的那支筷子,在eat之前被Pi-1拿走了)。最終Pi-1用完餐就會馬上執(zhí)行V(chopsticki)而允許Pi繼續(xù)。上。引理2若P.正沒完沒了地等待在chopsticki+1上,則Pi+1正

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論