版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、操作系統(tǒng)習題集參考教材:湯小丹等編著,計算機操作系統(tǒng)(第三版),西安電子科技大學出版社,2007年版何炎祥等編著,計算機操作系統(tǒng),清華大學出版社,2005年版;鄒恒明著,計算機的心智操作系統(tǒng)之哲學原理,機械工業(yè)出版社,2009年4月。第一章操作系統(tǒng)引論選擇題1下列哪一條是在操作系統(tǒng)設計中引入多道程序技術(shù)的好處?AA.使并發(fā)執(zhí)行成為可能B.簡化操作系統(tǒng)的實現(xiàn)C.減少對內(nèi)存容量的需求D.便于實施存儲保護2.WindowsXP屬于下列哪一類操作系統(tǒng)?BA.單用戶單任務B.單用戶多任務C.多用戶D.批處理3下列哪一條不是批處理系統(tǒng)的優(yōu)點?DA.吞吐量大B.資源利用率高C.系統(tǒng)開銷小D.響應及時4能及時
2、處理由過程控制反饋的數(shù)據(jù)并作出響應的操作系統(tǒng)是(C)A、分時系統(tǒng)B、網(wǎng)絡系統(tǒng)C、實時系統(tǒng)D、批處理系統(tǒng)UNIX系統(tǒng)是一個C操作系統(tǒng)。A、單用戶B、單用戶多任務C、多用戶多任務D、多用戶單任務6在分時系統(tǒng)中,當用戶數(shù)一定時,影響響應時間的主要因素是_B。A、時間片B、調(diào)度算法C、存儲分配方式D、作業(yè)的大小7.WindowsNT屬于哪一類操作系統(tǒng)?BA、單用戶單任務B、單用戶多任務C、單道批處理D、多用戶8多道程序設計技術(shù)是指:多道程序可同時進入亠,在亠的位置衛(wèi),為使多道進程并發(fā)執(zhí)行必須為每個用戶作業(yè)創(chuàng)建進程,批處理系統(tǒng)由_O創(chuàng)建,而分時系統(tǒng)由4創(chuàng)建。選擇答案:(1)內(nèi)存(2)系統(tǒng)(3)固定(4)
3、不定(5)進程調(diào)度(6)中級調(diào)度(7)作業(yè)調(diào)度(8)輸入進程(9)系統(tǒng)調(diào)用(10)命令解釋進程1.2填空題答案ABCD147101在手工操作階段,操作員在進行裝卸卡片或磁帶等手工操作時,CPU處于空閑等待,我們稱這種現(xiàn)象為人機矛盾。2多道批處理系統(tǒng)的特征為并發(fā)、共享、虛擬和異步。3批量處理系統(tǒng)的缺點為周轉(zhuǎn)時間長:缺乏人工干預(人機交互)。4多道批處理系統(tǒng)的出現(xiàn),標志著操作系統(tǒng)的形成。操作系統(tǒng)的基本類型有批處理操作系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)。分時系統(tǒng)的特征為多路性、獨立性、及時性、交互性四個基本特征。以多道程序設計為基礎(chǔ)的現(xiàn)代操作系統(tǒng)具有并發(fā)性、共享性、虛擬性、異步性。8計算機系統(tǒng)按用戶指定的步驟
4、,為用戶一次上機解題所完成的工作的總和稱為_作業(yè)。從資源管理的觀點出發(fā),可把操作系統(tǒng)分為存儲管理、設備管理、文件管理、處理機管理和作業(yè)管理五大部分。10單道批處理系統(tǒng)是在解決人機矛盾和CPU與I/O設備速度不匹配的矛盾中發(fā)展起來的。判斷題1分時操作系統(tǒng)必然建立在多道程序技術(shù)的基礎(chǔ)之上。錯2聯(lián)機批處理解決了作業(yè)自動轉(zhuǎn)接,減少了作業(yè)建立和手工操作時間。對3交互性是批處理系統(tǒng)的一個特征。錯4解決了作業(yè)自動轉(zhuǎn)接,減少了作業(yè)建立和手工操作時間。對5.過載保護是分時系統(tǒng)的一個特征。錯6多道程序的引入是為了提高CPU的利用率。對7多道程序技術(shù)可將一臺物理CPU虛擬為多臺邏輯CPU。對8在分時系統(tǒng)中,時間片越
5、小,一個作業(yè)的總運行時間越短。錯簡答題1.研究操作系統(tǒng)的主要觀點有那些?答:(1)資源的觀點:研究如何對計算機系統(tǒng)中的各種軟、硬件資源進行管理;怎樣使計算機系統(tǒng)協(xié)調(diào)一致地、有效地為用戶服務;如何既發(fā)揮計算機系統(tǒng)資源的使用效率、提高計算機系統(tǒng)的服務質(zhì)量,又確保計算機系統(tǒng)的安全可靠。(2)用戶觀點:操作系統(tǒng)是一個黑盒子,配置了操作系統(tǒng)的計算機與原來真實的物理計算機迥然不同,因為它提供了用戶使用計算機的更方便手段,構(gòu)造了一臺虛擬機,采用的操作命令決定了虛擬機的功能。(3)進程觀點:從進程角度分析操作系統(tǒng),則所有進程的活動就構(gòu)成了操作系統(tǒng)的當前行為,在每一個瞬間都有一棵進程家族樹,它展示著操作系統(tǒng)行為
6、主體的一個快照。(4)模塊分層觀點:用模塊分層觀點討論模塊之間的關(guān)系或者說討論如何形成操作系統(tǒng)的架構(gòu),如何安排連結(jié)這些程序模塊才能構(gòu)造一個結(jié)構(gòu)簡單清晰、邏輯正確、便于分析和實現(xiàn)的操作系統(tǒng)。2什么是操作系統(tǒng)?簡述現(xiàn)代操作系統(tǒng)的特征。答:操作系統(tǒng)是控制和管理計算機系統(tǒng)內(nèi)各種硬件和軟件資源、合理有效地組織計算機系統(tǒng)的工作,為用戶提供一個使用方便可擴展的工作環(huán)境,從而起到連接計算機和用戶的接口作用?,F(xiàn)代操作系統(tǒng)具有如下特征:Q并發(fā)(共行)性:指能處理多個同時性活動的能力。I/O操作和計算重疊,內(nèi)存中同時存放幾道用戶程序,這些都是并發(fā)的例子。Q共享:指多個計算任務對資源的共同享用。并發(fā)活動可能要求共享資
7、源和信息;多個用戶共享一個程序的同一個副本,而不是分別向每個用戶提供一個副本可以避免重復開發(fā),節(jié)省人力資源。Q不確定性:指操作系統(tǒng)必須能處理任何一種事件序列,以使各個用戶的算題任務正確地完成。3操作系統(tǒng)和用戶程序之間的關(guān)系是什么?答:操作系統(tǒng)通過虛擬及其界面給用戶程序提供各種服務,用戶程序在運行過程中不斷使用操作系統(tǒng)提供的服務來完成自己的任務。如用戶程序在運行過程中需要讀寫磁盤,這時就要調(diào)用操作系統(tǒng)的服務來完成磁盤讀寫操作。另一方面,用戶程序不可能先于操作系統(tǒng)啟動之前啟動,因此每次啟動一個用戶程序,都相當于操作系統(tǒng)將控制轉(zhuǎn)移給用戶程序;而在用戶程序執(zhí)行完畢后,又將控制還回給操作系統(tǒng)。從這個角度
8、看,操作系統(tǒng)是主程序,用戶程序是子程序,操作系統(tǒng)在其生命周期內(nèi)不斷地調(diào)用各種應用程序。因此操作系統(tǒng)和各種應用程序可以看作是互相調(diào)用,從而形成一個非常復雜的動態(tài)關(guān)系。4推動操作系統(tǒng)進化的原因有哪些?答:推動操作系統(tǒng)進化的根本原因是:硬件成本的不斷下降;計算機功能和復雜性的不斷變化。成本降低意味著同樣的價格可以買到更為先進的計算機;而復雜性的提高自然需要操作系統(tǒng)能力的提高。另外,操作系統(tǒng)和攻擊者之間的博弈也是影響操作系統(tǒng)發(fā)展的一個重要因素。5試簡述操作系統(tǒng)的發(fā)展歷史。答:操作系統(tǒng)大致經(jīng)歷了如下幾個重要階段:第一階段:狀態(tài)機操作系統(tǒng)(1940年以前)。此時計算機尚處于萌芽狀態(tài),操作系統(tǒng)運行在英國人貝
9、巴斯想象的自動機上。驅(qū)動這一階段操作系統(tǒng)的動力是個人英雄主義。第二階段:單一操作員、單一控制端操作系統(tǒng)(20世紀40年代)。這種單一操作員、單一控制端操作系統(tǒng)(SOSC,singleoperator,singleconsole)的操作系統(tǒng)是剛出現(xiàn)計算機時人們能想到的最直觀的控制計算機的方式,以美國賓西法尼亞大學的ENIAC計算機為代表。操作系統(tǒng)提供一個標準命令供用戶使用,滿足用戶基本的人機交互需求。(串行執(zhí)行)第三階段:批處理操作系統(tǒng)(20世紀50年代)。由于人操作緩慢,致使SOSC的運行效率低下,即人機矛盾,為了改變這種狀況,出現(xiàn)了批處理操作系統(tǒng),以IBM的1401和7094為代表。用戶首先
10、將自己的程序編在卡片或紙帶上,交給計算機管理員,管理員在收到一定數(shù)量的用戶程序后,將卡片及紙帶上的程序和數(shù)據(jù)通過IBM1401機器讀入,并寫在磁帶上。然后,計算機操作系統(tǒng)將這盤磁帶加載到IBM7094上,一個個地運行用戶程序,運行的結(jié)果寫到另一個磁盤上。所有程序運行完畢后,將存有結(jié)果的磁盤連接到IBM1401上輸出。因此批處理操作系統(tǒng)就是由批處理監(jiān)視器和原來的操作系統(tǒng)庫函數(shù)組成的。(串行執(zhí)行)第四階段:多道批處理操作系統(tǒng)(20世紀60年代)。批處理階段不能很好地解決高速設備(CPU)等待低速設備(I/O)的問題。此階段的主要目標是讓CPU和I/O重疊運行,以IBM的OS360為代表。同一時間可
11、以運行多個程序(宏觀上),但控制計算機的人還是一個,即用戶將自己的程序交給計算機管理員,再由管理員負責加載運行。(并發(fā)執(zhí)行)第五階段:分時/實時操作系統(tǒng)(20世紀70年代)。分時操作系統(tǒng)是為了解決人機交互問題而出現(xiàn)的,以MULTICS和UNIX為代表。用戶重新回到了機器的前面,通過RS232與主機進行通信,管理自己的程序;主機給每個用戶分配一定的時間片,輪流地為各個用戶服務。實時操作系統(tǒng)是為了解決對計算機相應時間有嚴格要求的臨界系統(tǒng)或應用而產(chǎn)生的,以VxWorks和EMC的DART為代表。第六階段:現(xiàn)代操作系統(tǒng)(1980年以后)。是工作站和個人計算機出現(xiàn)的結(jié)果,代表性的有DOS,Windows
12、,Unix和Linux等。這時以信息安全、網(wǎng)絡為主要特征。6現(xiàn)代幾個典型操作系統(tǒng)所屬的類型?答:操作系統(tǒng)是由于需要而產(chǎn)生的,它隨著計算機技術(shù)本身及其計算機應用的日益發(fā)展而逐漸發(fā)展和不斷完善。它的功能由弱到強,現(xiàn)已成為計算機系統(tǒng)的核心組成。經(jīng)歷了手工操作、早期批處理階段、執(zhí)行系統(tǒng)階段、多道程序系統(tǒng)階段、分時系統(tǒng)、實時系統(tǒng)、通用操作系統(tǒng)。進入80年代,硬件技術(shù)飛速發(fā)展以及微處理機的出現(xiàn)和發(fā)展,操作系統(tǒng)有了進一步發(fā)展,如單用戶操作系統(tǒng)、網(wǎng)絡操作系統(tǒng)、分布式操作系統(tǒng)及智能化操作系統(tǒng)。單用戶、單任務的操作系統(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è)和分時系統(tǒng),其典型代表有UNIX、XENIX、OS/2以及WindowsNT及其后來版本的操作系統(tǒng)。綜合題1假設有一個支持多道程序設計的計算機系統(tǒng),其中每個作業(yè)都有完全相同的屬性。對一個作業(yè),在一段計算周期T中,一半的時間用于I/O,另一半時間用于處理器操作。每個作業(yè)總共運行N段計算周期。有幾個定義如下:周期(TurnaroundTime)=完成一個作業(yè)實際用的時間;吞吐量(Throughput)=在一時間段T中完成的平均作業(yè)數(shù);處理器使用率(ProcessorUtilization)
14、=處理器處于激活態(tài)(非等待)時間的百分比。計算當有1,2或4個作業(yè)并發(fā)執(zhí)行時的周期、吞吐量和處理器使用率,假設時間段T按一下任一種方式分布:(1)I/O在前半段,處理器運行在后半段(2)將T分為4段,I/O在第1,4段,處理器運行于第2,3段。12NI/OCPUI/OCPUI/OCPUI/OCPU答:A(1)I/O在前半段,處理器運行于后半段完成時刻運行時間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當同時運行2個作業(yè)時,系統(tǒng)吞吐量和CPU利用率顯著增加,表明系統(tǒng)被充分利用。但當作業(yè)增加到4個時,吞吐量和CPU使用率變化不大,但平均周期卻增加一倍,表明系統(tǒng)負荷過重,作業(yè)處理時間明顯增長。ABCDAB(2)I/O在第1、4段,處理器運行于第2、3段2某計算機用Cache、內(nèi)存和磁盤來實現(xiàn)虛擬內(nèi)存。如果某數(shù)據(jù)在Cache中,訪問它需要tA(ns);如果在ATOC o 1-5 h z內(nèi)存但不在Cache中,則需要tB(ns)的時間將其裝入Cache然后開始訪問;如果不在內(nèi)存中,需要tC(ns)n1m1將其讀入內(nèi)存,然后用tB(ns)讀入Cache。如果Cache命中率為,內(nèi)存命中率為,
17、則平均訪問Bnm時間是多少?答:根據(jù)題目中的數(shù)據(jù),平均訪問時間為:n11m111=xt+XX(t+t)+Xx(t+t+t)nAnmABnmABC11=t+t+tAnBmnC3操作系統(tǒng)的未來發(fā)展趨勢是怎樣的?答:隨著計算機的不斷普及,操作系統(tǒng)的功能會變得越來越復雜。在這種趨勢下,操作系統(tǒng)的發(fā)展面臨著兩個不同的方向選擇:一是微內(nèi)核,二是大而全的全方位發(fā)展。微內(nèi)核操作系統(tǒng)雖然有不少人在研究,但在工業(yè)界獲得認可的并不多。對工業(yè)界來說,操作系統(tǒng)是向著多功能、全方位方向發(fā)展的。另外,隨著人們對信息安全重視程度的不斷提高,如何構(gòu)建可靠、可用和安全的操作系統(tǒng)將成為一個十分重要的課題。從Unix的1400行代碼
18、到WindowsXP的4000萬行代碼,這種系統(tǒng)的爆炸性增長給系統(tǒng)的可靠、可用和安全性帶來的安全隱患,在短時期內(nèi)是很難解決的。綜上所述,操作系統(tǒng)的發(fā)展趨勢很難預測。4操作系統(tǒng)的主要特征是什么?答:操作系統(tǒng)的主要特征是并發(fā)性、共享性、虛擬性和不確定性。Q并發(fā)性:并發(fā)性是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時間內(nèi),宏觀上有多個程序在同時運行,但在單處理機系統(tǒng)中,每一時刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時地交替執(zhí)行。倘若在計算機系統(tǒng)中有多個處理機,則這些可以并發(fā)執(zhí)行的程序便可被分配到多個處理機上,實現(xiàn)并行執(zhí)行,即利用每個處理機來處理一個可并發(fā)執(zhí)行的程
19、序,這樣,多個程序便可同時執(zhí)行。兩個或多個事件在同一時刻發(fā)生稱為并行。在操作系統(tǒng)中存在著許多并發(fā)或并行的活動。共享性:共享是指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的程序共同使用。由于資源屬性的不同,對資源共享的方式也不同,目前主要有以下兩種資源共享方式互斥共享方式和同時訪問方式。并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征,它們又互為對方存在的條件。一方面,資源共享是以程序的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題;另一方面,若系統(tǒng)不能對資源共享實施有效管理,協(xié)調(diào)好多個程序?qū)蚕碣Y源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無法并發(fā)執(zhí)行。虛擬性:是指將一個物理實體映射為
20、若干個邏輯實體。前者是客觀存在的,后者是虛構(gòu)的,是一種感覺性的存在,即主觀上的一種想象。Q不確定性:在多道程序環(huán)境下,允許多個程序并發(fā)執(zhí)行,但只有程序在獲得所需的資源后方能執(zhí)行。在單處理機環(huán)境下,由于系統(tǒng)中只有一個處理機,因而每次只允許一個程序執(zhí)行,其余程序只能等待。內(nèi)存中的每個程序在何時能獲得處理機運行,何時又因提出某種資源請求而暫停,以及程序以怎樣的速度向前推進,每道程序總共需多少時間才能完成,等等,都是不可預知的。因此,在操作系統(tǒng)中,存在著不確定性。4簡述Windows系列操作系統(tǒng)的發(fā)展歷史。答:Windows系列操作系統(tǒng)是由微軟公司從1985年起開發(fā)的一系列視窗操作系統(tǒng)產(chǎn)品,包括個人(
21、家用)、商用和嵌入式3條產(chǎn)品線(圖1.4)。個人操作系統(tǒng)包括WindowsMe、Windows95/98,及更早期的版本W(wǎng)indows1.x、2.x、3.x等,主要在IBM個人機系列上運行。商用操作系統(tǒng)是Windows2000和其前身版本W(wǎng)indowsNT,主要在服務器、工作站等上運行,也可以在IBM個人系列機上運行。嵌入式操作系統(tǒng)有WindowsCE和手機用操作系統(tǒng)stinger等。WindowsXP將使家用和商用兩條產(chǎn)品線合二為一。截止至20世紀末,全世界運行各種Windows版本的計算機有兩億臺左右。微軟公司從1983年開始研制Windows操作系統(tǒng)。當時,IBMPC進入市場已有兩年,微
22、軟公司開發(fā)的磁盤操作系統(tǒng)DOS和編程語言BASIC隨IBMPC捆綁銷售,取得了很大的成功。Windows操作系統(tǒng)最初的研制目標是在DOS的基礎(chǔ)上提供一個多任務的圖形用戶界面。不過,第一個取得成功的圖形用戶界面系統(tǒng)并不是Windows,而是Windows的模仿對象蘋果公司于1984年推出的MacOS(運行于蘋果公司的Macintosh個人計算機上),Macintosh機及其上的操作系統(tǒng)當時已風靡美國多年,是IBMPC和DOS操作系統(tǒng)在當時市場上的主要競爭對手。當年蘋果公司曾對PC機和Windows操作系統(tǒng)不屑一顧,并大力抨擊微軟公司抄襲MacOS的外觀和靈感。但蘋果機和MacOS是封閉式體系(硬
23、件接口不公開、系統(tǒng)源代碼不公開等),而IBMPC和MS-DOS是開放式體系(硬件接口公開、允許并支持第三方廠家做兼容機、公開操作系統(tǒng)源代碼等)。這個關(guān)鍵的區(qū)別使得IBMPC后來者居上,銷量超過了蘋果機,并使得在IBMPC上運行的Windows操作系統(tǒng)的普及率超過了MacOS,成為個人計算機市場占主導地位的操作系統(tǒng)。5簡述UNIX系列操作系統(tǒng)的發(fā)展歷史。答:“UNIX”這個名字是取“Multics”的反義,其誕生背景與特點一如其名。Multics項目(MULTiplexedInformationandComputingService)由貝爾(電話)實驗室(Bell(Telephone)Labor
24、atories,簡稱BTL)、通用電氣公司(GeneralElectric)和麻省理工學院聯(lián)合開發(fā),旨在建立一個能夠同時支持數(shù)千個用戶的分時系統(tǒng),該項目因目標過于龐大而失敗,于1969年撤銷。退出Multics項目后,1969年中期,貝爾實驗室的雇員Thompson開始在公司的一臺閑置的只有4KB內(nèi)存的PDP-7計算機上開發(fā)一個“太空漫游”游戲程序。由于PDP-7缺少程序開發(fā)環(huán)境,為了方便這個游戲程序的開發(fā),Thompson和公司的另一名雇員Ritchie一起用GE-645匯編語言(以前曾用于Multics開發(fā))開發(fā)PDP-7上的操作環(huán)境。最初是一個簡單的文件系統(tǒng),很快又添加了一個進程子系統(tǒng)、
25、一個命令解釋器和一些實用工具程序。他們將這個系統(tǒng)命名為UNIX。此后,隨著貝爾實驗室的工作環(huán)境的需要,他們將UNIX移植到PDP-11上,并逐漸增加了新的功能。很快,UNIX開始在貝爾實驗室內(nèi)部流行,許多人都投入到它的開發(fā)中來。1971年,UNIX程序員手冊第1版出版,這之后直到1989年,貝爾實驗室又相繼發(fā)行了10個版本的UNIX和相應的手冊。1973年Ritchie用C語言重寫了UNIX(第4版),這使得UNIX的可移植性大大增強,這是UNIX邁向成功之路的關(guān)鍵一步。1973年10月,Thompson和Ritchie在ACM(AssociationforComputingMachinery
26、,計算機協(xié)會)的SOSP(SymposiumOperatingSystemsPrinciples,操作系統(tǒng)原理討論會)會議上發(fā)表了首篇UNIX論文,這是UNIX首次在貝爾實驗室以外亮相。UNIX的第一次移植是由Wollongong大學于1976年將其移植到Interdata機上。其它幾次較早的移植包括:1978年,微軟公司與SCO公司合作將UNIX移植到Intel8086上,即XENIX系統(tǒng)(最早的UNIX商業(yè)變種之一);1978年,DEC公司將UNIX移植到VAX上,即UNIX/32V3(BSD的前身)。UNIX的不斷發(fā)展導致許多計算機公司開始發(fā)行自己機器上的UNIX增值商業(yè)版本。UNIX的
27、第一個商業(yè)變種是1977年InteractiveSystems公司的IS/1(PDP-11)。20世紀80年代著名的商業(yè)變種有SUN公司的SunOS、微軟公司與SCO公司的XENIX等。20世紀70年代中期到80年代中期,UNIX的迅速發(fā)展,眾多大學和公司的參與,使得UNIX的變種迅速增多。這些變種主要圍繞3條主線:由貝爾實驗室發(fā)布的UNIX研究版(FirstEditionUNIX到TenthEditionUNIX,或稱V1到V10,以后不再發(fā)行新版;由加利福尼亞州大學伯克利分校發(fā)布的BSD(BerkeleySoftwareDistribution)和由貝爾實驗室發(fā)布的UNIXSystemII
28、I和SystemV。到20世紀80年代,UNIX已在從微型機到巨型機等眾多不同機型上運行。作為通用操作系統(tǒng),當時UNIX的主要競爭對手是各計算機廠商的專有系統(tǒng),如IBM的OS360/370系列等。20世紀80年代后期,UNIX已經(jīng)出現(xiàn)了很多變種,變種增多導致了程序的不兼容性和不可移植(同一應用程序在不同UNIX變種上不能直接運行)。因此,迫切需要對UNIX進行標準化。這就導致了兩大陣營的出現(xiàn)。1987年,在統(tǒng)一市場的浪潮中,AT&T宣布與SUN公司合作,將SystemV和SunOS統(tǒng)一為一個系統(tǒng)。其余廠商十分關(guān)注這項開發(fā),認為他們的市場處于威脅之下,于是聯(lián)合開發(fā)新的開放系統(tǒng)。他們的新機構(gòu)Ope
29、nSoftwareFoundation(開放軟件基金會,簡稱OSF)于1988年成立。作為回應,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機市場向工作站和網(wǎng)絡市場擴張
30、,迫使UI和OSF兩大陣營不得不相互讓步、握手言和,從而共同制定了應用程序接口API(ApplicationProgramInterface)標準技術(shù)規(guī)范,并聯(lián)合開發(fā)共同開放軟件環(huán)境COSE(CommonOpenSoftwareEnvironment)。6簡述Linux操作系統(tǒng)的發(fā)展歷史。答:Linux最初是由芬蘭赫爾辛基大學計算機系大學生LinusTorvalds,在從1990年底到1991年的幾個月中,為了自己的操作系統(tǒng)課程學習和后來上網(wǎng)使用而陸續(xù)編寫的,在他自己買的Intel386PC機上,利用Tanenbaum教授自行設計的微型UNIX操作系統(tǒng)Minix作為開發(fā)平臺。據(jù)Linus說剛開
31、始的時候他根本沒有想到要編寫一個操作系統(tǒng)內(nèi)核,更沒想到這一舉動會在計算機界產(chǎn)生如此重大的影響。最開始是一個進程切換器,然后是為自己上網(wǎng)需要而自行編寫的終端仿真程序,再后來是為他從網(wǎng)上下載文件而自行編寫的硬盤驅(qū)動程序和文件系統(tǒng)。這時候他發(fā)現(xiàn)自己已經(jīng)實現(xiàn)了一個幾乎完整的操作系統(tǒng)內(nèi)核,出于對這個內(nèi)核的信心和美好的奉獻與發(fā)展愿望,Linus希望這個內(nèi)核能夠免費擴散使用,但出于謹慎,他并沒有在Minix新聞組中公布它,而只是于1991年底在赫爾辛基大學的一臺FTP服務器上發(fā)了一則消息,說用戶可以下載Linux的公開版本(基于Intel386體系結(jié)構(gòu))和源代碼。從此以后,奇跡發(fā)生了。1993年,Linux
32、的第一個產(chǎn)品Linux1.0版問世的時候,是按完全自由版權(quán)進行擴散的。它要求所有的源代碼必須公開,而且任何人均不得從Linux交易中獲利。然而半年以后,Linus開始意識到這種純粹的自由軟件理想對于Linux的擴散和發(fā)展來說,實際上是一種障礙而不是一股推動力,因為它限制了Linux以磁盤復制或者CD-ROM等媒體形式進行擴散的可能,也限制了一些商業(yè)公司參與Linux進一步開發(fā)并提供技術(shù)支持的良好愿望。于是Linus決定轉(zhuǎn)向GPL版權(quán),這一版權(quán)除了規(guī)定有自由軟件的各項許可權(quán)之外,還允許用戶出售自己的程序復制品。這一版權(quán)上的轉(zhuǎn)變后來證明對Linux的進一步發(fā)展確實極為重要。從此以后,便有多家技術(shù)力
33、量雄厚又善于市場運作的商業(yè)軟件公司加入了原先完全由業(yè)余愛好者和網(wǎng)絡黑客所參與的這場自由軟件運動,開發(fā)出了多種Linux的發(fā)布版本,增加了更易于用戶使用的圖形界面和眾多的軟件開發(fā)工具,極大地拓展了Linux的全球用戶基礎(chǔ)。Linus本人也認為:“使Linux成為GPL的一員是我一生中所做過的最漂亮的一件事?!币恍┸浖?,如RedHat、InfoMagic等也不失時機地推出了自己的以Linux為核心的操作系統(tǒng)版本,這大大推動了Linux的商品化。在一些大的計算機公司的支持下,Linux還被移植到Alpha、PowerPC、MIPS及SPARC等為處理機的系統(tǒng)上。隨著Linux用戶基礎(chǔ)的不斷擴大,
34、性能的不斷提高、功能的不斷增加,各種平臺版本的不斷涌現(xiàn),以及越來越多商業(yè)軟件公司的加盟,Linux已經(jīng)在不斷地向高端發(fā)展,開始進入越來越多的公司和企業(yè)計算領(lǐng)域。Linux被許多公司和Internet服務提供商用于Internet網(wǎng)頁服務器或電子郵件服務器,并已開始在很多企業(yè)計算領(lǐng)域中大顯身手。1998年下半年,由于Linux本身的優(yōu)越性,使得它成為傳媒關(guān)注的焦點,進而出現(xiàn)了當時的“Linux熱”:首先是各大數(shù)據(jù)庫廠商(Oracle、Informix、Sybase等);繼而是其它各大軟硬件廠商(IBM、Intel、Netscape、Corel、Adeptec、SUN公司等),紛紛宣布支持甚至投資
35、Linux(支持是指該廠商自己的軟硬件產(chǎn)品支持Linux,即可以在Linux下運行,最典型的是推出xxxforLinux版或推出預裝Linux的機器等)。即使像SUN和HP這樣的公司,盡管它們的操作系統(tǒng)產(chǎn)品與Linux會產(chǎn)生利益沖突,也大力支持Linux,從而達到促進其硬件產(chǎn)品銷售的目的。7自由軟件的含義是什么?答:自由軟件的自由(free)有兩個含義:第一是免費,第二是自由。免費是指自由軟件可免費提供給任何用戶使用,即便是用于商業(yè)目的,并且自由軟件的所有源程序代碼也是公開的,可免費得到。自由是指它的源代碼不僅公開而且可以自由修改,無論修改的目的是使自由軟件更加完善,還是在對自由軟件進行修改的
36、基礎(chǔ)上開發(fā)上層軟件??傊梢詫λ鲎约合矚g做的任何事情,除了一兩件不能做的事之外(如不能宣稱這個系統(tǒng)是你自己開發(fā)的)。自由軟件的出現(xiàn)給人們帶來很大的好處:首先,免費可給用戶節(jié)省相當?shù)馁M用;其次,公開源碼可吸引盡可能多的開發(fā)者參與軟件的查錯與改進;在開發(fā)協(xié)調(diào)人的控制下,自由軟件新版本的公布、反饋、更新等過程是完全開放的。第二章進程管理選擇題1進程在發(fā)出I/O請求后,可能導致下列哪種進程狀態(tài)演變?D就緒一執(zhí)行B.執(zhí)行一就緒C.阻塞一執(zhí)行D.執(zhí)行一阻塞2“臨界區(qū)”是指:C一組臨界資源的集合B.可共享的一塊內(nèi)存區(qū)C.訪問臨界資源的一段代碼D.請求訪問臨界資源的代碼3使用一個信號量協(xié)調(diào)5個進程對3個同
37、類臨界資源的訪問,下列哪個信號量值不應該出現(xiàn)?D3B.0C.-1D.-34使用一個信號量協(xié)調(diào)6個進程對2個同類臨界資源的訪問,下列哪個信號量值不應該出現(xiàn)?A3B.0C.-1D.-35“臨界資源”是指:C正在被占用的資源B.不可共享的資源C.一次只能被一個進程使用的資源D.可同時使用的資源6下列哪種通信方式不屬于:一個進程向中間實體發(fā)送消息,等待另一進程異步地接收。DA.共享存儲區(qū)B.消息緩沖C.信箱方式D.共享文件7如何從用戶方式(用戶態(tài))轉(zhuǎn)入特權(quán)方式(核心態(tài))?DA.使用特權(quán)指令B.發(fā)生子程序調(diào)用C.使用共享代碼D.進行系統(tǒng)調(diào)用8進程由就緒狀態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)是通過以下那個調(diào)度程序?qū)崿F(xiàn)的?BA
38、.作業(yè)調(diào)度B.進程調(diào)度C.中級調(diào)度D.驅(qū)臂調(diào)度9以下哪個不是程序并發(fā)執(zhí)行時所產(chǎn)生的特性:DA.與速度無關(guān)性B.不可再現(xiàn)性C.相互制約性D.通信性10當某個作業(yè)被作業(yè)調(diào)度程序選中,進入內(nèi)存開始運行時,作業(yè)的狀態(tài)為:CA.提交狀態(tài)B.完成狀態(tài)C.執(zhí)行狀態(tài)D.后備狀態(tài)11.以下哪個不是程序順序執(zhí)行時的特性(D)A.封閉性B.順序性C.無關(guān)性D.不可再現(xiàn)性12在消息緩沖通信方式中,通信的基本單位是_B。A.文件B.消息C.記錄D.字段13可以使用銀行家算法_D死鎖。A.預防B.檢測C.解除D.避免14在消息緩沖隊列中,消息隊列屬于A資源。A.臨界B.共享C.永久D.可剝奪15在操作系統(tǒng)中,進行資源分配
39、、調(diào)度和管理的最小獨立單位是C_oA.作業(yè)B.程序C.進程D.用戶16進程控制的功能是首先將要參加并發(fā)執(zhí)行的程序_A_,進程完成時撤銷進程,以及控制進程衛(wèi),進程控制通常是利用丄實現(xiàn)的。進程從運行態(tài)到阻塞態(tài)的轉(zhuǎn)換,由4的進程調(diào)用衛(wèi)原語來實現(xiàn);一個進程因等待某類資源而阻塞,正在執(zhí)行的進程釋放該類資源時調(diào)用衛(wèi)原語把阻塞的進程轉(zhuǎn)換為4o正在執(zhí)行的進程響應外中斷后再把阻塞的進程喚醒,被喚醒的進程原來等待的事件為_Ho選擇答案:(1)創(chuàng)建進程(2)分派CPU(3)調(diào)入內(nèi)存(4)狀態(tài)轉(zhuǎn)換(5)過程調(diào)用(6)原語(7)阻塞(8)喚醒(9)正在運行(10)I/O操作(11)就緒態(tài)(12)運行態(tài)(13)阻塞態(tài)17
40、如果多個進程完成一個共同的任式運行的。對臨界答案ABCDEFGH3469781110共享系統(tǒng)資源或相互合作務,則諸進程是以亠方資源的訪問時采用衛(wèi)方式,對于相互合作的進程采用丄方式以協(xié)調(diào)各進程執(zhí)行的4。選擇答案:(1)共享(2)獨立(3)18.個數(shù)據(jù)表格(Dtab),在RN個讀者同時去讀。每個讀者時則要刪除相應的登記項。對作?;コ?4)同步(5)次序(答ABCD案4372)次數(shù)(7)同一時間只允許一個寫者去寫,容許讀前必須在登記表(Tab)上登記,退出以下流程填入正確語句實現(xiàn)同步操a_LH異步(注:Tab=Q表示登記表為空,即沒有讀者或?qū)懻哒诓僮鱀tab。)varmutex,wmutex,co
41、unt:semaphore:=1,1,RN/語義?beginparbeginreader:beginrepeatiftab=Qthentab的初值是多少呢?目前教學中數(shù)據(jù)結(jié)構(gòu)均由Pascal語言改成了C語言。若用Pascal寫信號量,學生理解起來比較困難,考試易出差錯。P(wmutex)AddentryV(mutex)performreadingdtaboperation;P(mutex)deleteentryifTab=QthenCV(count);untilfalse19在分時系統(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ù)也將自己投入到相應的丄。Endwriter:beginrepeatperformwritingdtaboperationuntilfalseendparendend選擇答案:登陸成功,系統(tǒng)要為該終端用到就緒隊列。正在執(zhí)行的進程據(jù)不在輸入緩沖區(qū)中,則調(diào)用選擇答案:1)輸入進程(2)子進程(3)終端解釋進程(4)激活原語(5)喚醒原語(6)阻塞原語(7)阻塞隊列(8)就緒隊列(9)運行隊列20.在含有線程的系統(tǒng)中,引入丄,節(jié)省只有進程系統(tǒng)的衛(wèi)。線亠的再分配。選擇答案:(1)吞吐量ABC367答案線程
43、的目的是為了進一步提高系統(tǒng)的程是一個丄單位,線程切換基本不涉及2)交互能力時間開銷(9)空間開銷(10)時空開銷21生產(chǎn)者與消費者分別利用buffer進行數(shù)據(jù)傳輸:varempty,full:semaphore:beginparbeginproducer:begin3)并發(fā)能力(4)執(zhí)行5)資源(6)CPU(7)占有資源(8)ABCD31045答案計數(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利用消息緩沖通信機制進址,b為接收進程的接收區(qū)首答案ABCD行通信,a為發(fā)送進程的發(fā)送區(qū)首地地址,mq、mutex、sm分別為接收進2314程消息隊列的隊首地址、互斥信號量和同步信號量,對以下發(fā)送原語和接收原語實現(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進程get、copy、put答行操作。get把
46、產(chǎn)生的數(shù)據(jù)案據(jù)復制到buffer2中;putABCD132i:=delete(j.sm)分別對緩沖區(qū)buffer1、buffer2進送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打印機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個用戶級線程映射到一個內(nèi)核線程。在這種模型中用戶級線程在內(nèi)核之上支持,并在用戶空間通過iai實現(xiàn);對線程的創(chuàng)建、管理、和調(diào)度m內(nèi)核支持;任何一個用戶級線程執(zhí)行了引起阻塞的系統(tǒng)調(diào)用,則該口阻塞;開發(fā)人員可創(chuàng)建任意多的線程,系統(tǒng)的并發(fā)度(并發(fā)性能)刃。一對一模型是指每個用戶級線程映射到一個內(nèi)核線程,在這種模型中線程的并發(fā)能力EE1能CS運行在多處理器系統(tǒng)上。多對多模型是指多路復用了許多用戶級線程到同樣數(shù)量或更小數(shù)量的內(nèi)核線程上,開發(fā)人員可創(chuàng)建G的用戶級線程,內(nèi)核線程可在多處理器系統(tǒng)上并行運行。選擇答案:A:內(nèi)核線程庫原語系統(tǒng)調(diào)用B需要不需要C、D、E、F、G:線程程序進程
49、任意數(shù)量提高并發(fā)不變并行D有限數(shù)量答ABCDEFG2.2填空題案11275841Sa、Sb、Sc是已定義信號量,初值分別為1、0、0;x、y、z是公共變量。下面三個并發(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ù)量。3管稈的三個組成部分為局部于管稈的共享變量說明、對該數(shù)據(jù)結(jié)構(gòu)講行操作的一組過稈、對局部干管程的數(shù)據(jù)設置初始值的語句。4系統(tǒng)感知進程
50、存在的唯一標識為講程控制塊(PCB)。5從結(jié)構(gòu)上看每個講稈由用戶稈序、用戶數(shù)據(jù)、系統(tǒng)棧、進稈控制塊組成。6段時間內(nèi)僅允許一個進程訪問的資源稱為臨界資源。7在操作系統(tǒng)控制下的多個程序的執(zhí)行順序和每個程序的執(zhí)行時間是不確定的,這種現(xiàn)象稱為操作系統(tǒng)的異步性。進程的動態(tài)特征是扌指進程是動態(tài)創(chuàng)建、動態(tài)執(zhí)行和動態(tài)消亡的。9設有n個進程共享一個臨界區(qū),若最多允許m個進程(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在天津大學與南開大學之間有一條彎曲的小路,這條路上每次每個方向上只允許一輛自行車通過。但其中有一個小的安全島M,同時允許兩輛自行車停留,可供兩輛自行車已從兩端進入小路的情況下錯車使用。如圖所示。下面的算法可以使來往的自行車均可順利通過。其中使用了4個信號量,T代表天大路口資源,S代表南開路口資源,L
52、代表從天大到安全島一段路的資源,K代表從南開到安全島一段路的資源。程序如下,請在空白位置處填寫適當?shù)腜V操作語句,每處空白可能包含若干個P,V操作語句。begint:=1;s:=1;l:=1;k:=1;cobegin從天大到南開的進程begin(1)_p(t);p(l);_通過L路段;進入安全島M;(2)_v(l);v(t);p(s);p(k);通過K路段(3)_v(k);v(s);end從南開到天大的進程begin略,與“從天大到南開的進程”相反。endcoendend.9五個哲學家在一塊兒思考問題并一起用餐。用餐時,它們公用一個由5把椅子圍成的圓桌。每把椅子歸某個哲學家使用。桌子中間是一些
53、“永遠也吃不完”的飯菜。桌子上還放有5個盤子和5支筷子。當哲學家們思考問題時,它們互不干擾。一個哲學家需要用餐了,他就進入餐廳,走到餐桌邊找到一把空椅子就座,然后就試圖去拿相鄰的兩支筷子。當然,他不能去拿已經(jīng)握在鄰近椅子上同事手上的筷子,也不能去拿位于其左、右同事位置之外的筷子。當一個需用餐的哲學家拿到鄰近的兩支筷子后,他就開始用餐而不放下。當他用餐完畢,就把手中的兩支筷子放回原處再去思考他的問題。因此,這些哲學家門的生活是一種單調(diào)的重復動作,即這個問題可以概括為:repeatthink,eatforever。答:Q用一個信號量表示一支筷子。一個哲學家試圖去拿一支筷子是通過在哪個信號量上執(zhí)行一
54、個P操作來表示的,放下一支筷子則是在相應的信號量上執(zhí)行一個V操作來描述的。因此共享變量是筷子,相應的程序為:programdiningphilosophers;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)生死鎖(每個人都拿到了左邊的筷子,又試圖去拿右邊的筷子時)。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注:這種使用管程方法解決了死鎖,同時又是互斥執(zhí)行。Q下面給出一種使用P、V操作實現(xiàn)的辦法,它不僅保證了安全性,而且也不會發(fā)生死鎖和饑餓現(xiàn)象。相應的程序描述如下: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.除了增加一個信號量room外,這種解決方法與第一中解決方法類似。安全性同前面一樣得到了保證。也不會產(chǎn)生死鎖,因為room保證了至多有4個哲學家試圖(同時)去存取chopstick。而且根據(jù)“鴿巢原理”(pigeon-holepriciple),在
60、圓圈中的4個哲學家之間分配5支筷子的任何嘗試將導致至少一個哲學家會分得二支筷子,有關(guān)信號量room的不變式是:room+(p(room)和v(room)之間的進程個數(shù))=4。下面通過一系列的引理來證明該方法也不會出現(xiàn)饑餓現(xiàn)象。引理1若進程Pi執(zhí)行了P(chopsticki),貝0最終它將完成該P操作的執(zhí)行。證明:若Pi僅因為chopsticki=O而沒有完成P操作,這隱含Pi1正在用餐(因為Pi1這時右手邊的那支筷子,在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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年河北廊坊燕京職業(yè)技術(shù)學院招聘教輔人員筆試真題
- 《對月當歌》(教學實錄)-2023-2024學年五年級上冊綜合實踐活動滬科黔科版
- 房屋買賣合同糾紛答辯狀范本
- 2024年碎石產(chǎn)品加工與銷售合作合同范本3篇
- 食品銷售渠道合作協(xié)議
- 2024年水果種植與采摘一體化服務合同6篇
- 美食合同協(xié)議書樣本
- 購房貸款協(xié)議模板
- 進口貨物采購合同書模板
- 2024年電子商務平臺運營與維護合同詳細條款與標的說明
- 工程管理基礎(chǔ)知識單選題100道及答案
- 我用的短線選股法(此法選股100%成功)
- 2024年人工智能(AI)訓練師職業(yè)技能鑒定考試題庫(濃縮500題)
- 三級公立醫(yī)院績效考核微創(chuàng)手術(shù)目錄(2022版)
- GB/T 15597.1-2024塑料聚甲基丙烯酸甲酯(PMMA)模塑和擠出材料第1部分:命名系統(tǒng)和分類基礎(chǔ)
- 2024版招投標合同范本
- 漢字與對外漢語教學智慧樹知到期末考試答案章節(jié)答案2024年西北師范大學
- 貴州省黔南州2023-2024學年度上學期期末質(zhì)量監(jiān)測八年級物理試卷
- 籃球智慧樹知到期末考試答案章節(jié)答案2024年溫州理工學院
- 統(tǒng)計與數(shù)據(jù)分析基礎(chǔ)-形成性考核三(項目6-項目8階段性測試權(quán)重25%)-國開-參考資料
- 中學體育節(jié)競賽規(guī)程活動方案
評論
0/150
提交評論