




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