操作系統習題解答_第1頁
操作系統習題解答_第2頁
操作系統習題解答_第3頁
操作系統習題解答_第4頁
操作系統習題解答_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

/習題(以舊書修訂版為準) 第一次:25頁2、8、9、10、11、12、13 第二次:68頁2、4、8、17、18、22、24、26、38 101頁1、2、16、20 142頁1、5、14、15、16、19、23習題解答:25頁2、os的作用表現在哪幾個方面?a.OS作為用戶與計算機硬件系統之間的接口;b.OS作為計算機系統資源的管理者;c.OS作為擴充機器.8、試從交互性、與時性、可靠性三個方面,比較分時系統與實時系統。a.分時系統是一種通用系統,主要用于運行終端用戶程序,因而它具有較強的交互能力;而實時系統雖然也有交互能力,但其交互能力不與前者.b.實時信息系統對實用性的要求與分時系統類似,都是以人所能接收的等待時間來確定;而實時控制系統的與時性則是以控制對象所要求的開始截止時間和完成截止時間來確定的.c.實時系統對系統的可靠性要求要比分時系統對系統的可靠性要求高.9、OS具有哪幾大特征?它的最基本特征是什么?a.并發(Concurrence),共享(Sharing),虛擬(Virtual),異步性(Asynchronism).b.其中最基本特征是并發和共享.10、處理機管理具有哪些功能?它們的主要任務是什么?a.進程控制,進程同步,進程通信和調度.b.進程控制的主要任務是為作業創建進程,撤銷已結束的進程,以與控制進程在運行過程中的狀態轉換.進程同步的主要任務是對諸進程的運行進行調節.進程通信的任務是實現在相互合作進程之間的信息交換.調度分為作業調度和進程調度.作業調度的基本任務是從后備隊列中按照一定的算法,選擇出若干個作業,為它們分配必要的資源;而進程調度的任務是從進程的就緒隊列中,按照一定的算法選出一新進程,把處理機分配給它,并為它設置運行現場,是進程投入運行.11、內存管理有哪些主要功能?它們的主要任務是什么?a.主要功能:內存分配,內存保護,地址映射和內存擴充等.b.內存分配的主要任務是為每道程序分配內存空間,提高存儲器利用率,以減少不可用的內存空間,允許正在運行的程序申請附加的內存空間,以適應程序和數據動態增長的需要.內存保護的主要任務是確保每道用戶程序都在自己的內存空間中運行,互不干擾.地址映射的主要任務是將地址空間中的邏輯地址轉換為內存空間中與之對應的物理地址.內存擴充的主要任務是借助虛擬存儲技術,從邏輯上去擴充內存容量.12、設備管理有哪些主要功能?其主要任務是什么?a.主要功能:緩沖管理,設備分配和設備處理,以與虛擬設備等.b.主要任務:完成用戶提出的I/O請求,為用戶分配I/O設備;提高CPU和I/O設備的利用率;提高I/O速度;以與方便用戶使用I/O設備.13、文件管理有哪些主要功能?其主要任務是什么?a.主要功能:對文件存儲空間的管理,目錄管理,文件的讀,寫管理以與文件的共享和保護.b.主要任務:對用戶文件和系統文件進行管理,以方便用戶使用,并保證文件的安全性.68頁2、試畫出下面4條語句的前趨圖:S1S1S1S4S3S2S4S3S2S3:c:=a-b;S2S4:w:=c+1;4.程序并發執行時為什么會失去封閉性和可再現性?因為程序并發執行時,是多個程序共享系統中的各種資源,因而這些資源的狀態是由多個程序來改變,致使程序的運行失去了封閉性。而程序一旦失去了封閉性也會導致其再失去可再現性。8.試說明進程在三個基本狀態之間轉換的典型原因.a.處于就緒狀態的進程,當進程調度程序為之分配了處理機后,該進程便由就緒狀態變為執行狀態。b.當前進程因發生某事件而無法執行,如訪問已被占用的臨界資源,就會使進程由執行狀態轉變為阻塞狀態。c.當前進程因時間片用完而被暫停執行,該進程便由執行狀態轉變為就緒狀態。17.為什么進程在進入臨界區之前應先執行“進入區”代碼?而在退出前又要執行“退出區”代碼?為了實現多個進程對臨界資源的互斥訪問,必須在臨界區之前加一段用于檢查臨界資源是否正在被訪問的代碼,如未被訪問,該進程可進入臨界區對此臨界資源進行訪問;如正被訪問,則該進程不能進入臨界區訪問臨界資源。在退出臨界區后,執行恢復訪問標志的代碼為“退出區”,而在退出前執行“退出區”代碼主要是為了使其它進程能再訪問此臨界資源。18.同步機構應遵循哪些基本準則?為什么?a.空閑讓進、忙則等待、有限等待、讓權等待四條準則b.為實現進程能互斥地進入到自己的臨界區22.試寫出相應的程序來描述圖2-17所示的前驅圖。a.Vara,b,c,d,e,f,g,h;semaphore:=0,0,0,1,0,0,0,0;beginparbeginbeginS1;signal(a);signal(b);end;beginwait(a);S2;signal(c);signal(d);end;beginwait(b);S3;signal(e);end;beginwait(c);S4;signal(f);end;beginwait(d);S5;signal(g);end;beginwait(e);S6;signal(h);end;beginwait(f);wait(g);wait(h);S7;end;parendendb.略24.在生產者—消費者問題中,如果將兩個wait操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)和signal(full)互換位置,結果會如何?在生產者—消費者問題中,如果將兩個wait操作,即wait(full)和wait(mutex)互換位置后,可能引起死鎖。考慮系統中緩沖區全滿時,若一生產者進程先執行了wait(mutex)操作并獲得成功,則當再執行wait(empty)操作時,它將因失敗而進入阻塞狀態,它期待消費者進程執行signal(empty)來喚醒自己,在此之前,它不可能執行signal(mutex)操作,從而使試圖通過執行wait(mutex)操作而進入自己的臨界區的其他生產者和所有消費者進程全部進入阻塞狀態,這樣容易引起系統死鎖。若signal(mutex)和signal(full)互換位置后只是影響進程對臨界資源的釋放次序,而不會引起系統死鎖,因此可以互換位置。26.試修改下面生產者——消費者問題解法中的錯誤:producer:beginrepeat……produceaniteminnextp;wait(mutex);wait(full);buffer(in):=nextp;……signal(mutex);untilfalse;endconsumer:beginrepeat……wait(mutex);wait(empty);nextc:=buffer(out);out:=out+1;signal(mutex);consumeiteminnextc;untilfalse;end38.試從調度性,并發性,擁有資源與系統開銷方面對進程和線程進行比較.a.調度性。在傳統的操作系統中,擁有資源的基本單位和獨立調度、分派的基本單位都是進程,在引入線程的OS中,則把線程作為調度和分派的基本單位,而把進程作為資源擁有的基本單位;b.并發性。在引入線程的OS中,不僅進程之間可以并發執行,而且在一個進程中的多個線程之間,亦可并發執行,因而使OS具有更好的并發性;c.擁有資源。無論是傳統的操作系統,還是引入了線程的操作系統,進程始終是擁有資源的一個基本單位,而線程除了擁有一點在運行時必不可少的資源外,本身基本不擁有系統資源,但它可以訪問其隸屬進程的資源;d.開銷。由于創建或撤銷進程時,系統都要為之分配和回收資源,如內存空間等,進程切換時所要保存和設置的現場信息也要明顯地多于線程,因此,操作系統在創建、撤消和切換進程時所付出的開銷將顯著地大于線程。101頁1.高級調度與低級調度的主要任務是什么?為什么要引入中級調度?高級調度的主要任務:用于決定把外存上處于后備隊列中的哪些作業調入內存,并為它們創建進程,分配必要的資源,然后,再將新創建的進程插入就緒隊列上,準備執行。低級調度的主要任務:用于決定就緒隊列中的哪個進程應獲得處理機,然后再由分派程序執行將處理機分配給該進程的具體操作。引入中級調度的主要目的:是為了提高系統資源的利用率和系統吞吐量。2、在搶占調度方式中,搶占的原則是什么?a.時間片原則;b.優先權原則;c.短作業(進程)優先原則.20.何謂死鎖?產生死鎖的原因和必要條件是什么?a.死鎖是指多個進程因競爭資源而造成的一種僵局,若無外力作用,這些進程都將永遠不能再向前推進;b.產生死鎖的原因有二,一是競爭資源,二是進程推進順序非法;c.必要條件是:互斥條件,請求和保持條件,不剝奪條件和環路等待條件。在銀行家算法中,若出現下述資源分配情:ProcessAllocationNeedAvailableP0003200121622P110001750P213542356P303320652P400140656試問:⑴該狀態是否安全?⑵若進程P2提出請求Request(1,2,2,2)后,系統能否將資源分配給它?⑴該狀態是安全的,因為存在一個安全序列<P0P3P4P1P2>。下表為該時刻的安全序列表。資源情況進程WorkNeedAllocationWork+AllocationFinishP0P3P4P1P2162216541987199112991100120652065617502356003203330014100013541654198719911299113121417truetruetruetruetrue⑵若進程P2提出請求Request(1,2,2,2)后,系統不能將資源分配給它,若分配給進程P2,系統還剩的資源情況為(0,4,0,0),此時系統中的資源將無法滿足任何一個進程的資源請求,從而導致系統進入不安全狀態,容易引起死鎖的發生。142頁1.可采用哪幾種方式將程序裝入內存?它們分別適用于何種場合?將程序裝入內存可采用的方式有:絕對裝入方式、重定位裝入方式、動態運行時裝入方式;絕對裝入方式適用于單道程序環境中,重定位裝入方式和動態運行時裝入方式適用于多道程序環境中。5.為什么要引入動態重定位?如何實現?a.程序在運行過程中經常要在內存中移動位置,為了保證這些被移動了的程序還能正常執行,必須對程序和數據的地址加以修改,即重定位。引入重定位的目的就是為了滿足程序的這種需要。b.要在不影響指令執行速度的同時實現地址變換,必須有硬件地址變換機構的支持,即須在系統中增設一個重定位寄存器,用它來存放程序在內存中的起始地址。程序在執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。14.分頁和分段有何區別?a.分頁和分段都采用離散分配的方式,且都要通過地址映射機構來實現地址變換,這是它們的共同點;b.對于它們的不同點有三,第一,從功能上看,頁是信息的物理單位,分頁是為實現離散分配方式,以消減內存的外零頭,提高內存的利用率,即滿足系統管理的需要,而不是用戶的需要;而段是信息的邏輯單位,它含有一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要;第二頁的大小固定且由系統確定,而段的長度卻不固定,決定于用戶所編寫的程序;第三分頁的作業地址空間是一維的,而分段的作業地址空間是二維的。15.試全面比較連續分配和離散分配方式。a.連續分配是指為一個用戶程序分配一個連續的地址空間,包括單一連續分配方式和分區式分配方式,前者將內存分為系統區和用戶區,系統區供操作系統使用,用戶區供用戶使用,是最簡單的一種存儲方式,但只能用于單用戶單任務的操作系統中;分區式分配方式分為固定分區和動態分區,固定分區是最簡單的多道程序的存儲管理方式,由于每個分區的大小固定,必然會造成存儲空間的浪費;動態分區是根據進程的實際需要,動態地為之分配連續的內存空間,常用三種分配算法:首次適應算法,該法容易留下許多難以利用的小空閑分區,加大查找開銷;循環首次適應算法,該算法能使內存中的空閑分區分布均勻,但會致使缺少大的空閑分區;最佳適應算法,該算法也易留下許多難以利用的小空閑區;b.離散分配方式基于將一個進程直接分散地分配到許多不相鄰的分區中的思想,分為分頁式存儲管理,分段存儲管理和段頁式存儲管理.分頁式存儲管理旨在提高內存利用率,滿足系統管理的需要,分段式存儲管理則旨在滿足用戶(程序員)的需要,在實現共享和保護方面優于分頁式存儲管理,而段頁式存儲管理則是將兩者結合起來,取長補短,即具有分段系統便于實現,可共享,易于保護,可動態鏈接等優點,又能像分頁系統那樣很好的解決外部碎片的問題,以與為各個分段可離散分配內存等問題,顯然是一種比較有效的存儲管理方式;c.綜上可見,連續分配方式和離散分配方式各有各自的特點,應根據實際情況加以改進和利用.16.虛擬存儲器有哪些特征?其中最本質的特征是什么?特征:離散性、多次性、對換性、虛擬性;最本質的特征:離散性;最重要的特征:虛擬性。19.在請求分頁系統中,其頁表項中包含那些數據項?它們的作用是什么?a.在請求分頁系統中,其頁表項中包含的數據項有頁號,物理塊號,狀態位P,訪問字段A,修改位M和外存地址;b.其中狀態

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論