




已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精品文檔操作系統(tǒng)1.什么是計(jì)算機(jī)系統(tǒng)?計(jì)算機(jī)系統(tǒng)是怎么構(gòu)成的?了解PC的組成情況,說(shuō)明:1)硬件組織的基本結(jié)構(gòu),畫(huà)出硬件配置圖;2)主要系統(tǒng)軟件和應(yīng)用軟件(若有的話)他們的作用。 答:計(jì)算機(jī)系統(tǒng)就是按照人的要求接收和存儲(chǔ)信息,自動(dòng)進(jìn)行數(shù)據(jù)處理和計(jì)算,并輸出結(jié)果信息的系統(tǒng)。 計(jì)算機(jī)系統(tǒng)由硬件子系統(tǒng)和軟件子系統(tǒng)組成。 計(jì)算機(jī)系統(tǒng)的構(gòu)成包括:如圖 1.2 計(jì)算機(jī)硬件系統(tǒng)的構(gòu)成:如圖 1.42.從功能以及程序涉設(shè)計(jì)的角度說(shuō)明計(jì)算機(jī)系統(tǒng)中軟件系統(tǒng)是如何構(gòu)成的?答:分為系統(tǒng)軟件,支撐軟件和應(yīng)用軟件三層。3.什么是操作系統(tǒng)?請(qǐng)舉例說(shuō)明操作系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的重要地位。答:操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的一個(gè)系統(tǒng)軟件,是一些程序模塊的集合。它們能以盡量有效、合理的方式組織和管理計(jì)算機(jī)的軟硬件資源,合理的組織計(jì)算機(jī)的工作流程,控制程序的執(zhí)行并向用戶提供各種服務(wù)功能,使得用戶能夠靈活、方便、有效的使用計(jì)算機(jī),使整個(gè)計(jì)算機(jī)系統(tǒng)能安全高效地運(yùn)行4.請(qǐng)舉一個(gè)實(shí)際的例子來(lái)說(shuō)明操作系統(tǒng)的功能。答:你能用用操作系統(tǒng)管理很多資源5.為什么說(shuō)“操作系統(tǒng)是控制硬件的軟件”的說(shuō)法不確切?答:操作系統(tǒng)不僅能夠控制硬件,也可以控制各種軟件資源。6.操作系統(tǒng)的基本特征是什么?說(shuō)明他們之間的關(guān)系。答:1.并發(fā)性 2.共享性3.隨機(jī)性7.試從獨(dú)立性,并發(fā)性和交互性和實(shí)時(shí)性四個(gè)方面來(lái)比較批處理系統(tǒng),分時(shí)系統(tǒng)以及實(shí)時(shí)系統(tǒng)。答:分時(shí)系統(tǒng):并發(fā)性是指同時(shí)有多個(gè)用戶共同使用一個(gè)計(jì)算機(jī),宏觀上看是多個(gè)人同時(shí)使用一個(gè)CPU,微觀上是多個(gè)人在不同時(shí)刻輪流使用CPU. 獨(dú)占性,是指用戶感覺(jué)不到計(jì)算機(jī)為他們服務(wù),就好像整個(gè)系統(tǒng)為他所獨(dú)占。 交互性:是指用戶根據(jù)系統(tǒng)響應(yīng)結(jié)果進(jìn)一步提出新要求,用戶直接干預(yù)每一步。 實(shí)時(shí)性:是指系統(tǒng)對(duì)用戶提出的請(qǐng)求及時(shí)響應(yīng)。 8.引入多道程序設(shè)計(jì)技術(shù)的起因和目的是什么?多道程序系統(tǒng)的特征是什么?答:多道程序設(shè)計(jì)的基本思想在內(nèi)存中保持多個(gè)作業(yè),主機(jī)可以交替的方式同時(shí)處理多個(gè)作業(yè),一般來(lái)說(shuō)任何一道作業(yè)的運(yùn)行總是要交替的使用處理器和外設(shè)子案9.多道程序設(shè)計(jì)的度是指在任一給定時(shí)刻,單個(gè)CPU所能支持的進(jìn)程數(shù)目最大值。討論要確定一個(gè)特定系統(tǒng)的多道程序設(shè)計(jì)的度必須考慮的因素??梢约俣ㄅ幚硐到y(tǒng)中進(jìn)程數(shù)量與作業(yè)數(shù)量相同。答:10.描述批處理系統(tǒng)響應(yīng)一個(gè)執(zhí)行請(qǐng)求需要的時(shí)間(稱(chēng)為響應(yīng)時(shí)間),描述分時(shí)系統(tǒng)下的響應(yīng)時(shí)間,什么樣的系統(tǒng)可能有較短的響應(yīng)時(shí)間?為什么?答: 1)就是將用戶的作業(yè)組成一批作業(yè),之后輸入到計(jì)算機(jī)中,計(jì)算機(jī)依次執(zhí)行每個(gè)作業(yè),然后輸出,即為響應(yīng)時(shí)間。 2)定義這個(gè)響應(yīng)時(shí)間就是:系統(tǒng)對(duì)一個(gè)輸入的反應(yīng)時(shí)間 實(shí)時(shí)系統(tǒng)的反應(yīng)時(shí)間11.什么情況下批處理是比較好的策略?什么情況下分時(shí)是比較好的策略?現(xiàn)代的操作系統(tǒng)往往要把兩者結(jié)合,請(qǐng)舉出這樣的例子,并說(shuō)明它們是怎樣被結(jié)合起來(lái)的,并通過(guò)這樣的結(jié)合獲得了什么好處。答:常見(jiàn)的通用操作系統(tǒng)是分時(shí)系統(tǒng)與批處理系統(tǒng)結(jié)合,其原則是:分時(shí)優(yōu)先,批處理再后,前臺(tái)響應(yīng)需要頻繁交互的作業(yè),如終端的要求?!昂笈_(tái)”處理時(shí)間性要求不強(qiáng)的作業(yè)。12.操作系統(tǒng)的技術(shù)發(fā)展是怎樣的?從這一技術(shù)演化過(guò)程可以得到什么啟發(fā)?答:操作系統(tǒng)的發(fā)展是根據(jù)計(jì)算機(jī)硬件發(fā)展,計(jì)算機(jī)應(yīng)用軟件的發(fā)展而發(fā)展的, 我們發(fā)展操作系統(tǒng)的目標(biāo)就是:充分利用硬件,提供更好的服務(wù)。13.請(qǐng)作一個(gè)調(diào)查,看看各種計(jì)算機(jī)的應(yīng)用領(lǐng)域都在使用什么樣的操作系統(tǒng),他們分別是什么類(lèi)型的操作系統(tǒng),調(diào)查的內(nèi)容應(yīng)該涵概現(xiàn)代操作系統(tǒng)的主要類(lèi)別.14.現(xiàn)有一下應(yīng)用計(jì)算機(jī)的場(chǎng)合,請(qǐng)為其選擇適當(dāng)?shù)牟僮飨到y(tǒng)。1)航天航空,核變研究;2)國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)處理中心;3)學(xué)校學(xué)生上機(jī)學(xué)習(xí)編程 4)高爐爐溫控制;5)民航定票系統(tǒng),6)發(fā)送電子郵件(在兩個(gè)地區(qū)之間)答:1)航天航空,核變研究:嵌入式操作系統(tǒng) 2)分布式操作系統(tǒng) 3)個(gè)人計(jì)算機(jī)操作系統(tǒng) 4)實(shí)時(shí)操作系統(tǒng) 5)批處理操作系統(tǒng) 6)網(wǎng)絡(luò)操作系統(tǒng)。15.什么是Spooling技術(shù)?他有什么用?你認(rèn)為未來(lái)先進(jìn)的個(gè)人計(jì)算機(jī)會(huì)把假脫機(jī)作為一個(gè)關(guān)鍵特性嗎?答:假脫機(jī)(SPOOLing.)技術(shù)的全稱(chēng)是同時(shí)得外部設(shè)備聯(lián)機(jī)操作,這種技術(shù)的基本思想是用磁盤(pán)設(shè)備作為主機(jī)的直接輸入輸出設(shè)備,主機(jī)直接從磁盤(pán)上選取作業(yè)運(yùn)行,作業(yè)的執(zhí)行結(jié)果16.外殼程序(shell)是不是操作系統(tǒng)的一部分,為什么?答:不是,它不屬于操作系統(tǒng)內(nèi)核的一部分,它是一個(gè)應(yīng)用程序。17.如果你有一個(gè)可用得類(lèi)UNIX系統(tǒng),例如Linux,Minix或者BSD等,而且你有足夠的權(quán)限重起或者使得系統(tǒng)崩潰,請(qǐng)編寫(xiě)一個(gè)shell程序作下面的實(shí)驗(yàn),用該shell程序不停的產(chǎn)生新進(jìn)程,觀察發(fā)生的事情,在運(yùn)行你的shell之前,請(qǐng)用sync命令同步硬盤(pán)和內(nèi)存中的磁盤(pán)緩存,以免在程序運(yùn)行過(guò)程中訪問(wèn)文件系統(tǒng),注意,請(qǐng)不要在任何共享的系統(tǒng)中做這件事情?答:進(jìn)程數(shù)不斷增多,最后導(dǎo)致系統(tǒng)崩潰了!重要:18.現(xiàn)代操作系統(tǒng)的設(shè)計(jì)很講求機(jī)制與策略的分離,已經(jīng)使操作系統(tǒng)的結(jié)構(gòu)和實(shí)現(xiàn)能夠在一定范圍內(nèi)適應(yīng)不同的需要。例如Solaris的調(diào)度器實(shí)現(xiàn)了進(jìn)程調(diào)度的基本機(jī)制,同時(shí)它允許通過(guò)動(dòng)態(tài)調(diào)整核心參數(shù)實(shí)現(xiàn)不同負(fù)載下的系統(tǒng)性能平衡,這就是一種機(jī)制和策略的分離,請(qǐng)給出一個(gè)例子,說(shuō)明怎樣根據(jù)調(diào)度將機(jī)制和策略分開(kāi)。請(qǐng)構(gòu)造一種機(jī)制,允許父進(jìn)程控制子進(jìn)程的調(diào)度策略。19.有興趣,可以去寫(xiě)一篇,記得寫(xiě)完了,發(fā)給我,我把你的文章貼上來(lái)!硬件環(huán)境1. 請(qǐng)簡(jiǎn)述處理器的組成和工作原理。你認(rèn)為那些部分和操作系統(tǒng)的密切關(guān)系,為什么?答: 一般的處理器由運(yùn)算器,控制器,一系列的寄存器以及高速緩存構(gòu)成。運(yùn)算器實(shí)現(xiàn)任何指令中的算術(shù)和邏輯運(yùn)算,是計(jì)算機(jī)計(jì)算的核心;控制器負(fù)責(zé)控制程序運(yùn)行的流程,包括取指令,維護(hù)CPU狀態(tài),CPU與內(nèi)存之間的交互等等。寄存器是指令在CPU內(nèi)部做處理的過(guò)程中占存數(shù)據(jù),地址一級(jí)指令信息的存儲(chǔ)設(shè)備,在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問(wèn)速度。加上高速緩存以及內(nèi)存管理單元(MMU)2. 為了支持操作系統(tǒng),現(xiàn)代處理器一般都提供哪兩種工作狀態(tài),用來(lái)隔離操作系統(tǒng)和普通程序??jī)煞N狀態(tài)各有什么特點(diǎn)?答;多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài):操作系統(tǒng)管理程序運(yùn)行的狀態(tài),較高的特權(quán)級(jí)別,又稱(chēng)為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài)目態(tài):用戶程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,又稱(chēng)為普通態(tài)(普態(tài))、用戶態(tài)3.什么是分級(jí)的存儲(chǔ)體系結(jié)構(gòu)?它主要解決什么問(wèn)題?答:容量、速度和成本三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡存取速度快,每比特價(jià)格高容量大,每比特價(jià)格越低,同時(shí)存取速度也越慢解決方案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)當(dāng)沿著層次下降時(shí)每比特的價(jià)格將下降,容量將增大速度將變慢,處理器的訪問(wèn)頻率也將下降4.主存儲(chǔ)器通常有哪兩種類(lèi)型?它們各自的特點(diǎn)是什么?用在哪里?答:硬盤(pán)存儲(chǔ)器,和內(nèi)存存儲(chǔ)器. 硬盤(pán)存儲(chǔ)器:容量大,存儲(chǔ)速率慢,斷電后,數(shù)據(jù)信息不丟失 內(nèi)存存儲(chǔ)器:容量小,存儲(chǔ)速率快,斷電后,數(shù)據(jù)信息丟失。5.請(qǐng)簡(jiǎn)述程序局部性原理。這個(gè)原理在分級(jí)的存儲(chǔ)體系結(jié)構(gòu)中是怎么樣起作用的?答:時(shí)間局部性,空間局部性。起的作用是:提高存儲(chǔ)系統(tǒng)效能這個(gè)目的。 6.什么是存儲(chǔ)保護(hù)?有哪些方法實(shí)現(xiàn)存儲(chǔ)保護(hù)?答:對(duì)主存中的信息加以嚴(yán)格的保護(hù),使操作系統(tǒng)及其它程序不被破壞,是其正確運(yùn)行的基 本條件之一 多用戶,多任務(wù)操作系統(tǒng):OS給每個(gè)運(yùn)行進(jìn)程分配一個(gè)存儲(chǔ)區(qū)域 操作系統(tǒng)提供了:1.界限地址寄存器,存儲(chǔ)健兩個(gè)存儲(chǔ)保護(hù)機(jī)構(gòu)!7。 呵呵,大家去翻資料把!8.緩沖技術(shù)在計(jì)算機(jī)系統(tǒng)中起著什么樣的作用?它是如何工作的?答:緩沖技術(shù)一般有三個(gè)用途,一種是用在處理器和主存儲(chǔ)器之間的;另一種是用在處理器和其他外部設(shè)備之間的;還有一種是用在設(shè)備與設(shè)備之間的通信上。9.什么是中斷?為什么說(shuō)中斷對(duì)現(xiàn)代計(jì)算機(jī)很重要?答:中斷概念:指CPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生事件如外部設(shè)備完成數(shù)據(jù)傳輸,實(shí)時(shí)設(shè)備出現(xiàn)異常等中斷機(jī)制是操作系統(tǒng)得以正常工作的最重要的手段它使得OS可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用及時(shí)處理設(shè)備的中斷請(qǐng)求防止用戶程序中破壞性的活動(dòng)等等10.中斷的一般處理過(guò)程是怎么樣的?多個(gè)中斷同時(shí)發(fā)生呢?答:1)如書(shū)圖2.9(簡(jiǎn)單的中斷處理過(guò)程) 2)如書(shū)圖2.12(一個(gè)多優(yōu)先級(jí)中斷系統(tǒng)中多個(gè)中斷的處理示例)11.請(qǐng)簡(jiǎn)述中斷和操作體統(tǒng)的關(guān)系,操作系統(tǒng)是如何利用中斷機(jī)制的?答:中斷機(jī)制是操作系統(tǒng)得以正常工作的最重要的手段它使得OS可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用及時(shí)處理設(shè)備的中斷請(qǐng)求防止用戶程序中破壞性的活動(dòng)等等12. 常用的I/O控制技術(shù)有那些?各有什么特點(diǎn)?答:常用的I/O控制技術(shù)有以下幾種:程序控制,中斷驅(qū)動(dòng)以及直接存儲(chǔ)器存取(DMA)以及通道。程序控制I/O技術(shù):由處理器提供I/O相關(guān)指令來(lái)實(shí)現(xiàn)I/O處理單元處理請(qǐng)求并設(shè)置I/O狀態(tài)寄存器相關(guān)位不中斷處理器,也不給處理器警告信息處理器定期輪詢I/O單元的狀態(tài),直到處理完畢I/O軟件包含直接操縱I/O的指令控制指令: 用于激活外設(shè),并告訴它做什么狀態(tài)指令: 用于測(cè)試I/O控制中的各種狀態(tài)和條件數(shù)據(jù)傳送指令: 用于在設(shè)備和主存之間來(lái)回傳送數(shù)據(jù)主要缺陷:處理器必須關(guān)注I/O處理單元的狀態(tài),因而耗費(fèi)大量時(shí)間輪詢信息,嚴(yán)重地降低了系統(tǒng)性能中斷驅(qū)動(dòng)I/O技術(shù):為了解決程序控制I/O方法的主要問(wèn)題 應(yīng)該讓處理器從輪詢?nèi)蝿?wù)中解放出來(lái) 使I/O操作和指令執(zhí)行并行起來(lái)具體作法: 當(dāng)I/O處理單元準(zhǔn)備好與設(shè)備交互的時(shí)候 通過(guò)物理信號(hào)通知處理器,即中斷處理器DMA技術(shù):中斷的引入大大地提高了處理器處理I/O的效率當(dāng)處理器和I/O間傳送數(shù)據(jù)時(shí),效率仍舊不高解決方法:直接存儲(chǔ)器訪問(wèn)(DMA:Direct Memory Access)通過(guò)系統(tǒng)總線中一獨(dú)立控制單元DMA控制器自動(dòng)控制成塊數(shù)據(jù)在內(nèi)存和I/O單元間的傳送大大提高處理I/O的效能通道:獨(dú)立于中央處理器,專(zhuān)門(mén)負(fù)責(zé)數(shù)據(jù)I/O傳輸?shù)奶幚頇C(jī)它對(duì)外設(shè)實(shí)現(xiàn)統(tǒng)一管理代替CPU對(duì)I/O操作進(jìn)行控制使CPU和外設(shè)可以并行工作通道又稱(chēng)為I/O處理機(jī)引入通道的目的:為了使CPU從I/O事務(wù)中解脫出來(lái)同時(shí)為了提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行度13.時(shí)鐘對(duì)操作系統(tǒng)有什么重要作用?時(shí)鐘為計(jì)算機(jī)完成以下必不可少的工作:在多道程序運(yùn)行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循環(huán)(編程錯(cuò)誤)的作業(yè),防止機(jī)時(shí)的浪費(fèi)在分時(shí)系統(tǒng)中,間隔時(shí)鐘實(shí)現(xiàn)作業(yè)間按時(shí)間片輪轉(zhuǎn)在實(shí)時(shí)系統(tǒng)中,按要求的間隔輸出正確時(shí)間信號(hào)給實(shí)時(shí)的控制設(shè)備(如AD、D/A轉(zhuǎn)換設(shè)備)定時(shí)喚醒要求延遲執(zhí)行的各外部事件(如定時(shí)為各進(jìn)程計(jì)算優(yōu)先數(shù),銀行中定時(shí)運(yùn)行某類(lèi)結(jié)賬程序等)記錄用戶使用設(shè)備時(shí)間和記錄某外部事件發(fā)生時(shí)間記錄用戶和系統(tǒng)所需要的絕對(duì)時(shí)間,即年、月、日 進(jìn)程1.一個(gè)單CPU的操作系統(tǒng)共有n個(gè)進(jìn)程,不考慮進(jìn)程狀態(tài)過(guò)渡時(shí)的情況,也不考慮空轉(zhuǎn)進(jìn)程1。給出運(yùn)行進(jìn)程的個(gè)數(shù);2。給出就緒進(jìn)程的個(gè)數(shù);3。給出等待進(jìn)程的個(gè)數(shù)。解:1.運(yùn)行進(jìn)程的個(gè)數(shù)可能是 0,也可能是 1;2,就緒的進(jìn)程的個(gè)數(shù)可能是0,也可能是n-13等待進(jìn)程的個(gè)數(shù)可能是0,也可能是n2.多道程序在單CPU上并發(fā)運(yùn)行和多道程序在多CPU上并行執(zhí)行,這兩者在本質(zhì)是否相同為什么?請(qǐng)給出以上兩者在實(shí)現(xiàn)時(shí)應(yīng)考慮什么問(wèn)題?答:1)本質(zhì)上不同,前者是宏觀上并發(fā)同時(shí)運(yùn)行,微觀上是交替順序執(zhí)行,后者則是宏觀上并行,微觀上也并行。2)在實(shí)現(xiàn)多道程序設(shè)計(jì)時(shí),必須協(xié)調(diào)好資源使用者和被使用者之間的關(guān)系,即對(duì)處理機(jī)資源加以管理,以實(shí)現(xiàn)處理機(jī)在各個(gè)可運(yùn)行程序之間的分配與調(diào)度,對(duì)內(nèi)存資源加以管理,將內(nèi)存分配給各個(gè)運(yùn)行程序,還要解決程序在內(nèi)存中的定位問(wèn)題,并防止內(nèi)存中各個(gè)程序之間互相干擾或?qū)Σ僮飨到y(tǒng)的干擾,對(duì)設(shè)備資源進(jìn)行管理,使各個(gè)程序在使用設(shè)備時(shí),不發(fā)生沖突。3.用進(jìn)程概念說(shuō)明操作系統(tǒng)的并發(fā)性和不確定性是怎樣體現(xiàn)出來(lái)的?答:進(jìn)程的并發(fā)特性和異步特性體現(xiàn)了操作系統(tǒng)的并發(fā)性和不確定性。 進(jìn)程的并發(fā)特性:可以同其他進(jìn)程一道向前推進(jìn),即一個(gè)進(jìn)程的第一個(gè)動(dòng)作可以在另一個(gè)進(jìn)程的最后一個(gè)動(dòng)作結(jié)束之前開(kāi)始 進(jìn)程的異步性:每個(gè)進(jìn)程按照各自獨(dú)立的,不可預(yù)知的速度向前推進(jìn)。4PCB的作用是什么?他是怎么樣描述進(jìn)程的動(dòng)態(tài)本質(zhì)的?答:PCB稱(chēng)為進(jìn)程控制塊(Process Control Block),為了便于系統(tǒng)控制和描述進(jìn)程的活動(dòng)過(guò)程,在操作系統(tǒng)核心中為進(jìn)程定義一個(gè)專(zhuān)門(mén)的數(shù)據(jù)結(jié)構(gòu),就是PCB。 系統(tǒng)利用PCB來(lái)描述進(jìn)程的基本情況以及進(jìn)程的運(yùn)行變化過(guò)程。PCB是進(jìn)程存在的唯一標(biāo)志。當(dāng)系統(tǒng)創(chuàng)建一個(gè)進(jìn)程時(shí),為進(jìn)程設(shè)置一個(gè)PCB,再利用PCB對(duì)進(jìn)程進(jìn)行控制和管理;撤銷(xiāo)進(jìn)程時(shí),-系統(tǒng)收回它的PCB,進(jìn)程也隨之消亡。5.進(jìn)程的三個(gè)基本狀態(tài)轉(zhuǎn)換如圖(見(jiàn)書(shū)),圖中1,2,3,4表示某種類(lèi)型的狀態(tài)變遷,請(qǐng)分別回答下列問(wèn)題:1)什么“事件”引起某一種類(lèi)型的狀態(tài)變遷答:運(yùn)行中的進(jìn)程因?yàn)橹袛嗟陌l(fā)生,或者需要等待某種事件的發(fā)生,變遷到等待狀態(tài)等待狀態(tài)的進(jìn)程,應(yīng)為所等待的事件發(fā)生了,變遷到就緒態(tài)CPU為空的時(shí)候,就緒態(tài)的進(jìn)程就變遷到運(yùn)行狀態(tài)運(yùn)行的進(jìn)程因?yàn)檎{(diào)度程序,變遷到就緒狀態(tài)2)系統(tǒng)中常常由于某一進(jìn)程的狀態(tài)變遷引起另一進(jìn)程也產(chǎn)生狀態(tài)變遷,試判斷在下述情況下,如果有的話,將發(fā)生什么因果變遷?3 -1 2. -1 4-1 3-4如果有處于就緒態(tài)的進(jìn)程 (3-1)如果有處于就緒態(tài)的進(jìn)程 (2-1)CPU為空(4-1)等待事件發(fā)生(3-4)3)在什么情況下,下述變遷中哪些將不立即引起其他變遷?1 2 3 4當(dāng)1發(fā)生,并不引起其他變遷當(dāng)2發(fā)生,如果有進(jìn)程處于就緒態(tài),引起1發(fā)生當(dāng)3發(fā)生, 如果有進(jìn)程處于就緒態(tài),引起1發(fā)生當(dāng)4發(fā)生,如果CPU為空,那么引起1發(fā)生4)引起進(jìn)程狀態(tài)變遷的根本原因是什么? 答: 原因:自身的進(jìn)展情況和外界環(huán)境條件的變化。自身的邏輯,中斷和進(jìn)程調(diào)度程序等!根據(jù)進(jìn)程的動(dòng)態(tài)性,進(jìn)程在其生命周期內(nèi),需要經(jīng)歷一系列離散狀態(tài)。6.內(nèi)核通常完成哪些功能?經(jīng)過(guò)內(nèi)核擴(kuò)充后形成的虛擬機(jī)有哪些屬性?答:內(nèi)核一般提供如下功能1)中斷處理 2)進(jìn)程調(diào)度 3)進(jìn)程控制 4)進(jìn)程同步與互斥;5)進(jìn)程通信;6)存儲(chǔ)管理的基本操作 7)設(shè)備管理的基本操作 8)文件信息管理的基本操作 9)時(shí)鐘管理虛擬機(jī)的屬性有:1)沒(méi)有中斷 2)為每個(gè)進(jìn)程提供了一臺(tái)虛擬處理機(jī),每個(gè)進(jìn)程好像在各自的處理機(jī)上順序的運(yùn)行 3)為進(jìn)程提供了強(qiáng)大的指令系統(tǒng),即非特權(quán)的指令和原語(yǔ)一起組成的指令系統(tǒng)7.并發(fā)進(jìn)程執(zhí)行時(shí)一定會(huì)產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤嗎?為什么?答:不一定,如果并發(fā)進(jìn)程都占有一些受到保護(hù)的私有資源(包括內(nèi)存,設(shè)備等資源),那么執(zhí)行的結(jié)果和進(jìn)程調(diào)度的算法以及中斷等外界環(huán)境沒(méi)有關(guān)系,所以不一定會(huì)產(chǎn)生與時(shí)間有關(guān)的錯(cuò)誤.8.試舉出進(jìn)程狀態(tài)轉(zhuǎn)換的典型原因和引起進(jìn)程調(diào)度的因素。答:進(jìn)程狀態(tài)轉(zhuǎn)換的典型原因:1中斷或者等待某事件發(fā)生,2.所等待事件發(fā)生了3,CPU為空 引起進(jìn)程調(diào)度的因素為: 1)正在執(zhí)行的進(jìn)程運(yùn)行完畢 2)正在執(zhí)行的進(jìn)程調(diào)用阻塞原語(yǔ)將自己阻塞起來(lái)并進(jìn)入等待狀態(tài) 3)正在執(zhí)行的進(jìn)程調(diào)用了P原語(yǔ)操作,從而因?yàn)橘Y源不足而被阻塞,或調(diào)用了V原語(yǔ)操作激活了等待資源的進(jìn)程隊(duì)列4)執(zhí)行中的進(jìn)程提出了I/O請(qǐng)求后被阻塞5)在分時(shí)系統(tǒng)中時(shí)間片已經(jīng)用完以上都是CPU為不可搶占方式下引起進(jìn)程調(diào)用的原因,當(dāng)CPU為可搶占時(shí),就緒隊(duì)列中的進(jìn)程比當(dāng)前運(yùn)行的進(jìn)程的優(yōu)先級(jí)高,也引起進(jìn)程調(diào)度9.說(shuō)明下列活動(dòng)是屬于哪些制約關(guān)系?1)若干同學(xué)去圖書(shū)館借書(shū) 進(jìn)程互斥2)兩隊(duì)進(jìn)行籃球比賽 進(jìn)程互斥3)流水線生產(chǎn)中的各道工序 進(jìn)程同步4)商品生產(chǎn)和社會(huì)消費(fèi) 進(jìn)程同步10,是否所有的共享資源都是臨界資源,為什么?答:不是,根據(jù)定義,一次只允許一個(gè)進(jìn)程使用得進(jìn)程才叫臨界資源,能同時(shí)被多個(gè)進(jìn)程使用得資源不是臨界資源 11設(shè)一臺(tái)計(jì)算機(jī),有兩條I/O通道,分別接一臺(tái)卡片輸入機(jī)和一臺(tái)打印機(jī)??ㄆ瑱C(jī)把一疊卡片逐一輸入到緩沖區(qū)B1中,加工處理后再搬到緩沖區(qū)B2中,并在打印機(jī)上印出,問(wèn):1)系統(tǒng)要設(shè)幾個(gè)進(jìn)程來(lái)完成這個(gè)任務(wù)?各自的工作是什么?2)這些進(jìn)程間有什么樣的相互制約關(guān)系3)用P,V操作寫(xiě)出這些進(jìn)程的同步算法4)設(shè)系統(tǒng)中只有上述幾個(gè)進(jìn)程,用圖表示出各自狀態(tài)變遷情況及原因?答:這是一個(gè)典型的生產(chǎn)者,消費(fèi)者問(wèn)題1)系統(tǒng)要設(shè)三個(gè)進(jìn)程完成任務(wù),第一個(gè)進(jìn)程P1,從卡片輸入機(jī)中讀入數(shù)據(jù),并且把數(shù)據(jù)放入緩沖區(qū)B1中,第二個(gè)進(jìn)程從B1緩沖區(qū)中取數(shù)據(jù),加工處理后放入緩沖區(qū)B2中。第三個(gè)進(jìn)程將緩沖區(qū)的內(nèi)容輸入到打印機(jī)中打印出來(lái)2)這三個(gè)進(jìn)程之間是同步和互斥的關(guān)系3)三個(gè)進(jìn)程之間必須協(xié)調(diào)工作,需設(shè)置四個(gè)信號(hào)量,S1,S2,S3,S4并令S1的初值為1,S2的處置為0,S4的初值為1,則程序?yàn)椋哼M(jìn)程 p1 進(jìn)程p2 進(jìn)程p3 P(S1) P(S2) P(S3)從卡片機(jī)中讀入數(shù)據(jù) P(S4) 將緩沖區(qū)B2內(nèi)容 V(S2) 將Buffer B1中的數(shù)據(jù) 在打印機(jī)中輸出 拷貝道Buffer B2中 V(S4) V(S1) V(S3)4)當(dāng)緩沖區(qū)B1為空時(shí),當(dāng)有輸入時(shí),進(jìn)程p1進(jìn)入就緒態(tài),如果CPU為空,則為運(yùn)行態(tài),輸入完成后,進(jìn)入等待態(tài) 如果存在進(jìn)程p2,則為等待態(tài),當(dāng)S2+1后,處于等待態(tài)進(jìn)程進(jìn)入就緒態(tài),如果CPU為空進(jìn)入運(yùn)行態(tài),拷貝完成后,進(jìn)入等待態(tài) 如果存在進(jìn)程p3,則為等待態(tài),當(dāng)S3+1后,處于等待態(tài)進(jìn)程進(jìn)入就緒態(tài),如果CPU為空進(jìn)入運(yùn)行態(tài),輸出完成后,進(jìn)入等待態(tài)12.設(shè)有無(wú)窮多個(gè)信息,輸入進(jìn)程把信息逐個(gè)寫(xiě)入緩沖區(qū),輸入進(jìn)程逐個(gè)地從緩沖區(qū)中取出信息。在下述情況下:1)緩沖區(qū)是環(huán)形的,最多可以容納n個(gè)信息;2)緩沖區(qū)是無(wú)窮大的。試分別回答下列問(wèn)題?1)輸入,輸出兩進(jìn)程讀,寫(xiě)緩沖區(qū)需要什么條件?2)用P,V操作寫(xiě)出輸入,輸出兩進(jìn)程的同步算法,并給出信號(hào)量含義以及初值3)指出信號(hào)量的值的變化范圍和其值的含義答:一:當(dāng)緩沖區(qū)的大小為n時(shí)1)當(dāng)緩沖區(qū)信息為空的時(shí)候,輸出進(jìn)程無(wú)法讀,處于等待狀態(tài),當(dāng)緩沖區(qū)信息為滿的時(shí)候無(wú)法寫(xiě),都某個(gè)緩沖區(qū)單位進(jìn)行讀寫(xiě)的時(shí)候,要互斥2) 1.空的信號(hào)量empty 初值為n, 滿的信號(hào)量為full 初值為0, 對(duì)緩沖區(qū)單元的互斥信號(hào)量為mutex,j,k為緩沖區(qū)單位地址,初值為 0 寫(xiě)進(jìn)程 讀進(jìn)程 P(empty) P(full) P(mutex) P(mutex)向Bufferi寫(xiě)入信息 從Bufferk中讀信息 V(mutex) V(mutex) V(full) V(empty) j:=(j+1)mod n k:=(k+1)mod n 4)empty表示還有多少緩沖區(qū)單元為空,如果empty=0,表示緩沖區(qū)滿,系統(tǒng)調(diào)用寫(xiě)進(jìn)程時(shí),寫(xiě)進(jìn)程處于等待態(tài)full 表示緩沖區(qū)都多少有信心的單元,如果full=0, 表示緩沖區(qū)空,系統(tǒng)調(diào)用寫(xiě)進(jìn)程時(shí),讀進(jìn)程處于等待態(tài) mutex 表示對(duì)于緩沖區(qū)單元的互斥信號(hào)量,當(dāng)mutex=1時(shí),開(kāi)鎖,mutex=0時(shí),閉鎖二當(dāng)緩沖區(qū)大小為無(wú)窮大時(shí)1)同上2) 1空的信號(hào)量empty 不用設(shè), 滿的信號(hào)量為full 初值為0, 對(duì)緩沖區(qū)單元的互斥信號(hào)量為mutex,j,k為緩沖區(qū)單位地址,初值為 0 寫(xiě)進(jìn)程 讀進(jìn)程 P(full) P(mutex) P(mutex) 向Bufferi寫(xiě)入信息 從Bufferk中讀信息 V(mutex) V(mutex) V(full) j:=(j+1)mod n k:=(k+1)mod n 4)full 表示緩沖區(qū)都多少有信心的單元,如果full=0, 表示緩沖區(qū)空,系統(tǒng)調(diào)用寫(xiě)進(jìn)程時(shí),讀進(jìn)程處于等待態(tài) mutex 表示對(duì)于緩沖區(qū)單元的互斥信號(hào)量,當(dāng)mutex=1時(shí),開(kāi)鎖,mutex=0時(shí),閉鎖13.假定一個(gè)閱覽室最多可以容納100人,讀者進(jìn)入和離開(kāi)閱覽室都必須在閱覽室門(mén)口的一個(gè)登記表上標(biāo)志(進(jìn)入時(shí)登記,離開(kāi)時(shí)去掉登記項(xiàng))而且每次只允許一人登記或者去掉登記,問(wèn):1)應(yīng)編寫(xiě)幾個(gè)進(jìn)程完成這項(xiàng)工作,程序的主要?jiǎng)幼魇切┦裁???yīng)該設(shè)置幾個(gè)進(jìn)程?進(jìn)程和程序間的關(guān)系如何?2)用P,V操作寫(xiě)出這些進(jìn)程的同步通信關(guān)系答:編寫(xiě)兩個(gè)進(jìn)程,一個(gè)處理讀者進(jìn)入,一個(gè)處理讀者離開(kāi),進(jìn)程是程序的動(dòng)態(tài)執(zhí)行設(shè)置信號(hào)量 full 為初值為 0, 空的信號(hào)量 empty 初值為100, 互斥信號(hào)量 mutex 初值為1 進(jìn)入 離開(kāi) P(empty) P(full) P(mutex) P(mutex) 登記 取消登記 V(mutex) V(mutex) V(full) V(empty) 進(jìn)入 離開(kāi)14在生產(chǎn)者和消費(fèi)者問(wèn)題中,如果對(duì)調(diào)生產(chǎn)者(或消費(fèi)者)進(jìn)程中的兩個(gè)P操作和兩個(gè)V操作的次序,會(huì)發(fā)生什么情況?請(qǐng)說(shuō)明!答:對(duì)調(diào)P操作, 會(huì)發(fā)生死鎖 因?yàn)镻(empty)在 p(mutex)和 v(mutex)內(nèi)部,也就是臨界區(qū)中,當(dāng) empty0,時(shí),P(empty)在臨界區(qū)中進(jìn)入到了休眠狀態(tài)。那么就別的進(jìn)程都進(jìn)入不到臨界區(qū)中,進(jìn)入死鎖狀態(tài)。 而兩個(gè)V操作無(wú)關(guān)緊要15.為什么引入高級(jí)通信機(jī)構(gòu)?他有什么優(yōu)點(diǎn)?說(shuō)明消息緩沖通信機(jī)構(gòu)的基本工作過(guò)程?答:1)為了解決大量的消息交換,2)優(yōu)點(diǎn):不僅能夠保證相互制約的進(jìn)程之間的相互關(guān)系,還同時(shí)實(shí)現(xiàn)了進(jìn)程之間的信息交換3)消息緩沖通信技術(shù)的工作過(guò)程:其基本思想是:根據(jù)“生產(chǎn)者-消費(fèi)者”原理,利用內(nèi)存中公用消息緩沖區(qū)實(shí)現(xiàn)進(jìn)程之間的信息交換。內(nèi)存中開(kāi)辟了若干消息緩存區(qū),用以存放消息,每當(dāng)一個(gè)進(jìn)程(發(fā)送進(jìn)程)向另一個(gè)進(jìn)程(接收進(jìn)程)發(fā)送消息時(shí),便申請(qǐng)一個(gè)消息緩沖區(qū),并把已準(zhǔn)備好的消息發(fā)送到緩沖區(qū)中,然后把該消息緩沖區(qū)插入到接受進(jìn)程的消息隊(duì)列中,最后通知接受進(jìn)程,接收進(jìn)程收到發(fā)送進(jìn)程發(fā)送到的通知后,從本進(jìn)程的消息隊(duì)列中摘下一消息緩沖區(qū),取出所需的消息,然后把消息緩沖區(qū)還給系統(tǒng)。16.進(jìn)程間為什么要進(jìn)行通信?在編寫(xiě)自己的程序時(shí),是否考慮到要和別的用戶程序進(jìn)行通信?各個(gè)用戶進(jìn)程間是否存在制約關(guān)系?答;1)各個(gè)進(jìn)程在運(yùn)行的時(shí)候,共享內(nèi)存,或者共同完成一個(gè)特定的功能,都需要進(jìn)行通信, 2)需要, 3)促在同步和互斥的關(guān)系,比如聊天程序17.假定一個(gè)系統(tǒng)的磁盤(pán)塊大小為2KB,一個(gè)塊的平均訪問(wèn)時(shí)間是20毫秒。一個(gè)有40KB進(jìn)程由于資源請(qǐng)求從運(yùn)行態(tài)變?yōu)樽枞麘B(tài),它必須保持阻塞多長(zhǎng)時(shí)間?答: 40/2 * 20=400毫秒保持阻塞態(tài) 400毫秒18.假設(shè)A,B兩個(gè)火車(chē)站之間是單軌線,許多列車(chē)同時(shí)到達(dá)A站,然后經(jīng)過(guò)A站到達(dá)B站;又列車(chē)從A到B的行駛時(shí)間是t,列車(chē)在B戰(zhàn)后的停留時(shí)間是t/2,試問(wèn)在該問(wèn)題模型中,什么是臨界資源,什么是臨界區(qū)?答:臨界資源: A到B之間的單軌線,以及B站是臨界資源 臨界區(qū): 在A到B之間行駛,以及在B上停留是臨界區(qū)19.同步機(jī)制應(yīng)該遵循哪些原則?為什么?答:1.它的描述能力應(yīng)該足夠強(qiáng),既能解決各種進(jìn)程間的同步互斥問(wèn)題; 2其次,應(yīng)該容易實(shí)現(xiàn)并效率高 3第三,使用方便20.我們?yōu)槟撑R界資源設(shè)置一把鎖W。當(dāng)W=1時(shí),表示關(guān)鎖,W=0時(shí),表示開(kāi)鎖,試寫(xiě)出開(kāi)鎖和關(guān)鎖原語(yǔ),并利用它去實(shí)現(xiàn)互斥。答: while(1=w); enter 臨界區(qū)21.進(jìn)程A1,A2,An通過(guò)m個(gè)緩沖區(qū)向進(jìn)程B1,B2,Bn不斷發(fā)送消息,發(fā)送和接收工作遵循如下規(guī)則:1)每個(gè)發(fā)送進(jìn)程每次發(fā)送一個(gè)消息,寫(xiě)入一個(gè)緩沖區(qū),緩沖區(qū)大小與消息長(zhǎng)度一樣2)對(duì)每一個(gè)消息,B1,B2,.Bn都需要各接收一次,讀到各自的數(shù)據(jù)區(qū)中;3)m個(gè)緩沖區(qū)都滿時(shí),發(fā)送進(jìn)程等待,沒(méi)有可讀消息時(shí),接受進(jìn)程等待試用P,V操作組織正確的發(fā)送和接收操作。答:VAR mutex: Semaphore:初值為1,實(shí)現(xiàn)對(duì)緩沖區(qū)的互斥 empty: Semaphore:初值為n,有多少緩沖 Full: Array1.n OF Semaphore:初值為0,每個(gè)接收進(jìn)程當(dāng)前可接收的緩沖區(qū) Count:Array1.n OF INTEGER;初值為0,n個(gè)緩沖區(qū)被訪問(wèn)的次數(shù) ReceivePointer:Array1n OF INTEGER初值為0,該接收進(jìn)程要取哪個(gè) SendPointer:INTEGER;初值為0,發(fā)送進(jìn)程下次要放到哪個(gè)緩沖區(qū)發(fā)送進(jìn)程 (num:INTEGER) num為進(jìn)程號(hào)Repeat P(empty) P(mutex) 向buffsendPointer放消息 sendPointer:=(sendPointer+1)mod k countsendPointer:=0 V(mutex) For i:=1 To n Do V(Fulli)Until FALSE接收進(jìn)程 (num:INTEGER):num為接收進(jìn)程號(hào)RepeatP(Fullnum)P(mutex)從buffReceivePoinernum中取消息V(mutex)CountReceivePoinernum:= CountReceivePoinernum+1IF(CountReceivePoinernum=n) THEN V(empty) CountReceivePoinernum=0ReceivePoinernum:=(ReceivePoinernum)+1)mod n Until FALSE 22有K個(gè)進(jìn)程共享一個(gè)臨界區(qū),對(duì)于下述情況,請(qǐng)說(shuō)明信號(hào)量值的初值,含義,并用P,V操作寫(xiě)出相關(guān)的互斥算法。1)一次只允許一個(gè)進(jìn)程進(jìn)入臨界區(qū)2)一次只允許m個(gè)進(jìn)程進(jìn)入臨界區(qū)答:1)設(shè)置互斥信號(hào)量mutex,初值為1P(mutex)Enter_regionV(mutex)2)設(shè)置同步信號(hào)量mutex,初值為m;P(mutex)Enter_regionV(mutex)23愛(ài)睡覺(jué)的理發(fā)師問(wèn)題,一個(gè)理發(fā)店有兩間相連的屋子,一間是私室,里面有一把理發(fā)椅,另一個(gè)是等候室,有一個(gè)滑動(dòng)門(mén)和N把椅子。理發(fā)師忙的時(shí)候,通向私室的門(mén)被關(guān)閉,新來(lái)的顧客找一把空椅子坐下,如果椅子都被占用了,則顧客只好離去,如果沒(méi)有顧客,則理發(fā)師在理發(fā)椅上睡覺(jué)。并打開(kāi)通向私室的門(mén)。理發(fā)師睡覺(jué)時(shí),顧客可以叫醒他理發(fā),請(qǐng)編寫(xiě)理發(fā)師和顧客的程序,正確實(shí)現(xiàn)同步和互斥問(wèn)題!答:解:VAR: S1,S2 :Semaphore;初值為0,實(shí)現(xiàn)理發(fā)師與顧客的同步 Mutex:Semaphore:初值為1,實(shí)現(xiàn)對(duì)waiting的互斥 waiting:INTEGER:初值為0,等待的顧客數(shù) 理發(fā)師進(jìn)程 REPEAT P(S1) 若無(wú)顧客,則睡覺(jué) P(mutex) Waiting:=waiting-1 V(S2); (喚醒一個(gè)等待的客戶) V(mutex) 理發(fā) Until FALSE顧客進(jìn)程 P(mutex) IF(waitingT , 3)SQT時(shí), CPU的利用率=T/(T+S)*100%(當(dāng)進(jìn)程運(yùn)行完后,就切換,也就相當(dāng)于時(shí)間片=T)3)當(dāng)SQT時(shí), =Q/Q+S4)當(dāng)Q=S時(shí) =S/S+S5)當(dāng)Q趨于0,CPU的利用率=T/T+nS=0 (n趨于無(wú)窮) 30,大多數(shù)時(shí)間片輪轉(zhuǎn)調(diào)度程序使用一個(gè)固定大小的時(shí)間片,請(qǐng)給出選擇小時(shí)間片的理由,然后再給出選擇大時(shí)間片的理由答:選擇小時(shí)間片:I/O密集型,可以縮短響應(yīng)時(shí)間,滿足短的交互需求 選擇大時(shí)間片:CPU密集型,可以防止過(guò)多的進(jìn)程切換,提高CPU效率31.有5個(gè)批處理作業(yè)A到E幾乎同時(shí)到達(dá)一計(jì)算中心。他們估計(jì)運(yùn)行時(shí)間分別為10,6,2,4和8分鐘,其優(yōu)先數(shù)(由外部設(shè)定)分別為3,5,2,1,4其中5級(jí)為最高優(yōu)先級(jí),對(duì)于下列每種調(diào)度算法,計(jì)算其平均周轉(zhuǎn)時(shí)間,可忽略進(jìn)程切換的開(kāi)銷(xiāo)。1) 時(shí)間片輪轉(zhuǎn)法2) 優(yōu)先級(jí)調(diào)度法3) 先來(lái)先服務(wù)法(按照次序10,6,2,4,8運(yùn)行)4) 最短作業(yè)優(yōu)先對(duì)1),假設(shè)系統(tǒng)具有多道處理能力,每個(gè)作業(yè)均獲得公平的CPU時(shí)間,對(duì)(2) 和(4)假設(shè)任一時(shí)刻只有一個(gè)作業(yè)運(yùn)行,直到結(jié)束,所有作業(yè)都是CPU密集型作業(yè)!答:1) 和時(shí)間片的長(zhǎng)短有關(guān),比較繁瑣!2)運(yùn)行順序是(6,8,10,2,4) (6+14+24+26+30)/4=100/4=253)(10+16+18+22+30)/4=96/4=244) (2+(2+4)+(2+4+6)+(2+4+6+8)+( 2+4+6+8+10)/4=17.532:有5個(gè)待運(yùn)行的作業(yè),他們的估計(jì)運(yùn)行時(shí)間分別是9,6,3,5,采用哪中次序運(yùn)行各個(gè)作業(yè)將得到最短的平均響應(yīng)時(shí)間?答案依賴于X答:由于5個(gè)作業(yè)同時(shí)到達(dá),所以按最短作業(yè)優(yōu)先調(diào)度會(huì)得到最短的響應(yīng)時(shí)間: 9x 3 5 6 9 x 6x9 3 5 6 x 9 5x6 3 5 x 8 9 3x5 3 x 5 8 9 x3 x 3 5 8 933,在一間酒吧里有三個(gè)音樂(lè)愛(ài)好者隊(duì)列,第一列音樂(lè)愛(ài)好者只有隨身聽(tīng),第二列只有音樂(lè)磁帶,第三列只有電池,而要聽(tīng)音樂(lè)就必須有隨身聽(tīng),音樂(lè)磁帶和電池這三中物品。酒吧老板一次出售這三種物品中的任意兩種,當(dāng)一名音樂(lè)愛(ài)好者得到這三種物品并聽(tīng)完樂(lè)曲后,酒吧老板才能再一次出售這三種物品中任意兩種,于是第二名音樂(lè)愛(ài)好者得到這三種物品。并開(kāi)始聽(tīng)樂(lè)曲,全部買(mǎi)賣(mài)九這樣進(jìn)行下去。使用P,V操作正確解決這一買(mǎi)賣(mài)。解:買(mǎi)方有三個(gè)進(jìn)程,賣(mài)方有1個(gè)進(jìn)程賣(mài)方,和買(mǎi)方的同步信號(hào)量 S1,S2 ,初值為0,1. 聽(tīng)音樂(lè)時(shí)的互斥信號(hào)量;mutex 賣(mài)方進(jìn)程P(S1) (沒(méi)有音樂(lè)愛(ài)好者,等待)賣(mài)物品P(mutex)放音樂(lè)V(mutex)V(S2)買(mǎi)方進(jìn)程P(S2)買(mǎi)物品V(S1) 老板可以賣(mài)東西34.巴拿馬運(yùn)河建在太平洋和大西洋之間,由于太平洋和大西洋水面高度不同,有巨大落差,所以運(yùn)河中建有T(T2)級(jí)船閘,并且只能允許單向通行,船閘依次編號(hào)為1,2,T,由大西洋來(lái)的船需要經(jīng)過(guò)船閘T,T-1.,2,1通過(guò)運(yùn)河到達(dá)太平洋,由太平洋來(lái)的船需要經(jīng)由船閘1,2,T-1,T通過(guò)運(yùn)河到達(dá)大西洋。使用P,V操作正確解決大西洋和太平洋的船只通航問(wèn)題。答:答:Array: S1T of Semaphore 為每個(gè)船閘設(shè)置的信號(hào)量初值都為1 Array: count1T of INTEGER 為每個(gè)船閘設(shè)置通往大西洋的船的計(jì)數(shù)值,初值都為0 Array: count2T of INTEGER 為每個(gè)船閘設(shè)置通往太平洋的船的計(jì)數(shù)值,初值都為0 對(duì)count設(shè)置互斥信號(hào)量 mutex去大西洋的進(jìn)程: int j for(j=0;jT,j+) P(mutex) if(count1j=0) P(Sj) countj+ 過(guò)第j+1個(gè)船閘 P(mutex) countj- if(countj=0) V(Sj) V(mutex) 去太平洋的進(jìn)程: int k for(k=T-1;kT,k+) P(mutex) if(count2k=0) P(Sk) countk+ 過(guò)第k+1個(gè)船閘 P(mutex) countk- if(countk=0) V(Sk) V(mutex)35.某銀行有人民幣儲(chǔ)蓄業(yè)務(wù),由n個(gè)柜員負(fù)責(zé),每個(gè)顧客進(jìn)入銀行后,先取一個(gè)號(hào),并且等著叫號(hào),當(dāng)一個(gè)柜員人員空閑下來(lái),就叫上一個(gè)號(hào),使用P,V操作正確編寫(xiě)柜臺(tái)人員和顧客進(jìn)程的程序!解; 取號(hào)的互斥信號(hào)量 mutex,叫號(hào)的互斥信號(hào)量mutex1 柜臺(tái)人員和顧客進(jìn)程的同步信號(hào)量為 S1,S2, 初值分別為n,0柜臺(tái)人員進(jìn)程:P(S2) (無(wú)顧客則等待)P(mutex1)叫號(hào)V(mutex1)服務(wù)V(S1)顧客進(jìn)程P(mutex)取號(hào)V(mutex)P(S1) 享受服務(wù)V(S2)36,設(shè)A,B,C三個(gè)進(jìn)程共享一個(gè)存儲(chǔ)資源F,A對(duì)F只讀不寫(xiě),B對(duì)F只寫(xiě)不讀,C對(duì)F先讀后寫(xiě)。(當(dāng)一個(gè)進(jìn)程寫(xiě)F時(shí),其他進(jìn)程既不能讀F,也不能寫(xiě)F,但多個(gè)進(jìn)程同時(shí)讀F是允許的)試?yán)霉艹痰姆椒ɑ蛘逷,V操作,寫(xiě)出A,B,C三個(gè)進(jìn)程的框架,要求:(1)執(zhí)行正確(2)正常運(yùn)行時(shí)不產(chǎn)生死鎖;(3)使用F的并發(fā)度高37,某系統(tǒng)如此定義P,V操作P(S) S=S-1若S1本進(jìn)程進(jìn)入等待隊(duì)列末尾,否則繼續(xù)進(jìn)行V(S) S=S+1若S0,釋放等待隊(duì)列中末尾的進(jìn)程,否則繼續(xù)運(yùn)行?,F(xiàn)有四個(gè)進(jìn)程P1,P2,P3,P4競(jìng)爭(zhēng)使用某一需要互斥使用的資源(每個(gè)進(jìn)程可能反復(fù)使用多次),使用這樣的P,V操作來(lái)正確的實(shí)現(xiàn)互斥。解: S:ARRAY0,3 OF Semaphore初值為si=i,i=0,1,2,3 訪問(wèn)進(jìn)程for i:=3 downto 1 do P(si)臨界區(qū)操作for i:=1 To N-1 Do V(Si)38,請(qǐng)用進(jìn)程通信的辦法解決生產(chǎn)者,消費(fèi)者問(wèn)題39,請(qǐng)用管程實(shí)現(xiàn)哲學(xué)家就餐問(wèn)題進(jìn)程管理(筆記)1).多道程序設(shè)計(jì)和并發(fā) 內(nèi)存允許多個(gè)程序進(jìn)入,操作系統(tǒng)能夠同時(shí)執(zhí)行這些程序 CPU在多個(gè)進(jìn)程之間調(diào)度,切換 系統(tǒng)有時(shí)有進(jìn)程,有線程 對(duì)CPU的管理: 每個(gè)實(shí)體都有一個(gè)環(huán)境,多個(gè)實(shí)體間存在一個(gè)切換 從順序執(zhí)行開(kāi)始,到并發(fā)執(zhí)行,會(huì)產(chǎn)生許多特征 順序執(zhí)行-并發(fā)執(zhí)行(不可再現(xiàn)性)-與時(shí)間有關(guān)的錯(cuò)誤 并發(fā)執(zhí)行的結(jié)果,不可再現(xiàn),由于每個(gè)程序執(zhí)行的速度不同,會(huì)帶來(lái)不一致性。 與時(shí)間有關(guān)的錯(cuò)誤,即包括互斥(飛機(jī)訂票系統(tǒng),一張票賣(mài)給兩個(gè)顧客,競(jìng)爭(zhēng)條件), 這是由于并發(fā)執(zhí)行,且資源共享引起的。2).進(jìn)程模型 進(jìn)程:正在執(zhí)行的程序,系統(tǒng)中同時(shí)會(huì)有許多程序在執(zhí)行 進(jìn)程有創(chuàng)建,有撤銷(xiāo) 從以下幾個(gè)方面考慮
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙語(yǔ)產(chǎn)品目錄翻譯與認(rèn)證補(bǔ)充協(xié)議
- 離婚協(xié)議強(qiáng)制執(zhí)行司法拍賣(mài)與財(cái)產(chǎn)分配協(xié)議
- 橋梁施工臨時(shí)檢測(cè)員職責(zé)要求與聘用協(xié)議
- 高效能低碳鋼盤(pán)螺建筑原材料集中采購(gòu)框架合同
- 線上教育平臺(tái)服務(wù)補(bǔ)充協(xié)議
- 寵物醫(yī)院寵物醫(yī)院醫(yī)院運(yùn)營(yíng)管理與委托管理全面合作協(xié)議
- 醫(yī)療機(jī)構(gòu)醫(yī)務(wù)人員廉潔自律規(guī)范合同
- 專(zhuān)業(yè)音響設(shè)備國(guó)際展會(huì)特裝展位搭建及音響系統(tǒng)維護(hù)合同
- 集體土地上小產(chǎn)權(quán)房流轉(zhuǎn)及土地征收補(bǔ)償合同
- 金融機(jī)構(gòu)不良資產(chǎn)債務(wù)清償期限調(diào)整與處置協(xié)議
- 2025年上海市靜安區(qū)初三二模語(yǔ)文試卷(含答案)
- 樓梯 欄桿 欄板(一)22J403-1
- 2024屆九省聯(lián)考英語(yǔ)試題(含答案解析、MP3及錄音稿)
- 七年級(jí)下冊(cè)英語(yǔ)第三次月考試題
- 涉密人員錄用審查表
- GB/T 39559.2-2020城市軌道交通設(shè)施運(yùn)營(yíng)監(jiān)測(cè)技術(shù)規(guī)范第2部分:橋梁
- GB/T 19106-2013次氯酸鈉
- 2023年江西省三支一扶真題及答案解析
- 中國(guó)鋁業(yè)遵義氧化鋁有限公司氧化鋁工程分解分級(jí)槽基礎(chǔ)工程 施工組織設(shè)計(jì)
- 初中信息技術(shù)-算法基礎(chǔ)知識(shí)教學(xué)教學(xué)課件
- 訴訟文書(shū)送達(dá)地址確認(rèn)書(shū)
評(píng)論
0/150
提交評(píng)論