




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(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ù)的好處?A
A.使并發(fā)執(zhí)行成為可能B.簡(jiǎn)化操作系統(tǒng)的實(shí)現(xiàn)
C.減少對(duì)內(nèi)存容量的需求D.便于實(shí)施存儲(chǔ)保護(hù)2.WindowsXP屬于下列哪一類(lèi)操作系統(tǒng)?B
A.單用戶(hù)單任務(wù)B.單用戶(hù)多任務(wù)C.多用戶(hù)D.批處理3.下列哪一條不是批處理系統(tǒng)的優(yōu)點(diǎn)?D
A.吞吐量大B.資源利用率高C.系統(tǒng)開(kāi)銷(xiāo)小D.響應(yīng)及時(shí)4.能及時(shí)處理由過(guò)程控制反饋的數(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)5.UNIX系統(tǒng)是一個(gè)C操作系統(tǒng)。
A、單用戶(hù)B、單用戶(hù)多任務(wù)C、多用戶(hù)多任務(wù)D、多用戶(hù)單任務(wù)6.在分時(shí)系統(tǒng)中,當(dāng)用戶(hù)數(shù)一定時(shí),影響
響應(yīng)時(shí)間的主要因素是_B_o
A、時(shí)間片B、調(diào)度算法C、存儲(chǔ)分配方式D、作業(yè)的大小7.WindowsNT屬于哪一類(lèi)操作系統(tǒng)?B
A、單用戶(hù)單任務(wù)B、單用戶(hù)多任務(wù)C、單道批處理D、多用戶(hù)8.多道程序設(shè)計(jì)技術(shù)是指:多道程序可同時(shí)
進(jìn)入A.在A的位置B,為使多道進(jìn)程并發(fā)執(zhí)行必
須為每個(gè)用戶(hù)作業(yè)創(chuàng)建進(jìn)程,批處理系統(tǒng)由C創(chuàng)建,而分時(shí)系統(tǒng)由D創(chuàng)建。
選擇答案:
(1)內(nèi)存(2)系統(tǒng)(3)固定(4)不定(5)進(jìn)程調(diào)度(6)中級(jí)調(diào)度
(7)作業(yè)調(diào)度(8)輸入進(jìn)程(9)系統(tǒng)調(diào)用(10)命令解釋進(jìn)程
ABCD
1.在手工操作階段,操作員在進(jìn)行裝卸卡片或磁帶等手工操作時(shí),CPU處于空閑等待,我們稱(chēng)這
種現(xiàn)象為人機(jī)矛盾。
2.多道批處理系統(tǒng)的特征為并發(fā)?.共享、虛擬和異步。
3.批量處理系統(tǒng)的缺點(diǎn)為周轉(zhuǎn)時(shí)間長(zhǎng);缺乏人工干預(yù)(人機(jī)交互)。
4.多道批處理系統(tǒng)的出現(xiàn),標(biāo)志著操作系統(tǒng)的形成。
5.操作系統(tǒng)的基本類(lèi)型有批處理操作系統(tǒng)、分時(shí)系統(tǒng)和實(shí)時(shí)系統(tǒng)。
6.分時(shí)系統(tǒng)的特征為多路性、獨(dú)立性、及時(shí)性、交互性四個(gè)基本特征。7.以多道程序設(shè)計(jì)為基礎(chǔ)的現(xiàn)代操作系
統(tǒng)具有并發(fā)性、共享性、虛擬性、異步性。
8.計(jì)算機(jī)系統(tǒng)按用戶(hù)指定的步驟,為用戶(hù)一次上機(jī)解題所完成的工作的總和稱(chēng)為作業(yè)。
9.從資源管理的觀點(diǎn)出發(fā),可把操作系統(tǒng)分為存儲(chǔ)管理、設(shè)備管理、文件管理、處理機(jī)管理
和作業(yè)管理五大部分。
10.單道批處理系統(tǒng)是在解決人機(jī)矛盾和CPU與I/O設(shè)備速度不匹配的矛盾中發(fā)展起來(lái)的。
判斷題
1.分時(shí)操作系統(tǒng)必然建立在多道程序技術(shù)的基礎(chǔ)之上。錯(cuò)
2.聯(lián)機(jī)批處理解決了作業(yè)自動(dòng)轉(zhuǎn)接,減少了作業(yè)建立和手工操作時(shí)間。對(duì)3.交互性是批處理系統(tǒng)的一個(gè)特征。錯(cuò)
4.解決了作業(yè)自動(dòng)轉(zhuǎn)接,減少了作業(yè)建立和手工操作時(shí)間。對(duì)5.過(guò)載保護(hù)是分時(shí)系統(tǒng)的一個(gè)特征。錯(cuò)6.多道程序
的引入是為了提高CPU的利用率。對(duì)
7.多道程序技術(shù)可將一臺(tái)物理CPU虛擬為多臺(tái)邏輯CPU。對(duì)
8.在分時(shí)系統(tǒng)中,時(shí)間片越小,一個(gè)作業(yè)的總運(yùn)行時(shí)間越短。錯(cuò)
簡(jiǎn)答題
1.研究操作系統(tǒng)的主要觀點(diǎn)有那些?答:(1)資源的觀點(diǎn):研究如何對(duì)計(jì)算機(jī)系統(tǒng)中的各種軟、硬件資源進(jìn)行管
理;怎樣使計(jì)算機(jī)系統(tǒng)協(xié)調(diào)一致地、有效地為用戶(hù)服務(wù);如何既發(fā)揮計(jì)算機(jī)系統(tǒng)資源的使用效率、提高計(jì)算機(jī)系統(tǒng)的
服務(wù)質(zhì)量,又確保計(jì)算機(jī)系統(tǒng)的安全可靠。
(2)用戶(hù)觀點(diǎn):操作系統(tǒng)是一個(gè)黑盒子,配置了操作系統(tǒng)的計(jì)算機(jī)與原來(lái)真實(shí)的物理計(jì)算機(jī)迥然不同,因?yàn)樗峁?/p>
了用戶(hù)使用計(jì)算機(jī)的更方便手段,構(gòu)造了一臺(tái)虛擬機(jī),采用的操作命令決定了虛擬機(jī)的功能。
(3)進(jìn)程觀點(diǎn):從進(jìn)程角度分析操作系統(tǒng),則所有進(jìn)程的活動(dòng)就構(gòu)成了操作系統(tǒng)的當(dāng)前行為,在每一個(gè)瞬間都有一棵
進(jìn)程家族樹(shù),它展示著操作系統(tǒng)行為主體的一個(gè)快照。
(4)模塊分層觀點(diǎn):用模塊分層觀點(diǎn)討論模塊之間的關(guān)系或者說(shuō)討論如何形成操作系統(tǒng)的架構(gòu),如何安排連結(jié)這些程
序模塊才能構(gòu)造一個(gè)結(jié)構(gòu)簡(jiǎn)單清晰、邏輯正確、便于分析和實(shí)現(xiàn)的操作系統(tǒng)。2.什么是操作系統(tǒng)?簡(jiǎn)述現(xiàn)代操作系統(tǒng)
的特征。
答:操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、合理有效地組織計(jì)算機(jī)系統(tǒng)的工作,為用戶(hù)提供一個(gè)
使用方便可擴(kuò)展的工作環(huán)境,從而起到連接計(jì)算機(jī)和用戶(hù)的接口作用。
現(xiàn)代操作系統(tǒng)具有如下特征:
并發(fā)(共行)性:指能處理多個(gè)同時(shí)性活動(dòng)的能力。I/。操作和計(jì)算重疊,內(nèi)存中同時(shí)存放幾道
用戶(hù)程序,這些都是并發(fā)的例子。
。2共享:指多個(gè)計(jì)算任務(wù)對(duì)資源的共同享用。并發(fā)活動(dòng)可能要求共享資源和信息;多個(gè)用戶(hù)共享一個(gè)程序的同一個(gè)
副本,而不是分別向每個(gè)用戶(hù)提供一個(gè)副本可以避免重復(fù)開(kāi)發(fā),節(jié)省人力資源。
03不確定性:指操作系統(tǒng)必須能處理任何一種事件序列,以使各個(gè)用戶(hù)的算題任務(wù)正確地完成。3.操作系統(tǒng)和用戶(hù)
程序之間的關(guān)系是什么?答:操作系統(tǒng)通過(guò)虛擬及其界面給用戶(hù)程序提供各種服務(wù),用戶(hù)程序在運(yùn)行過(guò)程中不斷使用
操作系統(tǒng)提供的服務(wù)來(lái)完成自己的任務(wù)。如用戶(hù)程序在運(yùn)行過(guò)程中需要讀寫(xiě)磁盤(pán),這時(shí)就要調(diào)用操作系統(tǒng)的服務(wù)來(lái)
完成磁盤(pán)讀寫(xiě)操作。
另一方面,用戶(hù)程序不可能先于操作系統(tǒng)啟動(dòng)之前啟動(dòng),因此每次啟動(dòng)一個(gè)用戶(hù)程序,都相當(dāng)于操作系統(tǒng)將控制轉(zhuǎn)
移給用戶(hù)程序;而在用戶(hù)程序執(zhí)行完畢后,又將控制還回給操作系統(tǒng)。從這個(gè)角度看,操作系統(tǒng)是主程序,用戶(hù)程
序是子程序,操作系統(tǒng)在其生命周期內(nèi)不斷地調(diào)用各種應(yīng)用程序。因此操作系統(tǒng)和各種應(yīng)用程序可以看作是互相調(diào)
用,從而形成一個(gè)非常復(fù)雜的動(dòng)態(tài)關(guān)系。4.推動(dòng)操作系統(tǒng)進(jìn)化的原因有哪些?答:推動(dòng)操作系統(tǒng)進(jìn)化的根本原因
是:硬件成本的不斷下降;計(jì)算機(jī)功能和復(fù)雜性的不斷變化。成本降低意味著同樣的價(jià)格可以買(mǎi)到更為先進(jìn)的計(jì)算
機(jī);而復(fù)雜性的提高自然需要操作系統(tǒng)能力的提高。
另外,操作系統(tǒng)和攻擊者之間的博弈也是影響操作系統(tǒng)發(fā)展的一個(gè)重要因素。5.試簡(jiǎn)述操作系統(tǒng)的發(fā)展歷史。
答:操作系統(tǒng)大致經(jīng)歷了如下幾個(gè)重要階段:第一階段:狀態(tài)機(jī)操作系統(tǒng)(1940年以前)。此時(shí)計(jì)算機(jī)尚處于萌芽
狀態(tài),操作系統(tǒng)運(yùn)行在英國(guó)人貝巴斯想象的自動(dòng)機(jī)上。驅(qū)動(dòng)這一階段操作系統(tǒng)的動(dòng)力是個(gè)人英雄主義。第二階段:?jiǎn)?/p>
一操作員、單一控制端操作系統(tǒng)(20世紀(jì)40年代)。這種單一操作員、單一控制端操作系統(tǒng)(SOSC,single
operator.singleconsole)的操作系統(tǒng)是剛出現(xiàn)計(jì)算機(jī)時(shí)人們能想到的最直觀的控制計(jì)算機(jī)的方式,以美國(guó)賓西
法尼亞大學(xué)的ENIAC計(jì)算機(jī)為代表。操作系統(tǒng)提供一個(gè)標(biāo)準(zhǔn)命令供用戶(hù)使用,滿(mǎn)足用戶(hù)基本的人機(jī)交互需求。
(串行執(zhí)行)第三階段:批處理操作系統(tǒng)(20世紀(jì)50年代)。由于人操作緩慢,致使SOSC的運(yùn)行效率低下,即
人機(jī)矛盾,為了改變這種狀況,出現(xiàn)了批處理操作系統(tǒng),以舊M的1401和7094為代表。用戶(hù)首先將自己的程序
編在卡片或紙帶上,交給計(jì)算機(jī)管理員,管理員在收到一定數(shù)量的用戶(hù)程序后,將卡片及紙帶上的程序和數(shù)據(jù)通過(guò)
舊M1401機(jī)器讀入,并寫(xiě)在磁帶上。然后,計(jì)算機(jī)操作系統(tǒng)將這盤(pán)磁帶加載到舊M7094上,一個(gè)個(gè)地運(yùn)行用戶(hù)程
序,運(yùn)行的結(jié)果寫(xiě)到另一個(gè)磁盤(pán)上。所有程序運(yùn)行完畢后,將存有結(jié)果的磁盤(pán)連接到舊M1401上輸出。因此批處
理操作系統(tǒng)就是由批處理監(jiān)視器和
原來(lái)的操作系統(tǒng)庫(kù)函數(shù)組成的。(串行執(zhí)行)第四階段:多道批處理操作系統(tǒng)(20世紀(jì)60年代)。批處理階段不能
很好地解決高速設(shè)備(CPU)
等待低速設(shè)備(I/。)的問(wèn)題。此階段的主要目標(biāo)是讓CPU和I/O重疊運(yùn)行,以IBM的OS360為代表。同一時(shí)
間可以運(yùn)行多個(gè)程序(宏觀上),但控制計(jì)算機(jī)的人還是一個(gè),即用戶(hù)將自己的程序交給計(jì)算機(jī)管理員,再由管理員
負(fù)責(zé)加載運(yùn)行。(并發(fā)執(zhí)行)第五階段:分時(shí)/實(shí)時(shí)操作系統(tǒng)(20世紀(jì)70年代)。分時(shí)操作系統(tǒng)是為了解決人機(jī)
交互問(wèn)題而出現(xiàn)的,以MULTICS和UNIX為代表。用戶(hù)重新回到了機(jī)器的前面,通過(guò)RS232與主機(jī)進(jìn)行通信,
管理
自己的程序;主機(jī)給每個(gè)用戶(hù)分配一定的時(shí)間片,輪流地為各個(gè)用戶(hù)服務(wù)。實(shí)時(shí)操作系統(tǒng)是為了解決對(duì)計(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,Unix和Linux等。這時(shí)以信息安全、網(wǎng)絡(luò)為主要特征。
6.現(xiàn)代幾個(gè)典型操作系統(tǒng)所屬的類(lèi)型?答:操作系統(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ā)展,如單用戶(hù)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)、分布式操作系統(tǒng)
及智能化操作系統(tǒng)。
單用戶(hù)、單任務(wù)的操作系統(tǒng),以DOS操作系統(tǒng)為代表,繼CP/M操作系統(tǒng)之后,還出現(xiàn)了C-DOS,M-DOS,
TRS-DOS,S-DOS和MS-DOS等磁盤(pán)操作系統(tǒng)。還包括Windows95/98等版本。多用戶(hù)多道作業(yè)和分時(shí)系
統(tǒng),其典型代表有UNIX,XENIX、OS/2以及WindowsNT及其后來(lái)版本的
操作系統(tǒng)。
綜合題
1.假設(shè)有一個(gè)支持多道程序設(shè)計(jì)的計(jì)算機(jī)系統(tǒng),其中每個(gè)作業(yè)都有完全相同的屬性。對(duì)一個(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)=處理器處于激活態(tài)(非等待)時(shí)間的百分比。
計(jì)算當(dāng)有1.2或4個(gè)作業(yè)并發(fā)執(zhí)行時(shí)的周期、吞吐量和處理器使用率,假設(shè)時(shí)間段T按一下任
種方式分布:
1)I/。在前半段,處理器運(yùn)行在后半段;
2)將T分為4段,I/O在第1.4段,處理器運(yùn)行于第2,3段。
-:(1)I/O在前半段,處理E器運(yùn)行于后斗c段
12N完成時(shí)刻運(yùn)行時(shí)間利用率
AI/OCPUI/OCPUI/OCPUI/OCPUNN50%
12N
AI/OCPUI/OCPUI/OI/OCPUI/OCPUNN/2N
BI/OCPUI/OCPUCPUI/OCPUI/OCPUN+1/2N/2N+1/2
1232N-12N
AI/OCPUI/OI/OCPU2NN/2
2N
BI/OCPUI/OCPU2N-1/2N/2
CI/OCPUI/OCPU2NN/2
2N+1/2
DI/OCPUCPUI/OCPU2N+1/2N/2
2I/O在第,、4段,處理器運(yùn)行于第3g
1N
AI/OCPUCPUI/OI/OCPUI/OI/OCPUCPUI/ONN50%
1N
AI/OCPUCPUI/OI/OCPUCPUI/OI/OCPUCPUI/ONN/2N
BI/OCPUCPUI/OI/OCPUCPU/oI/OCPUCPUI/ON+1/2N/2N+1/2
123
I/OCPUGPUI/OI/OCPUCPU2N-3/4N/2
2N
I/OCPUCPUI/OI/OCPU2N-1/2N/2
I/OCPUCPUI/OI/O2NN/2
2N+1/2
I/OCPUCPUI/O/o2N+1/2N/2
當(dāng)同時(shí)運(yùn)行2個(gè)作業(yè)時(shí),系統(tǒng)吞吐量和CPU利用率顯著增加,表明系統(tǒng)被充分利用。但當(dāng)作業(yè)增加到4個(gè)時(shí),吞
吐量和CPU使用率變化不大,但平均周期卻增加一倍,表明系統(tǒng)負(fù)荷過(guò)重,作業(yè)處理
時(shí)間明顯增長(zhǎng)。
2.某計(jì)算機(jī)用Cache,內(nèi)存和磁盤(pán)來(lái)實(shí)現(xiàn)虛擬內(nèi)存。如果某數(shù)據(jù)在Cache中,訪問(wèn)它需要tA(ns);如果在內(nèi)
存但不在Cache中,則需要t(ns)的時(shí)間將其裝入Cache然后開(kāi)始訪問(wèn);如果不在內(nèi)存一
Bn1
中,需要tc(ns)將其讀入內(nèi)存,然后用ts(ns)讀入Cache。如果Cache命中率為,內(nèi)存
n命中率為m1,則平均訪問(wèn)時(shí)間是多少?
m答:根據(jù)題目中的數(shù)據(jù),平均訪問(wèn)時(shí)間為:
nJ1(tt)11
t.miVAB7
nni
nm也一
11
JA‘B%
nmn
3.操作系統(tǒng)的未來(lái)發(fā)展趨勢(shì)是怎樣的?
答:隨著計(jì)算機(jī)的不斷普及,操作系統(tǒng)的功能會(huì)變得越來(lái)越復(fù)雜。在這種趨勢(shì)下,操作系統(tǒng)的發(fā)展面臨著兩個(gè)不同的方
向選擇:一是微內(nèi)核,二是大而全的全方位發(fā)展。微內(nèi)核操作系統(tǒng)雖然有不少人在研究,但在工業(yè)界獲得認(rèn)可的并不
多。對(duì)工業(yè)界來(lái)說(shuō),操作系統(tǒng)是向著多功能、全方位方向發(fā)展的。另外,隨著人們對(duì)信息安全重視程度的不斷提高,如
何構(gòu)建可靠、可用和安全的操作系統(tǒng)將成為一個(gè)十分重要的課題。從Unix的1400行代碼到WindowsXP的4000
萬(wàn)行代碼,這種系統(tǒng)的爆炸性增長(zhǎng)給系統(tǒng)的可靠、可用和安全性帶來(lái)的安全隱患,在短時(shí)期內(nèi)是很難解決的。綜上所
述,操作系統(tǒng)的發(fā)展趨勢(shì)很難預(yù)測(cè)。
4.操作系統(tǒng)的主要特征是什么?答:操作系統(tǒng)的主要特征是并發(fā)性、共享性、虛擬性和不確定性。
。1并發(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ī)來(lái)處理一個(gè)可并發(fā)執(zhí)行的程序,這樣,多個(gè)程序便可同時(shí)執(zhí)行。兩個(gè)或多
個(gè)事件在同一時(shí)刻發(fā)生稱(chēng)為并行。在操作系統(tǒng)中存在著許多并發(fā)或并行的活動(dòng)。
。2共享性:共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的程序共同使用。由于資源屬性的
不同,對(duì)資源共享的方式也不同,目前主要有以下兩種資源共享方式互斥共享方式和同時(shí)訪問(wèn)方式。并發(fā)和共享是操
作系統(tǒng)的兩個(gè)最基本的特征,它們又互為對(duì)方存在的條件。一方面,資源共享是以程序的并發(fā)執(zhí)行為條件的,若系統(tǒng)
不允許程序并發(fā)執(zhí)行,自然不存在資源共享問(wèn)題;另一方面,若系統(tǒng)不能對(duì)資源共享實(shí)施有效管理,協(xié)調(diào)好多個(gè)程序
對(duì)共享資源的訪問(wèn),也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無(wú)法并發(fā)執(zhí)行。
。3虛擬性:是指將一個(gè)物理實(shí)體映射為若干個(gè)邏輯實(shí)體。前者是客觀存在的,后者是虛構(gòu)的,是一種感覺(jué)性的
存在,即主觀上的一種想象。
。4不確定性:在多道程序環(huán)境下,允許多個(gè)程序并發(fā)執(zhí)行,但只有程序在獲得所需的資源后方能執(zhí)行。在單
處理機(jī)環(huán)境下,由于系統(tǒng)中只有一個(gè)處理機(jī),因而每次只允許一個(gè)程序執(zhí)行,其余程序只能等待。內(nèi)存中的每個(gè)程序在
何時(shí)能獲得處理機(jī)運(yùn)行,何時(shí)又因提出某種資源請(qǐng)求而暫停,以及程序以怎樣的速度向前推進(jìn),每道程序總共需多少
時(shí)間才能完成,等等,都是不可預(yù)知的。因此,在操作系統(tǒng)中,存在著不確定性。
4.簡(jiǎn)述Windows系列操作系統(tǒng)的發(fā)展歷史。
答:Windows系列操作系統(tǒng)是由微軟公司從1985年起開(kāi)發(fā)的一系列視窗操作系統(tǒng)產(chǎn)品,包括個(gè)人(家
用)、商用和嵌入式3條產(chǎn)品線(圖)。個(gè)人操作系統(tǒng)包括WindowsMe,Windows95/98,及更早期的版本
Windows…等,主要在舊M個(gè)人機(jī)系列上運(yùn)行。商用操作系統(tǒng)是Windows2000和其前身版本W(wǎng)indowsNT,
主要在服務(wù)器、工作站等上運(yùn)行,也可以在舊M個(gè)人系列機(jī)上運(yùn)行。
嵌入式操作系統(tǒng)有WindowsCE和手機(jī)用操作系統(tǒng)stinger等。WindowsXP將使家用和商用兩條產(chǎn)品線合二為
-o截止至20世紀(jì)末,全世界運(yùn)行各種Windows版本的計(jì)算機(jī)有兩億臺(tái)左右。微軟公司從1983年開(kāi)始研制
Windows操作系統(tǒng)。當(dāng)時(shí),IBMPC進(jìn)入市場(chǎng)已有兩年,微軟公司開(kāi)發(fā)的磁盤(pán)操作系統(tǒng)DOS和編程語(yǔ)言BASIC隨
舊MPC捆綁銷(xiāo)售,取得了很大的成功。Windows操作系統(tǒng)最初的研制目標(biāo)是在DOS的基礎(chǔ)上提供一個(gè)多任務(wù)的
圖形用戶(hù)界面。不過(guò),第一個(gè)取得成功的圖形用戶(hù)
界面系統(tǒng)并不是Windows,而是Windows的模仿對(duì)象一一蘋(píng)果公司于1984年推出的MacOS(運(yùn)行于蘋(píng)果公司
的Macintosh個(gè)人計(jì)算機(jī)上),Macintosh機(jī)及其上的操作系統(tǒng)當(dāng)時(shí)已風(fēng)靡美國(guó)多年,是舊MPC和DOS操作
系統(tǒng)在當(dāng)時(shí)市場(chǎng)上的主要競(jìng)爭(zhēng)對(duì)手。當(dāng)年蘋(píng)果公司曾對(duì)PC機(jī)和Windows操作
系統(tǒng)不屑一顧,并大力抨擊微軟公司抄襲MacOS的外觀和靈感。但蘋(píng)果機(jī)和MacOS是封閉式體系
(硬件接口不公開(kāi)、系統(tǒng)源代碼不公開(kāi)等),而舊MPC和MS-DOS是開(kāi)放式體系(硬件接口公開(kāi)、允許并支持
第三方廠家做兼容機(jī)、公開(kāi)操作系統(tǒng)源代碼等)。這個(gè)關(guān)鍵的區(qū)別使得舊MPC后來(lái)者居上,銷(xiāo)量超過(guò)了蘋(píng)果機(jī),并
使得在舊MPC上運(yùn)行的Windows操作系統(tǒng)的普及率超過(guò)了MacOS,
成為個(gè)人計(jì)算機(jī)市場(chǎng)占主導(dǎo)地位的操作系統(tǒng)。5.簡(jiǎn)述UNIX系列操作系統(tǒng)的發(fā)展歷史。
答:“UNIX”這個(gè)名字是取“Multics”的反義,其誕生背景與特點(diǎn)一如其名。Multics項(xiàng)目
(MULTiplexedInformationandComputingService)由貝爾(電話)實(shí)驗(yàn)室(Bell(Telephone)
Laboratories,簡(jiǎn)稱(chēng)BTL),通用電氣公司(GeneralElectric)和麻省理工學(xué)院聯(lián)合開(kāi)發(fā),旨在建立一個(gè)能夠
同時(shí)支持?jǐn)?shù)千個(gè)用戶(hù)的分時(shí)系統(tǒng),該項(xiàng)目因目標(biāo)過(guò)于龐大而失敗,于1969年撤銷(xiāo)。退出Multics項(xiàng)目后,1969年
中期.貝爾實(shí)驗(yàn)室的雇員Thompson開(kāi)始在公司的一臺(tái)閑置的只有4KB內(nèi)存的PDP-7計(jì)算機(jī)上開(kāi)發(fā)一個(gè)“太空漫
游”游戲程序。由于PDP-7缺少程序開(kāi)發(fā)環(huán)境,為了方便
這個(gè)游戲程序的開(kāi)發(fā),Thompson和公司的另一名雇員Ritchie一起用GE-645匯編語(yǔ)言(以前曾用于Multics開(kāi)
發(fā))開(kāi)發(fā)PDP-7上的操作環(huán)境。最初是一個(gè)簡(jiǎn)單的文件系統(tǒng),很快又添加了一個(gè)
進(jìn)程子系統(tǒng)、一個(gè)命令解釋器和一些實(shí)用工具程序。他們將這個(gè)系統(tǒng)命名為UNIX。此后,隨著貝
爾實(shí)驗(yàn)室的工作環(huán)境的需要,他們將UNIX移植到PDP-11±,并逐漸增加了新的功能。很快,UNIX
開(kāi)始在貝爾實(shí)驗(yàn)室內(nèi)部流行,許多人都投入到它的開(kāi)發(fā)中來(lái)。1971年,《UNIX程序員手冊(cè)》第1版
出版,這之后直到1989年,貝爾實(shí)驗(yàn)室又相繼發(fā)行了10個(gè)版本的UNIX和相應(yīng)的手冊(cè)。1973年Ritchie用C語(yǔ)
言重寫(xiě)了UNIX(第4版),這使得UNIX的可移植性大大增強(qiáng),這是UNIX邁向成功之路的關(guān)鍵一步。1973年
10月,Thompson和Ritchie在ACM(AssociationforComputingMachinery,計(jì)算機(jī)協(xié)會(huì))的SOSP
(SymposiumOperatingSystemsPrinciples,操作系統(tǒng)原理
討論會(huì))會(huì)議上發(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ī)公司開(kāi)始發(fā)行自己機(jī)器上的UNIX增值商業(yè)版本。UNIX的第一
個(gè)商業(yè)變種是1977年InteractiveSystems公司的IS/1(PDP-11)。2。世紀(jì)80年代著名的商業(yè)變種有SUN
公司的SunOS、微軟公司與SCO公司的XENIX等。
20世紀(jì)70年代中期到80年代中期,UNIX的迅速發(fā)展,眾多大學(xué)和公司的參與.使得UNIX的
變種迅速增多。這些變種主要圍繞3條主線:由貝爾實(shí)驗(yàn)室發(fā)布的UNIX研究版(FirstEditionUNIX到Tenth
EditionUNIX,或稱(chēng)V1到V10,以后不再發(fā)行新版;由加利福尼亞州大學(xué)伯克利分校發(fā)布的BSD(Berkeley
SoftwareDistribution)和由貝爾實(shí)驗(yàn)室發(fā)布的UNIXSystemm和System
V。
到20世紀(jì)80年代,UNIX已在從微型機(jī)到巨型機(jī)等眾多不同機(jī)型上運(yùn)行。作為通用操作系統(tǒng),當(dāng)時(shí)UNIX
的主要競(jìng)爭(zhēng)對(duì)手是各計(jì)算機(jī)廠商的專(zhuān)有系統(tǒng),如舊M的OS360/370系列等。
20世紀(jì)80年代后期,UNIX已經(jīng)出現(xiàn)了很多變種,變種增多導(dǎo)致了程序的不兼容性和不可移植(同一應(yīng)用程
序在不同UNIX變種上不能直接運(yùn)行)。因此,迫切需要對(duì)UNIX進(jìn)行標(biāo)準(zhǔn)化。這就導(dǎo)致了兩大陣營(yíng)的出現(xiàn)。
1987年,在統(tǒng)一市場(chǎng)的浪潮中,AT&T宣布與SUN公司合作,揩個(gè)系SystemV和SunOS統(tǒng)一為一
統(tǒng)。其余廠商十分關(guān)注這項(xiàng)開(kāi)發(fā),認(rèn)為他們的市場(chǎng)處于威脅之下,他們的新于是聯(lián)合開(kāi)發(fā)新的開(kāi)放系統(tǒng)。
機(jī)構(gòu)OpenSoftwareFoundation(開(kāi)放軟件基金會(huì),簡(jiǎn)稱(chēng)然兩者都是OSF)于1988年成立。作為回
UNIX,但他們?cè)谙到y(tǒng)構(gòu)架、命令操作以及管理方式上都有所不同。兩者在市場(chǎng)
上展開(kāi)了激烈的競(jìng)爭(zhēng)。
應(yīng),AT&T和SUN公司聯(lián)盟亦于1988年形成了UNIXInternationalUNIX國(guó)際,簡(jiǎn)稱(chēng)UI)。這場(chǎng)
“UNIX戰(zhàn)爭(zhēng)”將系統(tǒng)廠商劃分成UI和OSF兩大陣營(yíng)。UI推出了SVR4,而OSF則推出了OSF/1o雖
兩種UNIX系統(tǒng)并存,卻又不能相互兼容,這對(duì)用戶(hù)非常不利,因而直接影響了UNIX對(duì)用戶(hù)的
吸引力。隨著Microsoft公司的迅速崛起,并以驚人的速度由傳統(tǒng)的PC機(jī)市場(chǎng)向工作站和網(wǎng)絡(luò)市場(chǎng)擴(kuò)張,迫使UI
和OSF兩大陣營(yíng)不得不相互讓步、握手言和,從而共同制定了應(yīng)用程序接口API
(ApplicationProgramInterface)標(biāo)準(zhǔn)技術(shù)規(guī)范,并聯(lián)合開(kāi)發(fā)共同開(kāi)放軟件環(huán)境COSE(Common
OpenSoftwareEnvironment)。
6.簡(jiǎn)述Linux操作系統(tǒng)的發(fā)展歷史。
答:Linux最初是由芬蘭赫爾辛基大學(xué)計(jì)算機(jī)系大學(xué)生LinusTorvalds,在從1990年底到1991
年的幾個(gè)月中,為了自己的操作系統(tǒng)課程學(xué)習(xí)和后來(lái)上網(wǎng)使用而陸續(xù)編寫(xiě)的,在他自己買(mǎi)的Intel386PC機(jī)上,利用
Tanenbaum教授自行設(shè)計(jì)的微型UNIX操作系統(tǒng)Minix作為開(kāi)發(fā)平臺(tái)。據(jù)Linus說(shuō)剛開(kāi)始的時(shí)候他根本沒(méi)有想到要
編寫(xiě)一個(gè)操作系統(tǒng)內(nèi)核,更沒(méi)想到這一舉動(dòng)會(huì)在計(jì)算機(jī)界產(chǎn)生如此重大的影響。最開(kāi)始是一個(gè)進(jìn)程切換器,然后是為
自己上網(wǎng)需要而自行編寫(xiě)的終端仿真程序,再后來(lái)是為他從網(wǎng)上下載文件而自行編寫(xiě)的硬盤(pán)驅(qū)動(dòng)程序和文件系統(tǒng)。這
時(shí)候他發(fā)現(xiàn)自己已經(jīng)實(shí)現(xiàn)了
一個(gè)幾乎完整的操作系統(tǒng)內(nèi)核,出于對(duì)這個(gè)內(nèi)核的信心和美好的奉獻(xiàn)與發(fā)展愿望,Linus希望這個(gè)內(nèi)核能夠免費(fèi)擴(kuò)散
使用,但出于謹(jǐn)慎,他并沒(méi)有在Minix新聞組中公布它,而只是于1991年底在赫爾辛基大學(xué)的一臺(tái)FTP服務(wù)器上
發(fā)了一則消息,說(shuō)用戶(hù)可以下載Linux的公開(kāi)版本(基于Intel
386體系結(jié)構(gòu))和源代碼。從此以后,奇跡發(fā)生了。
1993年.Linux的第一個(gè)產(chǎn)品一一Linux版問(wèn)世的時(shí)候,是按完全自由版權(quán)進(jìn)行擴(kuò)散的。它要求所有的源代
碼必須公開(kāi),而且任何人均不得從Linux交易中獲利。然而半年以后,Linus開(kāi)始意識(shí)到這種純粹的自由軟件理想對(duì)
于Linux的擴(kuò)散和發(fā)展來(lái)說(shuō),實(shí)際上是一種障礙而不是一股推動(dòng)力,因?yàn)樗拗屏薒inux以磁盤(pán)復(fù)制或者CD-ROM
等媒體形式進(jìn)行擴(kuò)散的可能,也限制了一些商業(yè)公司參與Linux進(jìn)一步開(kāi)發(fā)并提供技術(shù)支持的良好愿望。于是Linus
決定轉(zhuǎn)向GPL版權(quán),這一版權(quán)除了規(guī)定有自由軟件的各項(xiàng)許可權(quán)之外,還允許用戶(hù)出售自己的程序復(fù)制品。這一
版權(quán)上的轉(zhuǎn)變后來(lái)證明對(duì)Linux的進(jìn)一步發(fā)展確實(shí)極為重要。從此以后,便有多家技術(shù)力量雄厚又善于市場(chǎng)運(yùn)作的
商業(yè)軟件公司加入了原先完全由業(yè)余愛(ài)好者和網(wǎng)絡(luò)黑客所參與的這場(chǎng)自由軟件運(yùn)動(dòng),開(kāi)發(fā)出了多種Linux的發(fā)布版
本.增加了更易于用戶(hù)使用的圖形界面和眾多的軟件開(kāi)發(fā)工具,極大地拓展了Linux的全球用戶(hù)基礎(chǔ)。Linus本人
也認(rèn)為:“使Linux成為GPL的一員是我一生中所做過(guò)的最漂亮的一件事。”一些軟件公司,如RedHat、
InfoMagic等也不失時(shí)機(jī)地推出了自己的以Linux為核心的操作系統(tǒng)版本,這大大推動(dòng)了Linux的商品化。在一些大
的計(jì)算機(jī)公司的支持下,Linux還被移植到Alpha、PowerPC,MIPS及SPARC等為處理機(jī)的系統(tǒng)上。
隨著Linux用戶(hù)基礎(chǔ)的不斷擴(kuò)大,性能的不斷提高、功能的不斷增加,各種平臺(tái)版本的不斷涌現(xiàn),以及越來(lái)
越多商業(yè)軟件公司的加盟,Linux已經(jīng)在不斷地向高端發(fā)展,開(kāi)始進(jìn)入越來(lái)越多的公司和企業(yè)計(jì)算領(lǐng)域。Linux被許
多公司和Internet服務(wù)提供商用于Internet網(wǎng)頁(yè)服務(wù)器或電子郵件服務(wù)器,并已開(kāi)始在很多企業(yè)計(jì)算領(lǐng)域中大顯身
手。1998年下半年,由于Linux本身的優(yōu)越性,使得它成為傳媒關(guān)注的焦點(diǎn),進(jìn)而出現(xiàn)了當(dāng)時(shí)的“Linux熱”:首
先是各大數(shù)據(jù)庫(kù)廠商(Oracle、Informix,Sybase等);繼而是其它各大軟硬件廠商(舊M、Intel,
Netscape.Corel、Adeptec.SUN公司等),紛紛宣布支持甚至投資Linux(支持是指該廠商自己的軟硬件產(chǎn)
品支持Linux,即可以在Linux下運(yùn)行,最典型的是推出xxxforLinux版或推出預(yù)裝Linux的機(jī)器等)。即使像
SUN和HP這樣的公同,盡管它們的操作系統(tǒng)產(chǎn)品與Linux會(huì)產(chǎn)生利益沖突,也大力支持Linux,從而達(dá)到促迸其
硬件產(chǎn)品銷(xiāo)售的目的。
7.自由軟件的含義是什么?
答:自由軟件的自由(free)有兩個(gè)含義:第一是免費(fèi),第二是自由。免費(fèi)是指自由軟件可免費(fèi)提供給任何用
戶(hù)使用,即便是用于商業(yè)目的,并且自由軟件的所有源程序代碼也是公開(kāi)的,可免費(fèi)得到。自由是指它的源代碼不僅
公開(kāi)而且可以自由修改,無(wú)論修改的目的是使自由軟件更加完善,還是在對(duì)自由軟件進(jìn)行修改的基礎(chǔ)上開(kāi)發(fā)上層軟
件??傊?,可以對(duì)它做自己喜歡做的任何事情,除了一兩件不能做的事之外(如不能宣稱(chēng)這個(gè)系統(tǒng)是你自己開(kāi)發(fā)
的)。自由軟件的出現(xiàn)給人們帶來(lái)很大的好處:首先,免費(fèi)可給用戶(hù)節(jié)省相當(dāng)?shù)馁M(fèi)用;其次,公開(kāi)源碼可吸引盡可能
多的開(kāi)發(fā)者參與軟件的查錯(cuò)與改進(jìn);在開(kāi)發(fā)協(xié)調(diào)人的控制下,自由軟件新版本的公布、反饋、更新等過(guò)程是完全開(kāi)放
的。
第二章進(jìn)程管理
選擇題
1.進(jìn)程在發(fā)出I/O請(qǐng)求后,可能導(dǎo)致下列哪種進(jìn)程狀態(tài)演變?
A.就緒一執(zhí)行B.執(zhí)行->就緒
C.阻塞-執(zhí)行D.執(zhí)行一阻塞
2.“臨界區(qū)”是指:C
A.一組臨界資源的集合B.可共享的一塊內(nèi)存區(qū)
C.訪問(wèn)臨界資源的一段代碼D.請(qǐng)求訪問(wèn)臨界資源的代碼
3使用一個(gè)信號(hào)量協(xié)調(diào)5個(gè)進(jìn)程對(duì)3個(gè)同類(lèi)臨界資源的訪問(wèn),下列哪個(gè)信號(hào)量值不應(yīng)該出現(xiàn)?
A.3B.0C.-1D.-3
4使用一個(gè)信號(hào)量協(xié)調(diào)6個(gè)進(jìn)程對(duì)2個(gè)同類(lèi)臨界資源的訪問(wèn),下列哪個(gè)信號(hào)量值不應(yīng)該出現(xiàn)?
A.3B.0C.1D.-3
5“臨界資源”是指:C
A.正在被占用的資源B.不可共享的資源
C.一次只能被一個(gè)進(jìn)程使用的資源D.可同時(shí)使用的資源
6.下列哪種通信方式不屬于:一個(gè)進(jìn)程向中間實(shí)體發(fā)送消息,等待另一進(jìn)程異步地接收。D
A.共享存儲(chǔ)區(qū)B.消息緩沖C.信箱方式D.共享文件
7.如何從用戶(hù)方式(用戶(hù)態(tài))轉(zhuǎn)入特權(quán)方式(核心態(tài))?D
A.使用特權(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)是通過(guò)以下那個(gè)調(diào)度程序?qū)崿F(xiàn)的?B
A.作業(yè)調(diào)度B.進(jìn)程調(diào)度
C.中級(jí)調(diào)度D.驅(qū)臂調(diào)度
9,以下哪個(gè)不是程序并發(fā)執(zhí)行時(shí)所產(chǎn)生的特性:D
A.與速度無(wú)關(guān)性B.不可再現(xiàn)性
C.相互制約性D.通信性
10.當(dāng)某個(gè)作業(yè)被作業(yè)調(diào)度程序選中,進(jìn)入內(nèi)存開(kāi)始運(yùn)行時(shí),作業(yè)的狀態(tài)為:C
A.提交狀態(tài)B.完成狀態(tài)
C.執(zhí)行狀態(tài)D.后備狀態(tài)
11.以下哪個(gè)不是程序順序執(zhí)行時(shí)的特性(D)
A.封閉性B.順序性
C,無(wú)關(guān)性D.不可再現(xiàn)性
12.在消息緩沖通信方式中,通信的基本單位是一B-。
A.文件B.消息C.記錄D.字段13.可以使用銀行家算法_D死鎖。
A.預(yù)防B.檢測(cè)C.解除D.避免14.在消息緩沖隊(duì)列中,消息隊(duì)列屬于_A_資源。
A.臨界B.共享C.永久D.可剝奪
15.在操作系統(tǒng)中,進(jìn)行資源分配、調(diào)度和管理的最小獨(dú)立單位是一C
A.作業(yè)B.程序C.進(jìn)程D.用戶(hù)
16.進(jìn)程控制的功能是首先將要參加并發(fā)執(zhí)行的程序A,進(jìn)程完成時(shí)撤銷(xiāo)進(jìn)程,以及控制進(jìn)程B,
進(jìn)程控制通常是利用C實(shí)現(xiàn)的。進(jìn)程從運(yùn)行態(tài)到阻塞態(tài)的轉(zhuǎn)換.由D的進(jìn)程調(diào)用E原語(yǔ)來(lái)實(shí)現(xiàn);一個(gè)進(jìn)程因等待某
類(lèi)資源而阻塞,正在執(zhí)行的進(jìn)程釋放該類(lèi)資源時(shí)調(diào)用F原語(yǔ)把阻塞的進(jìn)程轉(zhuǎn)換為G。正在執(zhí)行的進(jìn)程響應(yīng)外中斷后再
把阻塞的進(jìn)程喚醒,被喚醒的進(jìn)程原來(lái)等待的事件為H。
選擇答案;
(1)創(chuàng)建進(jìn)程⑵分派CPU(3)調(diào)入內(nèi)存(4)狀態(tài)轉(zhuǎn)換(5)過(guò)程調(diào)用(6)原語(yǔ)(7)
阻塞(8)喚醒(9)正在運(yùn)行(10)I/。操作(11)就緒態(tài)(12)運(yùn)行態(tài)17.1?阻塞態(tài)共享系統(tǒng)資
源或相互合的任務(wù),則
果多個(gè)進(jìn)程作完成一個(gè)嘈IABICIDEIF
B黑運(yùn)票相嘉乍的盤(pán)L3cU以LU贏二士j案諸進(jìn)程是以臨界資源的
訪問(wèn)時(shí)采用
(1)共享(2)獨(dú)立D
3)互斥(4)同步(5)次序6)次數(shù)(在同異班同只允許一個(gè)寫(xiě)者去
18.一個(gè)數(shù)據(jù)表格(Dtab),許R皆個(gè)二朝甲琦。|研|口寫(xiě),容讀者讀前必須在登記表(Tab)
記,退出時(shí)則要?jiǎng)h除相應(yīng)的登同步操作案工572上登記項(xiàng)。對(duì)以下流程填入正確語(yǔ)句實(shí)現(xiàn)
(注:Tab=?表示登記表為空,即沒(méi)有讀苗或?qū)懱嬲诓僮?/p>
varmutex,wmutex.count:semaphore:=1,1,RN
Dtab0)
□
學(xué)家使用。桌子中間是一些“永遠(yuǎn)也吃不完”的飯菜。
桌子上還放有5個(gè)盤(pán)子和5支筷子。當(dāng)哲學(xué)家們思考問(wèn)題
時(shí),它們互不干擾。一個(gè)哲學(xué)家需要用餐了,他就進(jìn)入餐
廳,走到餐桌邊找到一把空椅子就座,然后就試圖去拿
相鄰的兩支筷
子。當(dāng)然,他不能去拿已經(jīng)握在鄰近椅子上同事手上的筷子,也不能去拿位于其左、右同事位置之外的筷子。當(dāng)一個(gè)需
用餐的哲學(xué)家拿到鄰近的兩支筷子后,他就開(kāi)始用餐而不放下。當(dāng)他用餐完畢,就把手中的兩支筷子放回原處再去思考
他的問(wèn)題。因此,這些哲學(xué)家門(mén)的生活是一種單調(diào)的重復(fù)動(dòng)作,即這個(gè)問(wèn)題可以概括為:repeat
think,eat
forever。
o?
用一個(gè)信號(hào)量表示一支筷子。一個(gè)哲學(xué)家試圖去拿一支筷子是通過(guò)在哪個(gè)信號(hào)量上執(zhí)行一個(gè)
P操作來(lái)表示的,放下一支筷子則是在相應(yīng)的信號(hào)量上執(zhí)行一個(gè)v操作來(lái)描述的。因此共享變量是筷子,相應(yīng)的程序
為:
programdiningphilosophers;
varchopstick:array[0..4]ofsemaphore;(*binary*)
i:integer;
procedurephilosopher(l:integer);
beginrepeat
think;
p(chopstick[i]);
p(chopstick[(i+1)mod5]);
eat;
v(chopstick[i]);
v(chopstick[(i+1)mod5]);
forever
end;
begin(*mainprogram*)
fori:=1to4dochopstick[i]:=1;
cobegin
philosopher(O);philosopher(l);philosopher(2);philosopher(3);philosopher(4);
coend
end.注:該算法簡(jiǎn)單,能夠互斥,但有可能產(chǎn)生死鎖(每個(gè)人都拿到了左邊的筷子,又試圖去拿右邊的筷子
時(shí))。
O2Programdiningphilosophers;
Monitorchopstickmonitor;
Varchopstick:array[0..4]ofinteger;
oktoeat:array[0..4]ofcondition;
i:integer;
proceduretakechopstick(i:integer);
begin
ifchopstick[i]<>2thenwait(oktoeat);
chopstick[(i+1)mod5]:=chopstick[(i+1)mod5]-1;
chopstick[(i-1)mod5]:=chopstick[(i-1)mod5]-1;
end;
procedurreleasechopstick(iinteger);
begin
chopstick[(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)mod5]);
ifchopstick[(i-1)mod5]=2thensingal(oktoeat[(i-1)mod5]);
end;
begin(*monitor賦初值部分*)
fori:=1to4dochopstick[i]:=2
end;
procedurephilosopher(i:integer);
beginrepeat
think;takechopstick(i);
eat;
releasechopstick(i);
forever
end;
begin(*mainprogram*)
cobegin
philosopher(O);philosopher(l);philosopher(2);philosopher(3);philosopher(4);
coend
end注:這種使用管程方法解決了死鎖,同時(shí)又是互斥執(zhí)行。
。3下面給出一種使用P、V操作實(shí)現(xiàn)的辦法,它不僅保證了安全性,而且也不會(huì)發(fā)生死鎖和饑餓現(xiàn)象。相應(yīng)的程
序描述如下:
programdiningphilosophers;
varchopstick:array[0..4]ofsemaphore;(*binary*)
room:semaphore;
i:integer;
Procedurephilosopher(i:integer);
beginrepeat
think;
P(room);
P(chopstick[(i+1)mod5]);
eat;
V(chopstick[i]);
V(chopstick[(i+1)mod5]);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 荊州理工職業(yè)學(xué)院《大學(xué)生職業(yè)生涯發(fā)展與規(guī)劃》2023-2024學(xué)年第一學(xué)期期末試卷
- 開(kāi)封職業(yè)學(xué)院《學(xué)術(shù)英語(yǔ)(人文)》2023-2024學(xué)年第一學(xué)期期末試卷
- 北京電子科技學(xué)院《商務(wù)數(shù)據(jù)分析與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州航天職業(yè)技術(shù)學(xué)院《統(tǒng)計(jì)學(xué)原理實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 河北科技學(xué)院《科技前沿講座》2023-2024學(xué)年第二學(xué)期期末試卷
- 平?jīng)鍪徐o寧縣2025年數(shù)學(xué)五下期末達(dá)標(biāo)檢測(cè)模擬試題含答案
- 黑龍江工商學(xué)院《道路勘測(cè)設(shè)計(jì)課程設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 供應(yīng)商績(jī)效評(píng)審流程
- 房架鋼結(jié)構(gòu)施工方案
- 2025年創(chuàng)新藥發(fā)展趨勢(shì):市場(chǎng)表現(xiàn)與未來(lái)機(jī)遇-基于數(shù)據(jù)的深度解析
- 2024年全國(guó)財(cái)會(huì)知識(shí)競(jìng)賽考試題庫(kù)(濃縮500題)
- 數(shù)據(jù)標(biāo)注工程-概念、方法、工具與案例 課件 第6章 文本數(shù)據(jù)標(biāo)注
- 2024年江西旅游商貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 江蘇南京郵電大學(xué)教務(wù)處校內(nèi)招考聘用工作人員公開(kāi)引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(kù)(共500題)答案詳解版
- JJG 393-2018便攜式X、γ輻射周?chē)鷦┝慨?dāng)量(率)儀和監(jiān)測(cè)儀
- 建筑物電子信息系統(tǒng)防雷技術(shù)規(guī)范(局部修訂條文)
- 《護(hù)士條例》全文
- 華住會(huì)酒店員工手冊(cè)
- 鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握袇⒖荚囶}庫(kù)(含答案)
- 塔斯汀營(yíng)銷(xiāo)分析
- 市紀(jì)委跟班學(xué)習(xí)工作總結(jié)
評(píng)論
0/150
提交評(píng)論