第一篇:操作系統課后題答案
第一章
1.設計現代OS的主要目標是什么?
答:(1)有效性(2)方便性(3)可擴充性(4)開放性 2.OS的作用可表現在哪幾個方面?
答:(1)OS作為用戶與計算機硬件系統之間的接口(2)OS作為計算機系統資源的管理者(3)OS實現了對計算機資源的抽象
3.為什么說OS實現了對計算機資源的抽象?
答:OS首先在裸機上覆蓋一層I/O設備管理軟件,實現了對計算機硬件操作的第一層次抽 象;在第一層軟件上再覆蓋文件管理軟件,實現了對硬件資源操作的第二層次抽象。OS 通 過在計算機硬件上安裝多層系統軟件,增強了系統功能,隱藏了對硬件操作的細節,由它們 共同實現了對計算機資源的抽象。
4.試說明推動多道批處理系統形成和發展的主要動力是什么? 答:主要動力來源于四個方面的社會需求與技術發展:(1)不斷提高計算機資源的利用率;(2)方便用戶;
(3)器件的不斷更新換代;
(4)計算機體系結構的不斷發展。
5.何謂脫機I/O和聯機I/O?
答:脫機I/O 是指事先將裝有用戶程序和數據的紙帶或卡片裝入紙帶輸入機或卡片機,在 外圍機的控制下,把紙帶或卡片上的數據或程序輸入到磁帶上。該方式下的輸入輸出由外圍 機控制完成,是在脫離主機的情況下進行的。
而聯機I/O方式是指程序和數據的輸入輸出都是在主機的直接控制下進行的。6.試說明推動分時系統形成和發展的主要動力是什么?
答:推動分時系統形成和發展的主要動力是更好地滿足用戶的需要。主要表現在:CPU 的 分時使用縮短了作業的平均周轉時間;人機交互能力使用戶能直接控制自己的作業;主機的 共享使多用戶能同時使用同一臺計算機,獨立地處理自己的作業。7.實現分時系統的關鍵問題是什么?應如何解決?
答:關鍵問題是當用戶在自己的終端上鍵入命令時,系統應能及時接收并及時處理該命令,在用戶能接受的時延內將結果返回給用戶。
解決方法:針對及時接收問題,可以在系統中設置多路卡,使主機能同時接收用戶從各個終 端上輸入的數據;為每個終端配置緩沖區,暫存用戶鍵入的命令或數據。針對及時處理問題,應使所有的用戶作業都直接進入內存,并且為每個作業分配一個時間片,允許作業只在自己 的時間片內運行,這樣在不長的時間內,能使每個作業都運行一次。8.為什么要引入實時OS?
答:實時操作系統是指系統能及時響應外部事件的請求,在規定的時間內完成對該事件的處 理,并控制所有實時任務協調一致地運行。引入實時OS 是為了滿足應用的需求,更好地滿 足實時控制領域和實時信息處理領域的需要。
9.什么是硬實時任務和軟實時任務?試舉例說明。
答:硬實時任務是指系統必須滿足任務對截止時間的要求,否則可能出現難以預測的結果。舉例來說,運載火箭的控制等。
軟實時任務是指它的截止時間并不嚴格,偶爾錯過了任務的截止時間,對系統產生的影 響不大。舉例:網頁內容的更新、火車售票系統。
10.在8位微機和16位微機中,占據了統治地位的是什么操作系統?
答:單用戶單任務操作系統,其中最具代表性的是CP/M和MS-DOS.11.試列出Windows OS 中五個主要版本,并說明它們分別較之前一個版本有何改進。答:
(1)Microsoft Windows 1.0是微軟公司在個人電腦上開發圖形界面的首次嘗試。(2)Windows 95是混合的16位/32位系統,第一個支持32位。帶來了更強大、更穩 定、更實用的桌面圖形用戶界面,結束了桌面操作系統間的競爭。
(3)Windows 98是微軟公司的混合16位/32位Windows 操作系統,改良了硬件標準 的支持,革新了內存管理,是多進程操作系統。
(4)Windows XP是基于Windows 2000的產品,擁有新用戶圖形界面月神Luna。簡 化了用戶安全特性,整合了防火墻。
(5)Windows Vista 包含了上百種新功能;特別是新版圖形用戶界面和Windows Aero 全新界面風格、加強的搜尋功能(Windows Indexing Service)、新媒體創作工具以及重 新設計的網絡、音頻、輸出(打印)和顯示子系統。
12.試從交互性、及時性以及可靠性方面,將分時系統與實時系統進行比較。
答:(1)及時性:實時信息處理系統對實時性的要求與分時系統類似,都是以人所能接受 的等待時間來確定;而實時控制系統的及時性,是以控制對象所要求的開始截止時間或完成 截止時間來確定的,一般為秒級到毫秒級,甚至有的要低于100微妙。
(2)交互性:實時信息處理系統具有交互性,但人與系統的交互僅限于訪問系統中某 些特定的專用服務程序。不像分時系統那樣能向終端用戶提供數據和資源共享等服務。(3)可靠性:分時系統也要求系統可靠,但相比之下,實時系統則要求系統具有高度 的可靠性。因為任何差錯都可能帶來巨大的經濟損失,甚至是災難性后果,所以在實時系統 中,往往都采取了多級容錯措施保障系統的安全性及數據的安全性。13.OS有哪幾大特征?其最基本的特征是什么?
答:并發性、共享性、虛擬性和異步性四個基本特征;最基本的特征是并發性。14.處理機管理有哪些主要功能?它們的主要任務是什么?
答:處理機管理的主要功能是:進程管理、進程同步、進程通信和處理機調度; 進程管理:為作業創建進程,撤銷已結束進程,控制進程在運行過程中的狀態轉換。進程同步:為多個進程(含線程)的運行______________進行協調。通信:用來實現在相互合作的進程之間的信息交換。
處理機調度:
(1)作業調度。從后備隊里按照一定的算法,選出若干個作業,為他們分配運行所需 的資源(首選是分配內存)。
(2)進程調度:從進程的就緒隊列中,按照一定算法選出一個進程,把處理機分配給 它,并設置運行現場,使進程投入執行。
15.內存管理有哪些主要功能?他們的主要任務是什么?
北京石油化工學院信息工程學院計算機系3/48 《計算機操作系統》習題參考答案余有明與計07和計G09的同學們編著 3/48 答:內存管理的主要功能有:內存分配、內存保護、地址映射和內存擴充。內存分配:為每道程序分配內存。
內存保護:確保每道用戶程序都只在自己的內存空間運行,彼此互不干擾。地址映射:將地址空間的邏輯地址轉換為內存空間與對應的物理地址。內存擴充:用于實現請求調用功能,置換功能等。16.設備管理有哪些主要功能?其主要任務是什么?
答:主要功能有: 緩沖管理、設備分配和設備處理以及虛擬設備等。
主要任務: 完成用戶提出的I/O 請求,為用戶分配I/O 設備;提高CPU 和I/O 設 備的利用率;提高I/O速度;以及方便用戶使用I/O設備.17.文件管理有哪些主要功能?其主要任務是什么?
答:文件管理主要功能:文件存儲空間的管理、目錄管理、文件的讀/寫管理和保護。文件管理的主要任務:管理用戶文件和系統文件,方便用戶使用,保證文件安全性。18.是什么原因使操作系統具有異步性特征?
答:操作系統的異步性體現在三個方面:一是進程的異步性,進程以人們不可預知的速度向 前推進,二是程序的不可再現性,即程序執行的結果有時是不確定的,三是程序執行時間的 不可預知性,即每個程序何時執行,執行順序以及完成時間是不確定的。19.模塊接口法存在哪些問題?可通過什么樣的途徑來解決?
答:(1)模塊接口法存在的問題:①在OS設計時,各模塊間的接口規定很難滿足在模塊完 成后對接口的實際需求。②在OS 設計階段,設計者必須做出一系列的決定,每一個決定必 須建立在上一個決定的基礎上。但模塊化結構設計的各模塊設計齊頭并進,無法尋找可靠的 順序,造成各種決定的無序性,使程序設計人員很難做到設計中的每一步決定都建立在可靠 的基礎上,因此模塊接口法被稱為“無序模塊法”。
(2)解決途徑:將模塊接口法的決定順序無序變有序,引入有序分層法。20.在微內核OS中,為什么要采用客戶/服務器模式?
答:C/S 模式具有獨特的優點:⑴數據的分布處理和存儲。⑵便于集中管理。⑶靈活性和 可擴充性。⑷易于改編應用軟件。21.試描述什么是微內核OS。
答:1)足夠小的內核 2)基于客戶/服務器模式
3)應用機制與策略分離原理 4)采用面向對象技術。22.在基于微內核結構的OS中,應用了哪些新技術?
答:在基于微內核結構的OS 中,采用面向對象的程序設汁技術。
23.何謂微內核技術?在微內核中通常提供了哪些功能?
答:把操作系統中更多的成分和功能放到更高的層次(即用戶模式)中去運行,而留下一個 盡量小的內核,用它來完成操作系統最基本的核心功能,稱這種技術為微內核技術。在微內 核中通常提供了進程(線程)管理、低級存儲器管理、中斷和陷入處理等功能。24.微內核操作系統具有哪些優點?它為何能有這些優點? 答:1)提高了系統的可擴展性 2)增強了系統的可靠性 3)可移植性
4)提供了對分布式系統的支持 5)融入了面向對象技術
第二章
1.什么是前趨圖?為什么要引入前趨圖?
答:前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(Directed Acyclic Graph),用于描述進程之間執行的前后關系。
2.畫出下面四條語句的前趨圖: S1=a:=x+y;S2=b:=z+1;S3=c:=a – b; S4=w:=c+1;3 答:其前趨圖為:3.什么程序并發執行會產生間斷性特征?
答:程序在并發執行時,由于它們共享系統資源,為完成同一項任務需要相互合作,致使這 些并發執行的進程之間,形成了相互制約關系,從而使得進程在執行期間出現間斷性。4.程序并發執行時為什么會失去封閉性和可再現性?
答:程序并發執行時,多個程序共享系統中的各種資源,因而這些資源的狀態由多個程序改 變,致使程序運行失去了封閉性,也會導致其失去可再現性。
5.在操作系統中為什么要引入進程概念?它會產生什么樣的影響? 答:為了使程序在多道程序環境下能并發執行,并對并發執行的程序加以控制和描述,在操 作系統中引入了進程概念。
影響: 使程序的并發執行得以實行。
6.試從動態性,并發性和獨立性上比較進程和程序? 答:(1)動態性是進程最基本的特性,表現為由創建而產生,由調度而執行,因得不到資源 而暫停執行,由撤銷而消亡。進程有一定的生命期,而程序只是一組有序的指令集合,是靜 態實體。
(2)并發性是進程的重要特征,同時也是OS 的重要特征。引入進程的目的正是為了使 其程序能和其它進程的程序并發執行,而程序是不能并發執行的。
(3)獨立性是指進程實體是一個能獨立運行的基本單位,也是系統中獨立獲得資源和獨 立調度的基本單位。對于未建立任何進程的程序,不能作為獨立單位參加運行。7.試說明PCB 的作用,為什么說PCB 是進程存在的惟一標志?
答:PCB 是進程實體的一部分,是操作系統中最重要的記錄型數據結構。作用是使一個在 多道程序環境下不能獨立運行的程序,成為一個能獨立運行的基本單位,成為能與其它進程 并發執行的進程。OS是根據PCB對并發執行的進程進行控制和管理的。8.試說明進程在三個基本狀態之間轉換的典型原因。答:(1)就緒狀態→執行狀態:進程分配到CPU資源(2)執行狀態→就緒狀態:時間片用完(3)執行狀態→阻塞狀態:I/O請求
(4)阻塞狀態→就緒狀態:I/O完成
9.為什么要引入掛起狀態?該狀態有哪些性質?
答:引入掛起狀態處于五種不同的需要: 終端用戶需要,父進程需要,操作系統需要,對換
北京石油化工學院信息工程學院計算機系5/48 《計算機操作系統》習題參考答案余有明與計07和計G09的同學們編著 5/48 需要和負荷調節需要。處于掛起狀態的進程不能接收處理機調度。10.在進行進程切換時,所要保存的處理機狀態信息有哪些? 答:進行進程切換時,所要保存的處理機狀態信息有:(1)進程當前暫存信息
(2)下一指令地址信息(3)進程狀態信息
(4)過程和系統調用參數及調用地址信息。
11.試說明引起進程創建的主要事件。
答:引起進程創建的主要事件有:用戶登錄、作業調度、提供服務、應用請求。12.試說明引起進程被撤銷的主要事件。
答:引起進程被撤銷的主要事件有:正常結束、異常結束(越界錯誤、保護錯、非法指令、特權指令錯、運行超時、等待超時、算術運算錯、I/O 故障)、外界干預(操作員或操作系 統干預、父進程請求、父進程終止)。
13.在創建一個進程時所要完成的主要工作是什么?
答:
(1)OS 發現請求創建新進程事件后,調用進程創建原語Creat();(2)申請空白PCB;(3)為新進程分配資源;(4)初始化進程控制塊;
(5)將新進程插入就緒隊列.14.在撤銷一個進程時所要完成的主要工作是什么?
答:
(1)根據被終止進程標識符,從PCB 集中檢索出進程PCB,讀出該進程狀態。
(2)若被終止進程處于執行狀態,立即終止該進程的執行,置調度標志真,指示該進程被 終止后重新調度。
(3)若該進程還有子進程,應將所有子孫進程終止,以防它們成為不可控進程。(4)將被終止進程擁有的全部資源,歸還給父進程,或歸還給系統。
(5)將被終止進程PCB 從所在隊列或列表中移出,等待其它程序搜集信息。15.試說明引起進程阻塞或被喚醒的主要事件是什么?
答:a.請求系統服務;b.啟動某種操作;c.新數據尚未到達;d.無新工作可做.16.進程在運行時存在哪兩種形式的制約?并舉例說明之。答:
(1)間接相互制約關系。舉例:有兩進程A 和B,如果A 提出打印請求,系統已把唯一的 一臺打印機分配給了進程B,則進程A 只能阻塞;一旦B 釋放打印機,A 才由阻塞改為就 緒。
(2)直接相互制約關系。舉例:有輸入進程A 通過單緩沖向進程B 提供數據。當緩沖空時,計算進程因不能獲得所需數據而阻塞,當進程A 把數據輸入緩沖區后,便喚醒進程B;反 之,當緩沖區已滿時,進程A 因沒有緩沖區放數據而阻塞,進程B 將緩沖區數據取走后便 喚醒A。
17.為什么進程在進入臨界區之前應先執行“進入區”代碼?而在退出前又要執行“退出 區”代碼?
答:為了實現多個進程對臨界資源的互斥訪問,必須在臨界區前面增加一段用于檢查欲訪問 的臨界資源是否正被訪問的代碼,如果未被訪問,該進程便可進入臨界區對資源進行訪問,并設置正被訪問標志,如果正被訪問,則本進程不能進入臨界區,實現這一功能的代碼為“ 北京石油化工學院信息工程學院計算機系6/48 《計算機操作系統》習題參考答案余有明與計07和計G09的同學們編著 6/48 進入區”代碼;
在退出臨界區后,必須執行“退出區”代碼,用于恢復未被訪問標志,使其它進程能再訪問此 臨界資源。
18.同步機構應遵循哪些基本準則?為什么?
答:同步機構應遵循的基本準則是:空閑讓進、忙則等待、有限等待、讓權等待
原因:為實現進程互斥進入自己的臨界區。
19.試從物理概念上說明記錄型信號量wait 和signal。
答:wait(S):當S.value>0 時,表示目前系統中這類資源還有可用的。執行一次wait 操 作,意味著進程請求一個單位的該類資源,使系統中可供分配的該類資源減少一個,因此描 述為S.value:=S.value-1;當S.value<0時,表示該類資源已分配完畢,進程應調用block 原語自我阻塞,放棄處理機,并插入到信號量鏈表S.L中。
signal(S):執行一次signal操作,意味著釋放一個單位的可用資源,使系統中可供分配 的該類資源數增加一個,故執行S.value:=S.value+1 操作。若加1 后S.value≤0,則表 示在該信號量鏈表中,仍有等待該資源的進程被阻塞,因此應調用wakeup 原語,將S.L 鏈表中的第一個等待進程喚醒。
20.你認為整型信號量機制是否完全遵循了同步機構的四條準則?
答:整型信號量機制不完全遵循同步機制的四條準則,它不滿足“讓權等待”準則。21.如何利用信號量機制來實現多個進程對臨界資源的互斥訪問?并舉例說明之。
答:為使多個進程互斥訪問某臨界資源,只需為該資源設置一互斥信號量mutex,并設其 初值為1,然后將各進程訪問該資源的臨界區CS置于wait(mutex)和signal(mutex)操作 之間即可。這樣,每個欲訪問該臨界資源的進程在進入臨界區之前,都要先對mutex 執行 wait 操作,若該資源此刻未被訪問,本次wait 操作必然成功,進程便可進入自己的臨界區,這時若再有其他進程也欲進入自己的臨界區,此時由于對mutex 執行wait操作定會失敗,因而該進程阻塞,從而保證了該臨界資源能被互斥訪問。當訪問臨界資源的進程退出臨界區 后,應對mutex執行signal 操作,釋放該臨界資源。利用信號量實現進程互斥的進程描述 如下:
Var mutex: semaphore:=1; begin parbegin process 1: begin repeat wait(mutex); critical section signal(mutex); remainder seetion until false; end process 2: begin repeat wait(mutex); critical section signal(mutex); remainder section until false; end parend
22.試寫出相應的程序來描述圖2-17所示的前驅圖。
答:(a)Var a, b, c, d, e, f, g, h;semaphore:= 0, 0, 0, 0, 0, 0, 0, 0;begin parbegin begin S1;signal(a);signal(b);end;begin wait(a);S2;signal(c);signal(d);end;begin wait(b);S3;signal(e);end;begin wait(c);S4;signal(f);end;begin wait(d);S5;signal(g);end;begin wait(e);S6;signal(h);end;begin wait(f);wait(g);wait(h);S7;end;parend end(b)Var a, b, c, d, e, f, g, h,i,j;semaphore:= 0, 0, 0, 0, 0, 0, 0,0,0, 0;begin parbegin begin S1;signal(a);signal(b);end;begin wait(a);S2;signal(c);signal(d);end;begin wait(b);S3;signal(e);signal(f);end;begin wait(c);S4;signal(g);end;begin wait(d);S5;signal(h);end;begin wait(e);S6;signal(i);end;begin wait(f);S7;signal(j);end;begin wait(g);wait(h);wait(i);wait(j);S8;end;parend end 23.在生產者消費者問題中,如果缺少了signal(full)或signal(empty),對執行結果有何影響? 答:
如果缺少signal(full),那么表明從第一個生產者進程開始就沒有改變信號量full 值,即使緩沖池產品已滿,但full 值還是0,這樣消費者進程執行wait(full)時認為緩沖池是空 而取不到產品,消費者進程一直處于等待狀態。
如果缺少signal(empty),在生產者進程向n個緩沖區投滿產品后消費者進程才開始從
中取產品,這時empty=0,full=n,那么每當消費者進程取走一個產品empty 值并不改變,7 直到緩沖池取空了,empty 值也是0,即使目前緩沖池有n 個空緩沖區,生產者進程要想 再往緩沖池中投放產品也會因為申請不到空緩沖區被阻塞。
24.在生產消費者問題中,如果將兩個wait 操作即wait(full)和wait(mutex)互換位置,或者將signal(mutex)與signal(full)互換位置,結果如何?
答:將wait(full)和wait(mutex)互換位置后,可能引起死鎖。考慮系統中緩沖區全滿時,若一生產者進程先執行了wait(mutex)操作并獲得成功,則當再執行wait(empty)操作時,它將因失敗而進入阻塞狀態,它期待消費者進程執行signal(empty)來喚醒自己,在此之前,它不可能執行signal(mutex)操作,從而使試圖通過執行wait(mutex)操作而進入自己的臨 界區的其他生產者和所有消費者進程全部進入阻塞狀態,這樣容易引起系統死鎖。若signal(mutex)和signal(full)互換位置后只是影響進程對臨界資源的釋放次序,而 不會引起系統死鎖,因此可以互換位置。
25.我們在為某一臨界資源設置一把鎖W,當W=1時表示關鎖,當W=0時表示鎖已打開。試寫出開鎖和關鎖的原語,并利用他們實現互斥。答:整型信號量:lock(W): while W=1 do no-op
W:=1;
unlock(W): W:=0;記錄型信號量:lock(W): W:=W+1;
if(W>1)then block(W, L)unlock(W): W:=W-1;
if(W>0)then wakeup(W, L)例子:
Var W:semaphore:=0;
begin repeat lock(W);critical section unlock(W);remainder section until false;end
26.試修改下面生產者-消費者問題解法中的錯誤: 答: producer: begin repeat ?
producer an item in nextp;wait(mutex);wait(full);/* 應為wait(empty),而且還應該在wait(mutex)的前面 */ buffer(in):=nextp;/* 緩沖池數組游標應前移: in:=(in+1)mod n;*/ signal(mutex);8 /* signal(full);*/ until false;end consumer: begin repeat wait(mutex);wait(empty);/* 應為wait(full),而且還應該在wait(mutex)的前面 */ nextc:=buffer(out);out:=out+1;/* 考慮循環,應改為: out:=(out+1)mod n;*/ signal(mutex);/* signal(empty);*/ consumer item in nextc;until false;end 27.試利用記錄型信號量寫出一個不會出現死鎖的哲學家進餐問題的算法.答:Var chopstick:array[0,?,4] of semaphore;所有信號量均被初始化為1,第i 位哲學家的活動可描述為: Repeat Wait(chopstick[i]);Wait(.chopstick[(i+1)mod 5]);?
Ea.t;?
Signal(chopstick[i]);Signal(chopstick[(i+1)mod 5])Ea.t;?
Think;Until false;
28.在測量控制系統中的數據采集任務,把所采集的數據送一單緩沖區;計算任務從該單 緩沖中取出數據進行計算.試寫出利用信號量機制實現兩者共享單緩沖的同步算法。答:
a.Var mutex, empty, full: semaphore:=1, 1, 0;gather: begin repeat ??
gather data in nextp;wait(empty);wait(mutex);buffer:=nextp;signal(mutex);9 signal(full);until false;end compute: begin repeat ??
wait(full);wait(mutex);nextc:=buffer;signal(mutex);signal(empty);compute data in nextc;until false;end b.Var empty, full: semaphore:=1, 0;gather: begin repeat ??
gather data in nextp;wait(empty);buffer:=nextp;signal(full);until false;end compute: begin repeat ??
wait(full);nextc:=buffer;signal(empty);compute data in nextc;until false;end 29.畫圖說明管程由哪幾部分組成,為什么要引入條件變量?
答:管程由四部分組成:①管程的名稱;②局部于管程內部的共享數據結構說明;③對該數 據結構進行操作的一組過程;④對局部于管程內部的共享數據設置初始值的語句;
當一個進程調用了管程,在管程中時被阻塞或掛起,直到阻塞或掛起的原因解除,而在此期 間,如果該進程不釋放管程,則其它進程無法進入管程,被迫長時間地等待。為了解決這個 問題,引入了條件變量condition。
30.如何利用管程來解決生產者與消費者問題?
答:首先建立一個管程,命名為ProclucerConsumer,包括兩個過程:
(1)Put(item)過程。生產者利用該過程將自己生產的產品放到緩沖池,用整型變 量count 表示在緩沖池中已有的產品數目,當count≥n 時,表示緩沖池已滿,生產者須 等待。
(2)get(item)過程。消費者利用該過程從緩沖池中取出一個產品,當count≤0 時,表示緩沖池中已無可取的產品,消費者應等待。PC 管程可描述如下:
type producer-consumer =monitor Var in,out,count:integer;buffer:array[0,?,n-1]of item;notfull,notempty:condition;procedure entry dot(item)begin if count>=n then not full.wait;buffer(in):=nextp;in:=(in+1)mod n;count:=count+1;if notempty.queue then notempty.signal;end procedure entry get(item)begin if count<=0 then not full.wait;nextc:=buffer(out);out:=(out+1)mod n;count:=count-1;if notfull.quene then notfull.signal;11 end begin in:=out:=0;count:=0 end 在利用管程解決生產者一消費者問題時,其中的生產者和消費者可描述為: producer: begin pepeat produce an inem in nestp PC.put(item);until false;end consumer: begin repeat PC.get(item);consume the item in enxtc;until false;end 31.什么是AND信號量?試利用AND信號量寫出生產者一消費者問題的解法。
答:為解決并行帶來的死鎖問題,在wait 操作中引入AND 條件,其基本思想是將進 程在整個運行過程中所需要的所有臨界資源,一次性地全部分配給進程,用完后一次性釋放。解決生產者-消費者問題可描述如下: var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1] of item;in,out: integer:=0,0;begin parbegin producer: begin repeat ?
produce an item in nextp;?
wait(empty);wait(s1,s2,s3,...,sn);//s1,s2,...,sn為執行生產者進程除empty 外其余的條件 wait(mutex);buffer(in):=nextp;in:=(in+1)mod n;signal(mutex);signal(full);signal(s1,s2,s3,...,sn);until false;end consumer: begin repeat wait(full);12 wait(k1,k2,k3,...,kn);//k1,k2,...,kn 為執行消費者進程除full 外其余的條件
wait(mutex);nextc:=buffer(out);out:=(out+1)mod n;signal(mutex);signal(empty);signal(k1,k2,k3,...,kn);consume the item in nextc;until false;end parend end 32.什么是信號量集?試利用信號量集寫出讀者一寫者問題的解法。答:對AND信號量加以擴充,形成的信號量集合的讀寫機制。解法:Var RN integer;L,mx: semaphore:=RN,1;begin parbegin reader:begin repeat Swait(L,1,1);Swait(mx,1,1);?
perform read operation;?
Ssignal(L,1);until false end writer:begin repeat Swait(mx,1,1;L,RN,0);perform write operation;Ssignal(mx,1);until false end parend end 33.試比較進程間的低級與高級通信工具。
答:用戶用低級通信工具實現進程通信很不方便,效率低,通信對用戶不透明,所有操作都 必須由程序員來實現,而高級通信工具彌補了這些缺陷,用戶直接利用操作系統提供的一組 通信命令,高效地傳送大量的數據。34.當前有哪幾種高級通信機制?
答:共享存儲器系統、消息傳遞系統以及管道通信系統。
35.消息隊列通信機制有哪幾方面的功能?
答:(1)構成消息(2)發送消息(3)接收梢息(4)互斥與同步。36.為什么要在OS 中引入線程?
答:在操作系統中引入線程,則是為了減少程序在并發執行時所付出的時空開銷,使OS具 有更好的并發性,提高CPU的利用率。進程是分配資源的基本單位,而線程則是系統調度的 基本單位。
37.試說明線程具有哪些屬性?
答:(1)輕型實體(2)獨立調度和分派的基本單位(3)可并發執行(4)共享進程資源。38.試從調度性,并發性,擁有資源及系統開銷方面對進程和線程進行比較。答:
(1)調度性。線程在OS 中作為調度和分派的基本單位,進程只作為資源擁有的基本單位。(2)并發性。進程可以并發執行,一個進程的多個線程也可并發執行。
(3)擁有資源。進程始終是擁有資源的基本單位,線程只擁有運行時必不可少的資源,本 身基本不擁有系統資源,但可以訪問隸屬進程的資源。
(4)系統開銷。操作系統在創建、撤消和切換進程時付出的開銷顯著大于線程。39.為了在多線程OS 中實現進程之間的同步與通信,通常提供了哪幾種同步機制? 答:同步功能可以控制程序流并訪問共享數據,從而并發執行多個線程。共有四種同步模型: 互斥鎖、讀寫鎖、條件變量和信號。
40.用于實現線程同步的私用信號量和公用信號量之間有何差別?
答:
(1)私用信號量。當某線程需利用信號量實現同一進程中各線程之間的同步時,可調用創 建信號量的命令來創建一個私用信號量,其數據結構存放在應用程序的地址空間中。
(2)公用信號量。公用信號量是為實現不同進程間或不同進程中各線程之間的同步而設置 的。其數據結構是存放在受保護的系統存儲區中,由OS為它分配空間并進行管理。41.何謂用戶級線程和內核支持線程?
答:
(1)用戶級線程:僅存在于用戶空間中的線程,無須內核支持。這種線程的創建、撤銷、線程間的同步與通信等功能,都無需利用系統調用實現。用戶級線程的切換通常發生在一個 應用進程的諸多線程之間,同樣無需內核支持。
(2)內核支持線程:在內核支持下運行的線程。無論是用戶進程中的線程,還是系統線程 中的線 程,其創建、撤銷和切換等都是依靠內核,在內核空間中實現的。在內核空間里還 為每個內核支持線程設置了線程控制塊,內核根據該控制塊感知某線程的存在并實施控制。42.試說明用戶級線程的實現方法。
答:用戶級線程是在用戶空間中的實現的,運行在“運行時系統”與“內核控制線程”的中 間系統上。運行時系統用于管理和控制線程的函數的集合。內核控制線程或輕型進程LWP 可通過系統調用獲得內核提供服務,利用LWP進程作為中間系統。43.試說明內核支持線程的實現方法。
答:系統在創建新進程時,分配一個任務數據區PTDA,其中包括若干個線程控制塊TCB 空間。創建一個線程分配一個TCB,有關信息寫入TCB,為之分配必要的資源。當PTDA 中的TCB 用完,而進程又有新線程時,只要所創建的線程數目未超過系統允許值,系統可 在為之分配新的TCB;在撤銷一個線程時,也應回收線程的所有資源和TCB。
第三章 第三章 處理機調度與死鎖
1.高級調度與低級調度的主要任務是什么?為什么要引入中級調度?
答:高級調度的主要任務是根據某種算法,把外存上處于后備隊列中的那些作業調入內存。低級調度是保存處理機的現場信息,按某種算法先取進程,再把處理器分配給進程。引入中級調度的主要目的是為了提高內存利用率和系統吞吐量。使那些暫時不能運行的進程不再占用內存資源,將它們調至外存等待,把進程狀態改為就緒駐外存狀態或掛起狀態。2.何謂作業、作業步和作業流?
答:作業包含通常的程序和數據,還配有作業說明書。系統根據該說明書對程序的運行進行控制。批處理系統中是以作業為基本單位從外存調入內存。
作業步是指每個作業運行期間都必須經過若干個相對獨立相互關聯的順序加工的步驟。作業流是指若干個作業進入系統后依次存放在外存上形成的輸入作業流;在操作系統的控制下,逐個作業進程處理,于是形成了處理作業流。
3.在什么情況下需要使用作業控制塊JCB?其中包含了哪些內容?
答:每當作業進入系統時,系統便為每個作業建立一個作業控制塊JCB,根據作業類型將它插入到相應的后備隊列中。JCB 包含的內容通常有:1)作業標識2)用戶名稱3)用戶賬戶4)作業類型(CPU繁忙型、I/O 芳名型、批量型、終端型)5)作業狀態6)調度信息(優先級、作業已運行)7)資源要求8)進入系統時間9)開始處理時間10)作業完成時間11)作業退出時間12)資源使用情況等 4.在作業調度中應如何確定接納多少個作業和接納哪些作業?
答:作業調度每次接納進入內存的作業數,取決于多道程序度。應將哪些作業從外存調入內存,取決于采用的調度算法。最簡單的是先來服務調度算法,較常用的是短作業優先調度算法和基于作業優先級的調度算法。5.試說明低級調度的主要功能。
答:(1)保存處理機的現場信息(2)按某種算法選取進程(3)把處理機分配給進程。6.在搶占調度方式中,搶占的原則是什么?
答:搶占的原則有:時間片原則、優先權原則、短作業優先權原則等。7.在選擇調度方式和調度算法時,應遵循的準則是什么?
答:
(1)面向用戶的準則:周轉時間短、響應時間快、截止時間的保證、優先權準則。(2)面向系統的準則:系統吞吐量高、處理機利用率好、各類資源的平衡利用。
8.在批處理系統、分時系統和實時系統中,各采用哪幾種進程(作業)調度算法? 答:批處理系統的調度算法:短作業優先、優先權、高響應比優先、多級反饋隊列調度算法。分時系統的調度算法:時間片輪轉法。
實時系統的調度算法:最早截止時間優先即EDF、最低松弛度優先即LLF算法。9.何謂靜態和動態優先級?確定靜態優先級的依據是什么?
答:靜態優先級是指在創建進程時確定且在進程的整個運行期間保持不變的優先級。
動態優先級是指在創建進程時賦予的優先權,可以隨進程推進或隨其等待時間增加而改變的優先級,可以獲得更好的調度性能。
確定進程優先級的依據:進程類型、進程對資源的需求和用戶要求。10.試比較FCFS和SPF兩種進程調度算法。
答:相同點:兩種調度算法都可以用于作業調度和進程調度。
不同點:FCFS調度算法每次都從后備隊列中選擇一個或多個最先進入該隊列的作業,將它們調入內存、分配資源、創建進程、插入到就緒隊列。該算法有利于長作業/進程,不利于短作業/進程。SPF算法每次調度都從后備隊列中選擇一個或若 15 干個估計運行時間最短的作業,調入內存中運行。該算法有利于短作業/進程,不利于長作業/進程。
11.在時間片輪轉法中,應如何確定時間片的大小?
答:時間片應略大于一次典型的交互需要的時間。一般應考慮三個因素:系統對相應時間的 要求、就緒隊列中進程的數目和系統的處理能力。
12.通過一個例子來說明通常的優先級調度算法不能適用于實時系統?
答:實時系統的調度算法很多,主要是基于任務的開始截止時間和任務緊急/松弛程度的任務優先級調度算法,通常的優先級調度算法不能滿足實時系統的調度實時性要求而不適用。
13.為什么說多級反饋隊列調度算法能較好地滿足各方面用戶的需求?
答:(1)終端型作業用戶提交的作業大多屬于較小的交互型作業,系統只要使這些作業在第一隊列規定的時間片內完成,終端作業用戶就會感到滿足。
(2)短批處理作業用戶,開始時像終端型作業一樣,如果在第一隊列中執行一個時間片段即可完成,便可獲得與終端作業一樣的響應時間。對于稍長作業,通常只需在第二和第三隊列各執行一時間片即可完成,其周轉時間仍然較短。
(3)長批處理作業,它將依次在第1,2,?,n個隊列中運行,然后再按輪轉方式運行,用戶不必擔心其作業長期得不到處理。所以,多級反饋隊列調度算法能滿足多用戶需求。14.為什么在實時系統中,要求系統(尤其是CPU)具有較強的處理能力?
答:實時系統中通常有著多個實時任務。若處理機的處理能力不夠強,有可能因為處理機忙不過來而使某些實時任務得不到及時處理,導致發生難以預料的后果。15.按照調度方式可將實時調度算法分為哪幾種? 答:可分為非搶占式和搶占式兩種算法。而非搶占式算法又分為非搶占式輪轉和優先調度算法;搶占式調度算法又分為基于時鐘中斷的搶占式優先權和立即搶占式優先權調度算法。
16.什么是最早截止時間優先調度算法?舉例說明。
答:根據任務的開始截止時間確定的任務優先級調度算法。截止時間越早則優先級越高。該算法要求在系統中保持一個實時任務就緒隊列,該隊列按各任務截止時間的先后排序。舉例:非搶占式調度方式用于非周期實時任務。圖3-9 是將該算法用于非搶占調度方式之例。該例中具有四個非周期任務,它們先后到達。系統首先調度任務1執行,在任務1執行期間,任務2、3又先后到達。由于任務3的開始截止時間早于任務2,故系統在任務1后將調度任務3執行。在此期間又到達作業4,其開始截止時間仍是早于任務2的,故在任務3執行完后,系統又調度任務4執行,最后才調度任務2執行。
圖3-9 EDF算法用于非搶占調度的調度方式
17.什么是最低松弛度優先調度算法?舉例說明之。
答:該算法是根據任務緊急(或松弛)的程度,來確定任務的優先級。任務的緊急程度愈高,為該任務所賦予的優先級就愈高,以使之優先執行。例如,一個任務在200 ms 時必須完
成,而它本身所需的運行時間就有100 ms,因此,調度程序必須在100 ms 之前調度執行,該任務的緊急程度(松弛程度)為100 ms。又如,另一任務在400 ms 時必須完成,它本身 需要運行 150 ms,則其松弛程度為 250 ms。
18.何謂死鎖?產生死鎖的原因和必要條件是什么? 答:死鎖是指多個進程在運行過程中因爭奪資源而造成的一種僵局,當進程處于這種僵持狀 態時,若無外力作用,它們都將無法再向前推進。
產生死鎖的原因為競爭資源和進程間推進順序非法。其必要條件是:互斥條件、請求和 保持條件、不剝奪條件、環路等待條件。
19.在解決死鎖問題的幾個方法中,哪種方法最易于實現?哪種方法使資源利用率最高? 答:解決死鎖的四種方法即預防、避免、檢測和解除死鎖中,預防死鎖最容易實現; 避免死鎖使資源的利用率最高。
20.請詳細說明可通過哪些途徑預防死鎖。
答:(1)擯棄“請求和保持”條件,就是如果系統有足夠資源,便一次性把進程需要的所 有資源分配給它;
(2)擯棄“不剝奪”條件,就是已經擁有資源的進程,當它提出新資源請求而不能立即 滿足時,必須釋放它已保持的所有資源,待以后需要時再重新申請;
(3)擯棄“環路等待”條件,就是將所有資源按類型排序標號,所有進程對資源的請求 必須嚴格按序號遞增的次序提出。
21.在銀行家算法的例子中,如果P0發出請求向量由Request(0,2,0)改為Request(0,1,0),問系統可否將資源分配給它?
答:(1)可以。銀行家算法各種資源數量分別為10、5、7,在T0時刻的資源分配如圖所示:
(2)具體分析如下:
①Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);系統先假定可為P0分配資源,并修改Available0,Allocation0和Need0向量,由此形成 的資源變化情況如下圖所示:
(3)P0請求資源:P0發出請求向量Requst0(0,1,0),系統按銀行家算法進行檢查:
① Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);③ 系統暫時先假定可為P0分配資源,并修改______________有關數據,如下圖所示
綜上所述系統可以將資源分配給它。
22.銀行家算法中出現以下資源分配,試問(1)該狀態是否安全?(2)若進程P2 提出 Request(1,2,2,2)后,系統能否將資源分配給它?
試問:(1)該狀態是否安全?
(2)若進程P2提出請求Request(1,2,2,2)后,系統能否將資源分配給它? 答:(1)安全,因為存在安全序列{P0,P3,P4,P1,P2}(2)系統能分配資源,分析如下。
① Request(1,2,2,2)<= Need2(2,3,5,6);② Request(1,2,2,2)<= Available2(1,3,5,4);
③ 系統先假定可為P2分配資源,并修改Available2,Allocation2和Need2向量,由此形成的資源變化情況如下圖所示:
④ 再利用安全性算法檢查此時系統是否安全。如下圖
由此進行的安全性檢查得知,可以找到一個安全序列{P2,P0,P1,P3,P4}。
第四章
1.為什么要配置層次式存儲器?
答:設置多個存儲器可以使存儲器兩端的硬件能并行工作;采用多級存儲系統,特別是 Cache 技術,是減輕存儲器帶寬對系統性能影響的最佳結構方案;在微處理機內部設置各 種緩沖存儲器,減輕對存儲器存取的壓力。增加CPU中寄存器數量大大緩解對存儲器壓力。2.可采用哪幾種方式將程序裝入內存?它們分別適用于何種場合?
答:(1)絕對裝入方式,只適用于單道程序環境。(2)可重定位裝入方式,適用于多道程序環境。
(3)動態運行時裝入方式,用于多道程序環境;不允許程序運行時在內存中移位置。3.何謂靜態鏈接?何謂裝入時動態鏈接和運行時的動態鏈接?P120 答:靜態鏈接是指在程序運行前,先將各目標模塊及它們所需的庫函數,鏈接成一個完整的 裝配模塊,以后不再拆開的鏈接方式。
裝入時動態鏈接是指將用戶源程序編譯后得到的一組目標模塊,在裝入內存時采用邊裝 入邊鏈接的鏈接方式。
運行時動態鏈接是指對某些目標模塊的鏈接,是在程序執行中需要該目標模塊時,才對 它進行的鏈接。
4.在進行程序鏈接時,應完成哪些工作?
答:由鏈接程序Linker將編譯后形成的一組目標模塊,以及它們需要的庫函數鏈接在一起,形成一個完整的裝入模塊Load Module。主要工作是修改程序內的相對地址和修改目標程 序中的外部調用標號。
5.在動態分區分配方式中,應如何將各空閑分區鏈接成空閑分區鏈?
答:在每個分區的起始部分,設置一些控制分區分配的信息,以及用于鏈接各分區所用的前 向指針;在分區尾部設置一個后向指針,通過前后向鏈接指針,將所有空閑分區鏈成一個雙 向鏈。當分區分配出去后,把狀態位由“0”改為“1”。
6.為什么要引入動態重定位?如何實現?
答:在程序執行過程中,每當訪問指令或數據時,將要訪問的程序或數據的邏輯地址轉換成 物理地址,引入了動態重定位;
具體實現方法是在系統中增加一個重定位寄存器,用來裝入程序在內存中的起始地址,程序執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加之和,從而實現 動態重定位。
7.在采用首次適應算法回收內存時,可能出現哪幾種情況?應怎樣處理這些情況? 答:在采用首次適應算法回收內存時可能出現4種情況:
(1)回收區前鄰空閑區。將回收區與前鄰空閑區合并,將前鄰空閑區大小修改為兩者之和。(2)回收區后鄰空閑區。將兩區合并,改后鄰空閑區始址為回收區始址,大小為兩者之和。
19(3)回收區前后均鄰空閑區。將三個分區合并,修改前鄰空閑區大小為三者之和。(4)回收區前后均不鄰空閑區。為回收區設置空閑區表項,填入回收區始址和大小并插入 空閑區隊列。8.令通用表達式。答:當
時,表示大小為、地址為x 的塊的伙伴系統地址,試寫出的;當
時,9.分區存儲管理中常用那些分配策略?比較它們的優缺點。
答:分區存儲管理中的常用分配策略:首次適應算法、循環首次適應算法、最佳適應算法、最壞適應算法。
首次適應算法優缺點:保留了高址部分的大空閑區,有利于后來的大型作業分配;低址
部分不斷被劃分,留下許多難以利用的小空閑區,每次查找都從低址開始增加了系統開銷。
循環首次適應算法優缺點:內存空閑分區分布均勻,減少了查找系統開銷;缺乏大空閑分區,導致不能裝入大型作業。
最佳適應算法優缺點:每次分配給文件的都是最適合該文件大小的分區,內存中留下許多難以利用的小空閑區。
最壞適應算法優缺點:剩下空閑區不太小,產生碎片幾率小,對中小型文件分配分區操作有利;存儲器中缺乏大空閑區,對大型文件分區分配不利。
10.在系統中引入對換后可帶來哪些好處?
答:交換技術將暫不需要的作業移到外存,讓出內存空間以調入其它作業,交換到外存的作 業也可以被再次調入。目的是解決內存緊張問題,帶來的好處是進一步提高了內存利用率和 系統吞吐量。
11.為實現對換,系統應具備哪幾方面的功能?
答:系統應具備三方面功能:對換空間管理,進程換出,進程換入。
12.在以進程為單位進行對換時,每次是否都將整個進程換出?為什么?
答:不是。系統首先選擇處于阻塞狀態且優先級最低的進程作為換出進程,然后啟動磁盤,將該進程的程序和數據傳送到磁盤的兌換區。若傳送過程未出錯,便可回收該進程占用的內 存空間,并對該進程的進程控制塊做相應修改,所以并不需要將整個進程換出。13.為實現分頁存儲管理,需要哪些硬件的支持?
答:動態重定位技術、虛擬存儲技術、多道程序設計技術。
14.較詳細的說明引入分段存儲管理是為了滿足用戶哪幾方面的需要。答:
1)方便編程。用戶通常把自己的作業按照邏輯關系劃分為若干段,每段都從0 編址,并 有自己名字和長度。因此,希望要訪問的邏輯地址是由段名和段內偏移量決定。
2)信息共享。在實現對程序和數據的共享時,是以信息邏輯單位為基礎。分頁系統中的頁 是存放信息的物理單位,無完整意義,不便于共享;段是信息的邏輯單位。為了實現段 的共享,希望存儲管理能與用戶程序分段的組織方式相適應。
3)信息保護。對信息的邏輯單位進行保護,分段能更有效方便地實現信息保護功能。
4)動態增長。在實際應用中,有些段特別是數據段,在使用過程中會不斷增長,事先又無
法確切知道增長多少。分段存儲管理方式能較好解決這個問題。
5)動態鏈接。運行時先將主程序對應的目標程序裝入內存并啟動運行,運行過程中又需要 調用某段時,才將該段調入內存鏈接。所以動態鏈接也要求以段作為管理單位。15.在具有快表的段頁式存儲管理方式中,如何實現地址變換?
答:在CPU給出有效地址后,由地址變換機構自動將頁號P送入高速緩沖寄存器,并將此 頁號與高速緩存中的所有頁號比較,若找到匹配頁號,表示要訪問的頁表項在快表中。可直 接從快表讀出該頁對應物理塊號,送到物理地址寄存器中。如快表中沒有對應頁表項,則再 訪問內存頁表,找到后,把從頁表項中讀出物理塊號送地址寄存器;同時修改快表,將此頁 表項存入快表。但若寄存器已滿,則OS必須找到合適的頁表項換出。16.為什么說為什么說分段系統比分頁系統更易于實現信息的共享和保護?
答:分頁系統的每個頁面是分散存儲的,為了實現信息共享和保護,頁面之間需要一一對應,為此需要建立大量的頁表項;而分段系統的每個段都從0 編址,并采用一段連續的地址空 間,在實現共享和保護時,只需為要共享和保護的程序設置一個段表項,將其中的基址與內 存地址一一對應就能夠實現。
17.分段和分頁存儲管理有何區別?
答:
(1)是信息的物理單位,分頁是為了實現離散分配方式,以消減內存的外部零頭,提高內 存利用率。段則是信息的邏輯單位,它含有一組相對完整的信息。
(2)頁的大小固定且由系統決定,由系統把邏輯地址劃分為頁號和頁內地址兩部分,是由 機械硬件實現的,因而在系統中只能有一種大小的的頁面;而段的長度卻不固定,決定于用戶 所編寫的程序,通常由編譯程序在對原程序進行編譯時,根據信息的性質來劃分。(3)分頁的作業地址空間是一維的,而分段作業地址空間則是二維的。18.試全面比較連續分配和離散分配方式.答:
(1)連續分配是指為一個用戶程序分配一個連續的地址空間,包括單一和分區兩種分配方 式。單一方式將內存分為系統區和用戶區,最簡單,只用于單用戶單任務操作系統;分區方 式分固定和動態分區。
(2)離散分配方式分為分頁、分段和段頁式存儲管理。分頁式存儲管理旨在提高內存利用 率,分段式存儲管理旨在滿足用戶(程序員)的需要,段頁式存儲管理則將兩者結合起來,具 有分段系統便于實現、可共享、易于保護和動態鏈接等優點,又能像分頁系統很好解決外部 碎片及為各段可離散分配內存等問題,是比較有效的存儲管理方式;
19.虛擬存儲器有哪些特征?其中最本質的特征是什么?
答:虛擬存儲器有多次性、對換性、虛擬性三大特征。最本質的特征是虛擬性。
20.實現虛擬存儲器需要哪些硬件支持?
答:(1)請求分頁(段)的頁(段)表機制(2)缺頁(段)中斷機構(3)地址變換機構 21.實現虛擬存儲器需要哪幾個關鍵技術?
答:
(1)在分頁請求系統中是在分頁的基礎上,增加了請求調頁功能和頁面置換功能所形成的 頁式虛擬存儲系統。允許只裝入少數頁面的程序(及數據),便啟動運行。
(2)在請求分段系統中是在分段系統的基礎上,增加了請求調段及分段置換功能后形成的 段式虛擬存儲系統。允許只裝入少數段(而非所有段)的用戶程序和數據,即可啟動運行。22.在請求分頁系統中,頁表應包括哪些數據項?每項的作用是什么?
答:頁表應包括:頁號、物理塊號、狀態位P、訪問字段A、修改位M和外存地址。
其中狀態位P 指示該頁是否調入內存,供程序訪問時參考;訪問字段A 用于記錄本頁在一 段時間內被訪問的次數,或最近已有多長時間未被訪問,提供給置換算法選擇換出頁面時參 考;修改位M 表示該頁在調入內存后是否被修改過;外存地址用于指出該頁在外存上的地 址,通常是物理塊號,供調入該頁時使用。
23.在請求分頁系統中,應從何處將所需頁面調入內存?
答:請求分頁系統中的缺頁從何處調入內存分三種情況:
(1)系統擁有足夠對換區空間時,可以全部從對換區調入所需頁面,提高調頁速度。在進程運行前將與該進程有關的文件從文件區拷貝到對換區。
(2)系統缺少足夠對換區空間時,不被修改的文件直接從文件區調入;當換出這些頁面時,未被修改的不必換出,再調入時,仍從文件區直接調入。對于可能修改的,在換出時便調到對換區,以后需要時再從對換區調入。
(3)UNIX 方式。未運行頁面從文件區調入。曾經運行過但被換出頁面,下次從對換區調入。UNIX 系統允許頁面共享,某進程請求的頁面有可能已調入內存,直接使用不再調入。24.在請求分頁系統中,常采用哪幾種頁面置換算法?
答:采用的頁面置換算法有:最佳置換算法和先進先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩沖算法等。
25.在請求分頁系統中,通常采用哪種頁面分配方式?為什么?
答:固定分配方式是基于進程的類型(交互型)或根據程序員、系統管理員的建議,為每個進程分配固定頁數的內存空間,整個運行期間不再改變;采用可變分配方式有全局置換和局部置換兩種,前者易于實現,后者效率高。26.在一個請求分頁系統中,采用LRU 頁面置換算法時,假如一個作業的頁面走向為 4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5,當分配給該作業的物理塊數M分別為3和4時,試計算訪問過程中所發生的缺頁次數和缺頁率 ? 比較所得結果 ? 答:當分配給該作業的物理塊數M為3時,缺頁7次,缺頁率: 7/12=0.583; 當分配給該作業的物理塊數M為4時,缺頁4次,缺頁率: 4/12=0.333.27.實現LRU算法所需的硬件支持是什么? 答:需要寄存器和棧等硬件支持。寄存器用于記錄某進程在內存中各頁的使用情況,棧用于 保存當前使用的各個頁面的頁面號。
28.試說明改進型 Clock 置換算法的基本原理.答:因為修改過的頁面在換出時付出的開銷比未被修改過的頁面大,在改進型Clock 算法 中,既考慮頁面的使用情況,還要增加置換代價的因素;在選擇頁面作為淘汰頁面時,把同 時滿足未使用過和未被修改作為首選淘汰頁面。29.說明請求分段系統中的缺頁中斷處理過程。答:請求分段系統中的缺頁中斷處理過程描述如下:
(1)根據當前執行指令中的邏輯地址查頁表,判斷該頁是否在主存儲器中
(2)該頁標志為“0”形成缺頁中斷,中斷裝置通過交換PSW讓操作系統的中斷處理程序占用處理器。
(3)操作系統處理缺頁中斷處理的辦法是查主存分配表找一個空閑的主存塊,查頁表找出該頁在磁盤上位置,啟動磁盤讀出該頁信息。(4)把從磁盤上讀出的信息裝入找到的主存塊中。
(5)當頁面住處被裝入主存后,應修改頁表中對應的表目,填上該頁所占用的主存塊把標志置為“1”,表示該頁已在主存儲器中
(6)由于產生缺頁中斷時的那條指令并沒執行完,所以在把頁面裝入之后應重新執行被中 22 斷指令。
請求分段系統中的缺頁中斷處理過程如下圖所示:
30.如何實現分段共享 ? 答:在每個進程的段表中,用相應的表項指向共享段在內存中起始地址;配置相應的數據結構作為共享段表,在段表項中設置共享進程計數Count,每調用一次該共享段,Count值增 1,每當進程釋放一個共享段時,Count 減1,若減為0,則系統回收該共享段的物理內存,取消在共享段表中該段對應的表項;共享段應給不同的進程以不同的存取權限;不同的進程可以使用不同的段號去共享該段。
第五章
1.試說明設備控制器的組成。
答:由設備控制器與處理機的接口,設備控制器與設備的接口與I/O邏輯組成。
2.為了實現CPU與設備控制器間的通信,設備控制器應具備哪些功能?
答:接收和識別命令;數據交換;標識和報告設備狀態;地址識別;數據緩沖;差錯控制。3.什么是字節多路通道?什么是數組選擇通道和數組多路通道?
答:(1)字節多路通道。按字節交叉方式工作的通道。通常含有許多非分配型子通道,數 量從幾十到數百個,每個子通道連接一臺I/O 設備,控制其I/O 操作。子通道按時間片輪 轉方式共享主通道。
(2)數組選擇通道。按數組方式傳送數據,傳輸速率很高,每次只允許一個設備數據。
(3)數組多路通道。將數組選擇通道傳輸速率高和字節多路通道的各子通道分時并行操作的優點結合而成。含有多個非分配型子通道,具有很高的數據傳輸率和通道利用率。4.如何解決因通道不足而產生的瓶頸問題? 答:解決問題的有效方法是增加設備到主機間的通路而不增加通道,把一個設備連到多個控 23 制器上,控制器又連到多個通道上,這種多通路方式解決了“瓶頸”問題,提高了系統可靠性,個別通道或控制器的故障不會使設備和存儲器之間沒有通路。5.試對VESA 及PCI兩種總線進行比較。
答:VESA總線的設計思想是以低價占領市場。總線帶寬32位,最高傳輸速率132Mb/s。廣泛用于486微機。缺點是能連接的設備數僅為2~4 臺,控制器中無緩沖,難于適應處理 器速度的提高,不支持Pentium機。
PCI總線在CPU和外設間插入了復雜的管理層,協調數據傳輸和提供一致接口。管理 層中配有數據緩沖,放大了線路的驅動能力,最多支持10種外設,支持高時鐘頻率的CPU 運行,最大傳輸速率132Mb/s。可連接ISA、EISA 等傳統總線,又支持Pentium的64 位系統,是基于奔騰等新一代微處理器而發展的總線。6.試說明推動I/O控制發展的主要因素是什么?
答:推動I/O 控制發展的主要動力在于盡量減少主機對I/O 控制的干預,把主機從繁雜的I/O控制事務中解脫出來,用更多的時間和精力去完成其數據處理任務。同時,中斷機制在計算機系統中的引入、DMA 控制器的出現和通道研制的成功使I/O 控制的發展具備了技術支持和成為可能。
7.有哪幾種I/O控制方式?各適用于何種場合?
答:共有四種I/O 控制方式。
(1)程序I/O 方式:早期計算機無中斷機構,處理機對I/O設備的控制采用程序I/O方式或稱忙等的方式。
(2)中斷驅動I/O 控制方式:適用于有中斷機構的計算機系統中。
(3)直接存儲器訪問(DMA)I/O 控制方式:適用于具有DMA控制器的計算機系統中。(4)I/O 通道控制方式:具有通道程序的計算機系統中。8.試說明DMA 的工作流程。
答:以從磁盤讀入數據為例,說明DMA的工作流程。當CPU要從磁盤讀入數據塊時,先向磁盤控制器發送一條讀命令。該命令被送到命令寄存器CR中。同時還發送本次要讀入數據的內存起始目標地址,送入內存地址寄存器MAR;本次要讀數據的字節數送入數據計數器DC,將磁盤中的源地址直接送DMA控制器的I/O 控制邏輯上。然后啟動DMA 控制器傳送數據,以后CPU 便處理其它任務。整個數據傳送過程由DMA控制器控制。下圖為DMA方式的工作流程圖。
9.引入緩沖的主要原因是什么? 答:引入緩沖的主要原因是:
(1)緩和CPU與I/O 設備間速度不匹配的矛盾
(2)減少對CPU的中斷頻率,放寬對中斷響應時間的限制
(3)提高CPU與I/O 設備之間的并行性
10.在單緩沖情況下,為什么系統對一塊數據的處理時間為max(C,T)+M ? 答:在塊設備輸入時,先從磁盤把一塊數據輸入到緩沖區,耗時為T;然后由操作系統將緩沖區數據送給用戶區,耗時M;接下來由CPU 對塊數據進行計算,耗時C。在單緩沖情況下,磁盤把數據輸入到緩沖區的操作和CPU 對數據的計算過程可以并行展開,所以系統對每一整塊數據的處理時間為max(C, T)+ M。
11.為什么在雙緩沖情況下,系統對一塊數據的處理時間為max(T,C)? 答:寫入者花費時間T 將數據寫滿一個緩沖區后再寫另一個緩沖區;讀出者花費時間M 將一個緩沖區數據送到用戶區后再傳送另一個緩沖區數據,計算者讀出用戶區數據進行處理。由于將數據從緩沖區傳到用戶區操作必須與讀用戶區數據處理串行進行,而且可以與從外存傳送數據填滿緩沖區的操作并行。因此耗時大約為max(C+M,T)。考慮M 是內存數據塊的移動耗時非常短暫可以省略,因此近似地認為系統對一塊數據處理時間為max(C,T)。
12.試繪圖說明把多緩沖用于輸出時的情況。答:多緩沖用于輸出的示意圖如下:
13.試說明收容輸入工作緩沖區和提取輸出工作緩沖區的工作情況。答:
① 收容輸入工作緩沖區的工作情況為:在輸入進程需要輸入數據時,調用GetBuf(EmptyQueue)過程,從EmptyQueue隊列的隊首摘下一個空緩沖區,作為收容輸入工作緩沖區Hin。然后把數據輸入其中,裝滿后再調用PutBuf(InputQueue, Hin)過程,將該緩沖區掛在輸入隊列InputQueue的隊尾。
② 提取輸出工作緩沖區的工作情況為:當要輸出數據時,調用GetBuf(OutputQueue)過程,從輸出隊列的隊首取得一裝滿輸出數據的緩沖區作為提取輸出工作緩沖區Sout。在數據提取完后,再調用PutBuf(EmptyQueue, Sout)過程,將該緩沖區掛到空緩沖隊列EmptyQueue的隊尾。
14.何謂安全分配方式和不安全分配方式? 答:
① 安全分配方式是指每當進程發出I/O 請求后,便進入阻塞狀態,直到其I/O 操作完成時才被喚醒。在采用這種分配策略時,一旦進程已獲得某種設備資源后便阻塞,使它不可能再請求任何資源,而在它運行時又不保持任何資源。這種分配方式已經摒棄了造成死鎖的“請求和保持”條件,分配是安全的。缺點是進程進展緩慢,CPU與I/O 設備串行工作。
②不安全分配方式是指進程發出I/O 請求后仍繼續執行,需要時又可發出第二個I/O 請求、第三個I/O 請求。僅當進程請求的設備已被另一個進程占有時,進程才進入阻塞狀態。優點是一個進程可同時操作多個設備,進程推進迅速。缺點是分配不安全,可能具有“請求和保持”條件,可能造成死鎖。因此,在設備分配程序中需增加一個功能,用于對本次的設備分配是否會發生死鎖進行安全性計算,僅當計算結果表明分配安全的情況下才進行分配。15.為何要引入設備獨立性?如何實現設備獨立性?
答:現代操作系統為了提高系統的可適應性和可擴展性,都實現了設備獨立性或設備無關性。基本含義是應用程序獨立于具體使用的物理設備,應用程序以邏輯設備名請求使用某類設備。實現了設備獨立性功能可帶來兩方面的好處:(1)設備分配時的靈活性;(2)易于實現I/O 重定向。
為了實現設備的獨立性,應引入邏輯設備和物理設備概念。在應用程序中,使用邏輯設備名請求使用某類設備;系統執行時是使用物理設備名。鑒于驅動程序是與硬件或設備緊密相關的軟件,必須在驅動程序之上設置一層設備獨立性軟件,執行所有設備的公有操作、完成邏輯設備名到物理設備名的轉換(為此應設置一張邏輯設備表)并向用戶層(或文件層)軟件提供統一接口,從而實現設備的獨立性。
16.在考慮到設備的獨立性時,應如何分配獨占設備?
答:在考慮到設備的獨立性時,應按如下步驟來分配獨占設備:
(1)進程以邏輯設備名提出I/O請求。
(2)根據邏輯設備表獲得I/O請求的邏輯設備對應物理設備在系統設備表中的指針。
(3)檢索系統設備表,找到屬于請求類型、空閑可用且分配安全設備的設備控制表,將對應 設備分配給請求進程;未找到則等待等待喚醒和分配。
(4)到設備控制表中找出與其相連接的控制器的控制器控制表,根據狀態字段判斷是否忙 碌,忙則等待;否則將該控制器分配給進程。
(5)到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,判斷通道是否忙 碌,忙則等待;否則將該通道分配給進程。
(6)只有在設備、控制器和通道三者都分配成功時,這次的設備分配才算成功,然后便可啟 動設備進行數據傳送。
17.何謂設備虛擬?實現設備虛擬時所依賴的關鍵技術是什么?
答:設備虛擬是指把獨占設備經過某種技術處理改造成虛擬設備。可虛擬設備是指一臺物理設備在采用虛擬技術后,可變成多臺邏輯上的虛擬設備,則可虛擬設備是可共享的設備,將它同時分配給多個進程使用,并對這些訪問該物理設備的先后次序進行控制。
18.試說明SPOOLing 系統的組成。
答:SPOOLing 系統由輸入井和輸出井、輸入緩沖區和輸出緩沖區、輸入進程 SPi 和輸出進程 SPo 三部分組成。
19.在實現后臺打印時,SPOOLing 系統應為請求I/O 的進程提供哪些服務? 答:在實現后臺打印時,SPOOLing 系統應為請求 I/O的進程提供以下服務:
(1)由輸出進程在輸出井中申請一空閑盤塊區,并將要打印的數據送入其中;
(2)輸出進程為用戶進程申請空白用戶打印表,填入打印要求,將該表掛到請求打印隊列。(3)一旦打印機空閑,輸出進程便從請求打印隊列的隊首取出一張請求打印表,根據表中要求將要打印的數據從輸出井傳送到內存緩沖區,再由打印機進行打印。20.試說明設備驅動程序具有哪些特點。答:設備驅動程序具有如下特點:
(1)是請求 I/O 進程與設備控制器間的一個通信程序;(2)驅動程序與 I/O 設備的特性緊密相關;(3)驅動程序與 I/O 控制方式緊密相關;
(4)驅動程序與硬件緊密相關,部分程序用匯編語言書寫,基本部分往往固化在ROM中。
21.試說明設備驅動程序應具有哪些功能? 答:設備驅動程序的主要功能包括:
(1)將接收到的抽象要求轉為具體要求;
(2)檢查用戶I/O請求合法性,了解I/O 設備狀態,傳遞有關參數,設置設備工作方式;(3)發出I/O 命令,啟動分配到的I/O設備,完成指定I/O 操作;(4)及時響應由控制器或通道發來的中斷請求,根據中斷類型調用相應中斷處理程序處理;(5)對于有通道的計算機,驅動程序還應該根據用戶 I/O 請求自動構成通道程序。22.設備中斷處理程序通常需完成哪些工作? 答:設備中斷處理程序通常需完成如下工作:(1)喚醒被阻塞的驅動程序進程;(2)保護被中斷進程的CPU環境;
27(3)分析中斷原因、轉入相應的設備中斷處理程序;
(4)進行中斷處理;(5)恢復被中斷進程。
23.磁盤訪問時間由哪幾部分組成?每部分時間應如何計算?
答:磁盤訪問時間由尋道時間Ts、旋轉延遲時間Tr、傳輸時間Tt 三部分組成。
(1)Ts 是啟動磁臂時間s 與磁頭移動n條磁道的時間和,即Ts = m × n + s。
(2)Tr是指定扇區移動到磁頭下面所經歷的時間。硬盤15000r/min時Tr為2ms;軟盤300或600r/min時Tr為50~100ms。
(3)Tt 是指數據從磁盤讀出或向磁盤寫入經歷的時間。Tt 的大小與每次讀/寫的字節數b和旋轉速度有關:Tt = b/rN。
24.目前常用的磁盤調度算法有哪幾種?每種算法優先考慮的問題是什么? 答:目前常用的磁盤調度算法有先來先服務、最短尋道時間優先及掃描等算法。
(1)先來先服務算法優先考慮進程請求訪問磁盤的先后次序;
(2)最短尋道時間優先算法優先考慮要求訪問的磁道與當前磁頭所在磁道距離是否最近;(3)掃描算法考慮欲訪問的磁道與當前磁道間的距離,更優先考慮磁頭當前的移動方向。25.為什么要引入磁盤高速緩沖?何謂磁盤高速緩沖?
答:目前磁盤的I/O速度遠低于內存的訪問速度,通常低上4-6個數量級。因此,磁盤I/O已成為計算機系統的瓶頸。為提高磁盤I/O的速度,便引入了磁盤高速緩沖。
磁盤高速緩沖是指利用內存中的存儲空間,暫存從磁盤中讀出的一系列盤塊中的信息。26.在設計磁盤高速緩沖時,如何實現數據交付? 答:數據交付是指將磁盤高速緩存中的數據傳給請求進程。當進程請求訪問某個盤塊中的數據時,由核心先查看磁盤高速緩沖,看其中是否存在所需盤塊數據的拷貝。若有便直接從中提取數據交付給請求進程,避免了訪盤操作,本次訪問速度提高4-6 個數量級;否則先從磁盤中將要訪問的數據讀入并交付給請求者進程,同時送高速緩存以便下次直接讀取。
27.何謂提前讀、延遲寫和虛擬盤?
答:提前讀是指在讀當前盤塊的同時,將下一個可能要訪問的盤塊數據讀入緩沖區,以便需 要時直接從緩沖區中讀取,無需啟動磁盤。
延遲寫是指在寫盤塊時,將對應緩沖區中的立即寫數據暫時不立即寫以備不久之后再被訪問,只將它置上“延遲寫”標志并掛到空閑緩沖隊列的末尾。當移到空閑緩沖隊首并被分配出去時,才寫緩沖區中的數據。只要延遲寫塊仍在空閑緩沖隊列中,任何要求訪問都可直接從其中讀出數據或將數據寫入其中,而不必去訪問磁盤。
虛擬盤又稱RAM盤,是利用內存空間仿真磁盤。其設備驅動程序可以接受所有標準的磁盤操作,但這些操作不是在磁盤上而是在內存中,因此速度更快。
28.廉價磁盤冗余陣列是如何提高對磁盤的訪問速度和可靠性的?
答:廉價磁盤冗余陣列RAID是利用一臺磁盤陣列控制器,統一管理和控制一組(幾臺到幾 十臺)磁盤驅動器,組成高度可靠快速大容量的磁盤系統。
操作系統將RAID中的一組物理磁盤驅動器看作一個單個的邏輯磁盤驅動器。用戶數據和系統數據可分布在陣列的所有磁盤中,并采取并行傳輸方式,大大減少數據傳輸時間和提高了可靠性。
第六章
1.何謂數據項、記錄和文件?
答:①數據項分為基本數據項和組合數據項。基本數據項描述一個對象某種屬性的字符集,28 具有數據名、數據類型及數據值三個特性。組合數據項由若干數據項構成。②記錄是一組相關數據項的集合,用于描述一個對象某方面的屬性。③文件是具有文件名的一組相關信息的集合。
2.文件系統的模型可分為三層,試說明其每一層所包含的基本內容。答:第一層:對象及其屬性說明(文件、目錄、硬盤或磁帶存儲空間);
第二層:對對象操縱和管理的軟件集合(I/O控制層即設備驅動程序、基本文件系統即物理I/O層、基本I/O管理程序或文件組織模塊層、邏輯文件系統層)第三層:文件系統接口(命令接口/圖形化用戶接口與程序接口)。3.試說明用戶可以對文件施加的主要操作有哪些? 答:用戶通過文件系統提供的系統調用對文件實施操作。
(1)基本文件操作:創建、刪除、讀、寫、截斷、設置讀/寫位置等;
(2)文件打開和關閉操作:第一步通過檢索文件目錄找到指定文件屬性及其在外存上位置;第二步對文件實施讀寫等相應操作。
(3)其他文件操作:一是文件屬性操作;二是目錄操作;三是文件共享與文件系統操作的系統調用實現等。
4.何謂邏輯文件?何謂物理文件?
答:邏輯文件是物理文件中存儲的數據的一種視圖方式,不包含具體數據,僅包含物理文件中數據的索引。物理文件又稱文件存儲結構,是指文件在外存上的存儲組織形式。5.如何提高對變長記錄順序文件的檢索速度?
答:基本方法是為變長記錄順序文件建立一張索引表,以主文件中每條記錄的長度及指向對應記錄的指針(即該記錄在邏輯地址空間的首址)作為相應表項的內容。由于索引表本身是一個定長記錄的順序文件,若將其按記錄鍵排序,則實現了對主文件方便快捷的直接存取。如果文件較大,應通過建立分組多級索引以進一步提高檢索效率。
6.試說明對索引文件和索引順序文件的檢索方法。
答: ① 索引文件的檢索,首先根據用戶(程序)提供的關鍵字,利用折半查找法檢索索引表,找到相應表項;再利用給出的指向記錄指針值,訪問對應記錄。
② 索引順序文件的檢索,首先利用用戶(程序)提供的關鍵字及查找方法,檢索索引表,找到該記錄在記錄組中的第一條記錄表項,得到第一個記錄在主文件中的位置;再利用順序查找法查找主文件,找到所要求的記錄。
7.試從檢索速度和存儲費用兩方面對索引文件和索引順序文件進行比較。
答:索引文件的主文件每條記錄配置一個索引項,存儲開銷N,檢索到具有指定關鍵字的記錄,平均查找N/2 條記錄。對于索引順序文件,每個記錄分組配置一個索引項,存儲開銷為N,檢索到具有指定關鍵字的記錄,平均需要查找N /2次。
8.試說明順序文件的結構及其優點。
答:第一種是串結構:各記錄之間的順序與關鍵字無關。第二種是順序結構:指文件中的所有記錄按關鍵字(詞)排列。可以按關鍵詞長短排序或英文字母順序排序。順序文件的最佳應用場合是對諸記錄進行批量存取時,存取效率最高;只有順序文件才能存儲在磁帶上并有效工作。
9.在鏈接式文件中常用哪種鏈接方式?為什么?
答:鏈接方式分為隱式鏈接和顯式鏈接兩種形式。隱式鏈接是在文件目錄的每個目錄項中,都含有指向鏈接文件第一個盤塊和最后一個盤塊的指針。顯式鏈接則把用于鏈接文件各物理塊的指針,顯式地存放在內存的一張鏈接表中。
10.在MS-DOS中有兩個文件A 和B,A占用11、12、16和14 四個盤塊;B 占用13、18和20三個盤塊。試畫出在文件A和B中各盤塊間的鏈接情況及FAT的情況。答:如下圖所示。
11.NTFS文件系統對文件采用什么樣的物理結構?
答:在NTFS 文件系統中,以簇作為磁盤空間分配和回收的基本單位。一個文件占若干個簇,一個簇只屬于一個文件。
12.假定一個文件系統的組織方式與MS-DOS相似,在FAT中可有64K個指針,磁盤的盤塊大小為512B,試問該文件系統能否指引一個512MB 的磁盤?
解:512MB/512B=1M 個盤塊,而每個盤塊都應有一個指針來指示,所以應該有1M 個指針,因此若有64K 指針不能指引一個512MB的磁盤。
13.為了快速訪問,又易于更新,當數據為以下形式時,應選用何種文件組織方式。⑴ 不經常更新,經常隨機訪問;⑵經常更新,經常按一定順序訪問;⑶經常更新,經常隨機訪問;
答:以上三種宜分別采用(1)順序結構(2)索引順序結構(3)索引結構的組織方式。14.在UNIX 中,如果一個盤塊的大小為1KB,每個盤塊號占4個字節,即每塊可放256個地址。請轉換下列文件的字節偏移量為物理地址。⑴9999; ⑵18000; ⑶420000 答:首先將邏輯文件的字節偏移量轉換為邏輯塊號和塊內偏移量,就是將[字節偏移量]/[盤塊大小],商為邏輯塊號,余數是塊內偏移量。在FCB中,第0-9個地址為直接地址,第10個為一次間接地址,第11個地址為二次間接地址,第12個地址為三次間接地址。
再將文件的邏輯塊號轉換為物理塊號。使用多重索引結構,在索引節點中根據邏輯塊號 通過直接索引或間接索引找到對應的物理塊號。
(1)9999/1024=9 余783,則邏輯塊號為9,直接索引第9個地址得到物理塊號,塊內偏移地址為783。
(2)18000/1024=17余592,則邏輯塊號為10<17<10+256,通過一次間接索引在第10個地址可得到物理塊號,塊內偏移地址為592。
(3)420000/1024=410 余160,則邏輯塊號為10+256<410,通過二次間接索引在第11個地址可得到一次間址,再由此得到二次間址,再找到物理塊號,其塊內偏移地址160。15.什么是索引文件?為什么要引入多級索引?
答:索引文件是指當記錄為可變長度時,通常為之建立一張索引表,并為每個記錄設置一個表項構成的文件。通常將索引非順序文件簡稱為索引文件。索引是為了是用戶的訪問速度更 30 快,多級索引結構可以有效的管理索引文件,可根據用戶的訪問情況多級處理。
16.試說明UNIX 系統中所采用的混合索引分配方式。答:混合索引分配方式是指將多種索引分配方式結合而成的分配方式。常見的是采用直接地址和一級索引聯合的分配方式,或兩級索引分配方式,甚至三級索引分配方式。在UNIXSystem Ⅴ和BSD UNIX 的索引結點中,都設置了13 個地址項,即iaddr(0)~iaddr(12),把所有地址項分成直接地址和間接地址。
17.對目錄管理的主要要求是什么?
答:實現按名存取、提高檢索目錄的速度、文件共享、允許文件重名。18.采用單級目錄能否滿足對目錄管理的主要要求?為什么?
答:不能。單級目錄在整個文件系統中只建立一張目錄表,每個文件占一個目錄項,其中含文件名、文件擴展名、文件長度、文件類型、文件物理地址、狀態位等其它文件屬性。單級只能實現目錄管理的基本功能,不能滿足查找速度、允許重名和文件共享的要求。19.目前廣泛應用的目錄結構有哪些?它有什么優點?
答:現代操作系統都采用多級目錄結構。基本特點是查詢速度快、層次結構清晰、文件管理和保護易于實現。
20.Hash 檢索法有何優點?又有何局限性?
答:Hash檢索法是系統把用戶提供的文件名變換為文件目錄的索引值,再利用該值查找目錄,有效提高目錄的檢索速度,但Hash 檢索法局限于非通配符文件名。21.在Hash檢索法中,如何解決“沖突”問題?
答:在Hash法查找目錄時,如果目錄表中相應目錄項為空,表示系統中無指定文件。如果文件名與指定文件名匹配,表示找到了目標文件,也就找到了文件的物理地址。如果目錄表中找到的相應文件名不匹配,則發生了沖突,需要Hash轉換形成新的索引值,返回第一步重新查找。
22.試說明在樹型目錄結構中線性檢索法的檢索過程,并給出相應的流程圖。
答:在樹型結構的目錄中,當有兩個或多個用戶共享一個子目錄或文件時,將共享文件或字母路連接到兩個或多個用戶目錄中,方便找到該文件。此時目錄結構不再是樹形結構,而是個有向非循環圖DGA。
23.有一計算機系統利用圖6-33 所示的位示圖來管理空閑盤塊。盤塊的大小為1KB,現 要為某文件分配量個盤塊,試說明盤塊的具體分配過程。
答:分配量個盤塊的過程如下:
⑴ 順序掃描位示圖,從中找到第一個值為0的二進制位,得到行號i=3,列號j=3。⑵ 將找到的二進制位轉換成對應盤塊號。盤塊號為:b=(3-1)*16+3=35; ⑶ 修改位示圖,令map[3,3]=1,并將該盤塊分配出去。
類似地,可使用相同的方法找到第二個值為0的二進制位,得到行號i=4,列號j=7,其對應的盤塊號為55,令map[i,j]=1,并將該盤塊分配出去。24.某操作系統磁盤文件空間共500塊,若用字長為32位的位示圖管理磁盤空間,試問:(1)位示圖需要多少字?
(2)第i字第j位對應的塊號是多少?
(3)給出申請/歸還一塊的工作流程。
答:(1)位示圖需要的字數計算:INT(500/32)=16 個字。
(2)塊號b=(i-1)*32+j(3)申請的過程:順序掃描位示圖、找到空閑塊并分配、修改位示圖map[i,j]=1。歸還的過程:找到回收盤塊在位示圖中的行和列,修改位示圖map[i,j]=0。
25.對空閑磁盤空間的管理常采用哪幾種分配方式?在UNIX系統中采用何種分配方式? 答:空閑表法、空閑鏈表法、位示圖法、成組鏈接法。UNIX系統采用的是成組鏈接法 26.基于索引節點的文件共享方式有何優點?
答:優點是建立新的共享鏈接時,不改變文件擁有者關系,僅把索引結點共享計數器加1,系統可獲悉了由多少個目錄項指向該文件。缺點是擁有者不能刪除自己的文件否則會出錯。27.基于符號鏈的文件共享方式有何優點?
答:能夠通過網絡鏈接世界上 任何地方的計算機中的文件。
28.在一級系統容錯技術中,包括哪些容錯措施?什么是寫后讀校驗?
答:一級系統容錯技術包括雙份目錄、雙份文件分配表及寫后讀校驗等容錯措施。寫后讀校驗是每次從內存緩沖區向磁盤寫入一個數據塊后,又立即從磁盤上讀出該數據塊,并送至另一緩沖區中,再將該緩沖區內容與內存緩沖區中在寫后仍保留的數據進行比較。若兩者一致,才認為寫入成功,繼續寫下一個盤塊。否則重寫。若重寫后仍不一致,則認為盤塊缺陷,便將應寫入該盤塊的數據,寫入到熱修復重定向區中。29.在第二級系統容錯技術中,包括哪些容錯措施?畫圖說明之。
答:第二級容錯技術包括磁盤鏡像和磁盤雙工兩種容錯措施。圖示如下:
30.何謂事務?如何保證事務的原子性?
答:事務是用于訪問和修改各種數據項的一個程序單位。
要保證事務的原子性必須要求一個事務在對一批數據執行修改操作時,要么全部完成,32 用修改后的數據代替原來數據,要么一個也不改,保持原來數據的一致性。
31.引入檢查點的目的是什么?引入檢查點后又如何進行恢復處理? 答:引入檢查點的目的是使對事務記錄表中事務記錄的清理工作經常化。
恢復處理由恢復例程來實現。首先查找事務記錄表,確定在最近檢查點以前開始執行的 最后的事務Ti。找到Ti后再返回搜索事務記錄表,找到第一個檢查點記錄,從該檢查點開 始,返回搜索各個事務記錄,利用redo和undo 過程對他們進行相應的處理。32.為何引入共享鎖?如何用互斥鎖或共享鎖來實現事務的順序性?
答:引入共享鎖是為了提高運行效率。在給對象設置了互斥鎖和共享鎖的情況下,如果事務Ti要對Q執行讀操作,只需獲得Q的共享鎖。如果對象Q已被互斥鎖鎖住,則Ti必須等待;否則便獲得共享鎖對Q執行讀操作。如果Ti 要對Q 執行寫操作,則Ti還要獲得Q的互斥鎖。若失敗則等待;成功則獲得互斥鎖并對Q執行寫操作。33.當系統中有重復文件時,如何保證他們的一致性?
答:可以采用兩種方法:一是對所有的重復文件進行同樣的修改,二是用新修改的文件替換所有的重復文件。
34.如何檢索盤塊號的一致性?檢查時可能出現哪幾種情況?
答:為了保證盤塊號的一致性,先將計數器表中的所有表項初始化為0,用N 個空閑盤塊 號計數器組成的第一組計數器對從空閑盤塊表中讀出的盤塊號計數,用N 個數據盤塊號計 數器組成的第二組計數器對從文件分配表中讀出的已分配給文件使用的盤快號計數。如果兩組計數中的對應數據互補則數據一致,反之則發生錯誤。
檢查時可能出現的情況:
(1)兩組計數器中盤塊K 的計數值均為0,應在空閑盤塊表中增加盤塊號K;(2)空閑盤塊號計數器中盤塊K 的計數值為2,應刪除一個空閑盤塊號K;
(3)空閑盤塊號計數器中盤塊號K 的計數值為0,而數據盤塊號計數器中盤塊號K 的 計數值大于1,則錯誤嚴重,存在數據丟失等事件,必須立即報告系統加以處理。
第二篇:操作系統課后題答案
課本課后題部分答案 第一章
1.設計現代OS的主要目標是什么?
答:(1)有效性(2)方便性(3)可擴充性(4)開放性 2.OS的作用可表現在哪幾個方面?
答:(1)OS作為用戶與計算機硬件系統之間的接口(2)OS作為計算機系統資源的管理者(3)OS實現了對計算機資源的抽象
13.OS有哪幾大特征?其最基本的特征是什么?
答:并發性、共享性、虛擬性和異步性四個基本特征;最基本的特征是并發性。14.處理機管理有哪些主要功能?它們的主要任務是什么?
答:處理機管理的主要功能是:進程管理、進程同步、進程通信和處理機調度; 進程管理:為作業創建進程,撤銷已結束進程,控制進程在運行過程中的狀態轉換。進程同步:為多個進程(含線程)的運行______________進行協調。通信:用來實現在相互合作的進程之間的信息交換。處理機調度:
(1)作業調度。從后備隊里按照一定的算法,選出若干個作業,為他們分配運行所需 的資源(首選是分配內存)。
(2)進程調度:從進程的就緒隊列中,按照一定算法選出一個進程,把處理機分配給 它,并設置運行現場,使進程投入執行。
15.內存管理有哪些主要功能?他們的主要任務是什么?
北京石油化工學院信息工程學院計算機系3/48 《計算機操作系統》習題參考答案余有明與計07和計G09的同學們編著 3/48 答:內存管理的主要功能有:內存分配、內存保護、地址映射和內存擴充。內存分配:為每道程序分配內存。
內存保護:確保每道用戶程序都只在自己的內存空間運行,彼此互不干擾。地址映射:將地址空間的邏輯地址轉換為內存空間與對應的物理地址。內存擴充:用于實現請求調用功能,置換功能等。16.設備管理有哪些主要功能?其主要任務是什么?
答:主要功能有: 緩沖管理、設備分配和設備處理以及虛擬設備等。
主要任務: 完成用戶提出的I/O 請求,為用戶分配I/O 設備;提高CPU 和I/O 設 備的利用率;提高I/O速度;以及方便用戶使用I/O設備.17.文件管理有哪些主要功能?其主要任務是什么?
答:文件管理主要功能:文件存儲空間的管理、目錄管理、文件的讀/寫管理和保護。文件管理的主要任務:管理用戶文件和系統文件,方便用戶使用,保證文件安全性。
第二章
1.什么是前趨圖?為什么要引入前趨圖?
答:前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(Directed Acyclic Graph),用于描述進程之間執行的前后關系。
2.畫出下面四條語句的前趨圖: S1=a:=x+y;S2=b:=z+1;S3=c:=a – b; S4=w:=c+1;答:其前趨圖為:
5.在操作系統中為什么要引入進程概念?它會產生什么樣的影響? 答:為了使程序在多道程序環境下能并發執行,并對并發執行的程序加以控制和描述,在操 作系統中引入了進程概念。
影響: 使程序的并發執行得以實行。
7.試說明PCB 的作用,為什么說PCB 是進程存在的惟一標志?
答:PCB 是進程實體的一部分,是操作系統中最重要的記錄型數據結構。作用是使一個在 多道程序環境下不能獨立運行的程序,成為一個能獨立運行的基本單位,成為能與其它進程 并發執行的進程。OS是根據PCB對并發執行的進程進行控制和管理的。8.試說明進程在三個基本狀態之間轉換的典型原因。答:(1)就緒狀態→執行狀態:進程分配到CPU資源(2)執行狀態→就緒狀態:時間片用完(3)執行狀態→阻塞狀態:I/O請求(4)阻塞狀態→就緒狀態:I/O完成
22.試寫出相應的程序來描述圖2-17所示的前驅圖。
答:(a)Var a, b, c, d, e, f, g, h;semaphore:= 0, 0, 0, 0, 0, 0, 0, 0;begin parbegin begin S1;signal(a);signal(b);end;begin wait(a);S2;signal(c);signal(d);end;begin wait(b);S3;signal(e);end;begin wait(c);S4;signal(f);end;begin wait(d);S5;signal(g);end;begin wait(e);S6;signal(h);end;begin wait(f);wait(g);wait(h);S7;end;2 parend end(b)Var a, b, c, d, e, f, g, h,i,j;semaphore:= 0, 0, 0, 0, 0, 0, 0,0,0, 0;begin parbegin begin S1;signal(a);signal(b);end;begin wait(a);S2;signal(c);signal(d);end;begin wait(b);S3;signal(e);signal(f);end;begin wait(c);S4;signal(g);end;begin wait(d);S5;signal(h);end;begin wait(e);S6;signal(i);end;begin wait(f);S7;signal(j);end;begin wait(g);wait(h);wait(i);wait(j);S8;end;parend end 第三章
第三章 處理機調度與死鎖
2.何謂作業、作業步和作業流?
答:作業包含通常的程序和數據,還配有作業說明書。系統根據該說明書對程序的運行進行控制。批處理系統中是以作業為基本單位從外存調入內存。
作業步是指每個作業運行期間都必須經過若干個相對獨立相互關聯的順序加工的步驟。作業流是指若干個作業進入系統后依次存放在外存上形成的輸入作業流;在操作系統的控制下,逐個作業進程處理,于是形成了處理作業流。5.試說明低級調度的主要功能。
答:(1)保存處理機的現場信息(2)按某種算法選取進程(3)把處理機分配給進程。8.在批處理系統、分時系統和實時系統中,各采用哪幾種進程(作業)調度算法? 答:批處理系統的調度算法:短作業優先、優先權、高響應比優先、多級反饋隊列調度算法。分時系統的調度算法:時間片輪轉法。
實時系統的調度算法:最早截止時間優先即EDF、最低松弛度優先即LLF算法。9.何謂靜態和動態優先級?確定靜態優先級的依據是什么?
答:靜態優先級是指在創建進程時確定且在進程的整個運行期間保持不變的優先級。
動態優先級是指在創建進程時賦予的優先權,可以隨進程推進或隨其等待時間增加而改變的優先級,可以獲得更好的調度性能。
確定進程優先級的依據:進程類型、進程對資源的需求和用戶要求。11.在時間片輪轉法中,應如何確定時間片的大小?
答:時間片應略大于一次典型的交互需要的時間。一般應考慮三個因素:系統對相應時間的 要求、就緒隊列中進程的數目和系統的處理能力。
12.通過一個例子來說明通常的優先級調度算法不能適用于實時系統?
答:實時系統的調度算法很多,主要是基于任務的開始截止時間和任務緊急/松弛程度的任務優先級調度算法,通常的優先級調度算法不能滿足實時系統的調度實時性要求而不適用。
13.為什么說多級反饋隊列調度算法能較好地滿足各方面用戶的需求?
答:(1)終端型作業用戶提交的作業大多屬于較小的交互型作業,系統只要使這些作業在 3 第一隊列規定的時間片內完成,終端作業用戶就會感到滿足。
(2)短批處理作業用戶,開始時像終端型作業一樣,如果在第一隊列中執行一個時間片段即可完成,便可獲得與終端作業一樣的響應時間。對于稍長作業,通常只需在第二和第三隊列各執行一時間片即可完成,其周轉時間仍然較短。
(3)長批處理作業,它將依次在第1,2,?,n個隊列中運行,然后再按輪轉方式運行,用戶不必擔心其作業長期得不到處理。所以,多級反饋隊列調度算法能滿足多用戶需求。
18.何謂死鎖?產生死鎖的原因和必要條件是什么? 答:死鎖是指多個進程在運行過程中因爭奪資源而造成的一種僵局,當進程處于這種僵持狀 態時,若無外力作用,它們都將無法再向前推進。
產生死鎖的原因為競爭資源和進程間推進順序非法。其必要條件是:互斥條件、請求和 保持條件、不剝奪條件、環路等待條件。
19.在解決死鎖問題的幾個方法中,哪種方法最易于實現?哪種方法使資源利用率最高? 答:解決死鎖的四種方法即預防、避免、檢測和解除死鎖中,預防死鎖最容易實現; 避免死鎖使資源的利用率最高。
20.請詳細說明可通過哪些途徑預防死鎖。
答:(1)擯棄“請求和保持”條件,就是如果系統有足夠資源,便一次性把進程需要的所 有資源分配給它;
(2)擯棄“不剝奪”條件,就是已經擁有資源的進程,當它提出新資源請求而不能立即 滿足時,必須釋放它已保持的所有資源,待以后需要時再重新申請;
(3)擯棄“環路等待”條件,就是將所有資源按類型排序標號,所有進程對資源的請求 必須嚴格按序號遞增的次序提出。
21.在銀行家算法的例子中,如果P0發出請求向量由Request(0,2,0)改為Request(0,1,0),問系統可否將資源分配給它?
答:(1)可以。銀行家算法各種資源數量分別為10、5、7,在T0時刻的資源分配如圖所示:
(2)具體分析如下:
①Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);系統先假定可為P0分配資源,并修改Available0,Allocation0和Need0向量,由此形成 的資源變化情況如下圖所示:
(3)P0請求資源:P0發出請求向量Requst0(0,1,0),系統按銀行家算法進行檢查: ① Requst0(0,1,0)<=Need0(7,4,3);② Requst0(0,1,0)<=Available(2,3,0);③ 系統暫時先假定可為P0分配資源,并修改______________有關數據,如下圖所示
綜上所述系統可以將資源分配給它。
22.銀行家算法中出現以下資源分配,試問(1)該狀態是否安全?(2)若進程P2 提出 Request(1,2,2,2)后,系統能否將資源分配給它?
試問:(1)該狀態是否安全?
(2)若進程P2提出請求Request(1,2,2,2)后,系統能否將資源分配給它? 答:(1)安全,因為存在安全序列{P0,P3,P4,P1,P2}(2)系統能分配資源,分析如下。
① Request(1,2,2,2)<= Need2(2,3,5,6);② Request(1,2,2,2)<= Available2(1,3,5,4);
③ 系統先假定可為P2分配資源,并修改Available2,Allocation2和Need2向量,由此形成的資源變化情況如下圖所示:
④ 再利用安全性算法檢查此時系統是否安全。如下圖
由此進行的安全性檢查得知,可以找到一個安全序列{P2,P0,P1,P3,P4}。
第四章
2.可采用哪幾種方式將程序裝入內存?它們分別適用于何種場合? 答:(1)絕對裝入方式,只適用于單道程序環境。(2)可重定位裝入方式,適用于多道程序環境。
(3)動態運行時裝入方式,用于多道程序環境;不允許程序運行時在內存中移位置。17.分段和分頁存儲管理有何區別? 答:
(1)是信息的物理單位,分頁是為了實現離散分配方式,以消減內存的外部零頭,提高內 存利用率。段則是信息的邏輯單位,它含有一組相對完整的信息。
(2)頁的大小固定且由系統決定,由系統把邏輯地址劃分為頁號和頁內地址兩部分,是由 機械硬件實現的,因而在系統中只能有一種大小的的頁面;而段的長度卻不固定,決定于用戶 所編寫的程序,通常由編譯程序在對原程序進行編譯時,根據信息的性質來劃分。(3)分頁的作業地址空間是一維的,而分段作業地址空間則是二維的。19.虛擬存儲器有哪些特征?其中最本質的特征是什么?
答:虛擬存儲器有多次性、對換性、虛擬性三大特征。最本質的特征是虛擬性。20.實現虛擬存儲器需要哪些硬件支持?
答:(1)請求分頁(段)的頁(段)表機制(2)缺頁(段)中斷機構(3)地址變換機構 21.實現虛擬存儲器需要哪幾個關鍵技術? 答:
(1)在分頁請求系統中是在分頁的基礎上,增加了請求調頁功能和頁面置換功能所形成的 頁式虛擬存儲系統。允許只裝入少數頁面的程序(及數據),便啟動運行。
(2)在請求分段系統中是在分段系統的基礎上,增加了請求調段及分段置換功能后形成的 段式虛擬存儲系統。允許只裝入少數段(而非所有段)的用戶程序和數據,即可啟動運行。25.在請求分頁系統中,通常采用哪種頁面分配方式?為什么?
答:固定分配方式是基于進程的類型(交互型)或根據程序員、系統管理員的建議,為每個進 6 程分配固定頁數的內存空間,整個運行期間不再改變;采用可變分配方式有全局置換和局部置換兩種,前者易于實現,后者效率高。26.在一個請求分頁系統中,采用LRU 頁面置換算法時,假如一個作業的頁面走向為 4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 , 2 , 1 ,5,當分配給該作業的物理塊數M分別為3和4時,試計算訪問過程中所發生的缺頁次數和缺頁率 ? 比較所得結果 ? 答:當分配給該作業的物理塊數M為3時,缺頁7次,缺頁率: 7/12=0.583; 當分配給該作業的物理塊數M為4時,缺頁4次,缺頁率: 4/12=0.333.28.試說明改進型 Clock 置換算法的基本原理.答:因為修改過的頁面在換出時付出的開銷比未被修改過的頁面大,在改進型Clock 算法 中,既考慮頁面的使用情況,還要增加置換代價的因素;在選擇頁面作為淘汰頁面時,把同 時滿足未使用過和未被修改作為首選淘汰頁面。
第五章
7.有哪幾種I/O控制方式?各適用于何種場合? 答:共有四種I/O 控制方式。
(1)程序I/O 方式:早期計算機無中斷機構,處理機對I/O設備的控制采用程序I/O方式或稱忙等的方式。
(2)中斷驅動I/O 控制方式:適用于有中斷機構的計算機系統中。
(3)直接存儲器訪問(DMA)I/O 控制方式:適用于具有DMA控制器的計算機系統中。(4)I/O 通道控制方式:具有通道程序的計算機系統中。
9.引入緩沖的主要原因是什么? 答:引入緩沖的主要原因是:
(1)緩和CPU與I/O 設備間速度不匹配的矛盾
(2)減少對CPU的中斷頻率,放寬對中斷響應時間的限制(3)提高CPU與I/O 設備之間的并行性
17.何謂設備虛擬?實現設備虛擬時所依賴的關鍵技術是什么? 答:設備虛擬是指把獨占設備經過某種技術處理改造成虛擬設備。可虛擬設備是指一臺物理設備在采用虛擬技術后,可變成多臺邏輯上的虛擬設備,則可虛擬設備是可共享的設備,將它同時分配給多個進程使用,并對這些訪問該物理設備的先后次序進行控制。
18.試說明SPOOLing 系統的組成。
答:SPOOLing 系統由輸入井和輸出井、輸入緩沖區和輸出緩沖區、輸入進程 SPi 和輸出進程 SPo 三部分組成。
19.在實現后臺打印時,SPOOLing 系統應為請求I/O 的進程提供哪些服務? 答:在實現后臺打印時,SPOOLing 系統應為請求 I/O的進程提供以下服務:(1)由輸出進程在輸出井中申請一空閑盤塊區,并將要打印的數據送入其中;
(2)輸出進程為用戶進程申請空白用戶打印表,填入打印要求,將該表掛到請求打印隊列。(3)一旦打印機空閑,輸出進程便從請求打印隊列的隊首取出一張請求打印表,根據表中要求將要打印的數據從輸出井傳送到內存緩沖區,再由打印機進行打印。
第六章
1.何謂數據項、記錄和文件?
答:①數據項分為基本數據項和組合數據項。基本數據項描述一個對象某種屬性的字符集,7 具有數據名、數據類型及數據值三個特性。組合數據項由若干數據項構成。②記錄是一組相關數據項的集合,用于描述一個對象某方面的屬性。③文件是具有文件名的一組相關信息的集合。
4.何謂邏輯文件?何謂物理文件?
答:邏輯文件是物理文件中存儲的數據的一種視圖方式,不包含具體數據,僅包含物理文件中數據的索引。物理文件又稱文件存儲結構,是指文件在外存上的存儲組織形式。8.試說明順序文件的結構及其優點。
答:第一種是串結構:各記錄之間的順序與關鍵字無關。第二種是順序結構:指文件中的所有記錄按關鍵字(詞)排列。可以按關鍵詞長短排序或英文字母順序排序。順序文件的最佳應用場合是對諸記錄進行批量存取時,存取效率最高;只有順序文件才能存儲在磁帶上并有效工作。
15.什么是索引文件?為什么要引入多級索引?
答:索引文件是指當記錄為可變長度時,通常為之建立一張索引表,并為每個記錄設置一個表項構成的文件。通常將索引非順序文件簡稱為索引文件。索引是為了是用戶的訪問速度更快,多級索引結構可以有效的管理索引文件,可根據用戶的訪問情況多級處理。17.對目錄管理的主要要求是什么?
答:實現按名存取、提高檢索目錄的速度、文件共享、允許文件重名。18.采用單級目錄能否滿足對目錄管理的主要要求?為什么?
答:不能。單級目錄在整個文件系統中只建立一張目錄表,每個文件占一個目錄項,其中含文件名、文件擴展名、文件長度、文件類型、文件物理地址、狀態位等其它文件屬性。單級只能實現目錄管理的基本功能,不能滿足查找速度、允許重名和文件共享的要求。19.目前廣泛應用的目錄結構有哪些?它有什么優點?
答:現代操作系統都采用多級目錄結構。基本特點是查詢速度快、層次結構清晰、文件管理和保護易于實現。
第三篇:張堯學-操作系統課后題答案
第一章 緒論
1.什么是操作系統的基本功能?
答:操作系統的職能是管理和控制汁算機系統中的所有硬、軟件資源,合理地組織計算
機工作流程,并為用戶提供一個良好的工作環境和友好的接口。操作系統的基本功能包括:
處理機管理、存儲管理、設備管理、信息管理(文件系統管理)和用戶接口等。
2.什么是批處理、分時和實時系統?各有什么特征?
答:批處理系統(batchprocessingsystem):操作員把用戶提交的作業分類,把一批作業編成一個作業執行序列,由專門編制的監督程序(monitor)自動依次處理。其主要特征是:用戶脫機使用計算機、成批處理、多道程序運行。
分時系統(timesharingoperationsystem):把處理機的運行時間分成很短的時間片,按時間片輪轉的方式,把處理機分配給各進程使用。其主要特征是:交互性、多用戶同時性、獨立性。
實時系統(realtimesystem):在被控對象允許時間范圍內作出響應。其主要特征是:對實時信息分析處理速度要比進入系統快、要求安全可靠、資源利用率低。
3.多道程序(multiprogramming)和多重處理(multiprocessing)有何區別?
答;多道程序(multiprogramming)是作業之間自動調度執行、共享系統資源,并不是真正地同時值行多個作業;而多重處理(multiprocessing)系統配置多個CPU,能真正同時執行多道程序。要有效使用多重處理,必須采用多道程序設計技術,而多道程序設計原則上 不一定要求多重處理系統的支持。
6。設計計算機操作系統時與那些硬件器件有關
運算器、控制器、存儲器、輸入設備、輸出設備
第二章 作業管理和用戶接口
2. 作業由哪幾部分組成?各有什么功能?
答:作業由三部分組成:程序、數據和作業說明書。程序和數據完成用戶所要求的業務處理工作,作業說明書則體現用戶的控制意圖。
3.作業的輸入方式有哪幾種?各有何特點
答:作業的輸入方式有5種:聯機輸入方式、脫機輸入方式、直接耦合方式、SPOOLING
(Simultaneous Peripheral OperationsOnline)系統和網絡輸入方式,各有如下特點:
(1)聯機輸入方式:用戶和系統通過交互式會話來輸入作業。
(2)脫機輸入方式:又稱預輸入方式,利用低檔個人計算機作為外圍處理機進行輸入處理,存儲在后備存儲器上,然后將此后援存儲器連接到高速外圍設備上和主機相連,從而在較短的時間內完成作業的輸入工作。
(3)直接耦合方式:把主機和外圍低檔機通過一個公用的大容量外存直接耦合起來,從而省去了在脫機輸入中那種依靠人工干預宋傳遞后援存儲器的過程。
(4)SPOOLING系統:可譯為外圍設備同時聯機操作。在SPOOLING系統中,多臺外圍設備通過通道或DMA器件和主機與外存連接起來,作業的輸入輸出過程由主機中的操作系統控制。
(5)網絡輸入方式:網絡輸入方式以上述幾種輸入方式為基礎,當用戶需要把在計算機網絡中某一臺主機上輸入的信息傳送到同一網中另一臺主機上進行操作或執行時,就構成了網絡輸入方式。
6.操作系統為用戶提供哪些接口?它們的區別是什么?
答:操作系統為用戶提供兩個接口,一個是系統為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業的執行或管理計算機系統。另一個接口是系統調用,編程人員使用系統調用來請求操作系統提供服務,例如申請和釋放外設等類資源、控制程序的執行速度等。
8.什么是系統調用?系統調用與一般用戶程序有什么區別?與庫函數和實用程序又有什么區別?
答:系統調用是操作系統提供給編程人員的唯一接口。編程人員利用系統調用,在源程序一級動態請求和釋放系統資源,調用系統中已有的系統功能 來完成那些與機器硬件部分相關的工作以及控制程序的執行速度等。因此,系統調用像一個黑箱子那樣,對用戶屏蔽了操作系統的具體動作而只提供有關的功能。它 與一般用戶程序、庫函數和實用程序的區別是:系統調用程序是在核心態執行,調用它們需要一個類似于硬件中斷處理的中斷處理機制來提供系統服務。
9.簡述系統調用的實現過程。
答;用戶在程序中使用系統調用,給出系統凋用名和函數后,即產生一條相應的陷入指令,通過陷入處理機制調用服務,引起處理機中斷,然后保護處理機現場,取系統調用功能號并尋找子程序入口,通過入口地址表來調用系統子程序,然后返回用戶程序繼續執行。
第三章 用戶管理和配置管理
2.試比較進程和程序的區別。
答:(1)進程是一個動態概念,而程序是一個靜態概念,程序是指令的有序集合,無執行含義,進程則強調執行的過程。
(2)進程具有并行特征(獨立性,異步性),程序則沒有。
(3)不同的進程可以包含同一個程序,同一程序在執行中也可以產生多個進程。
4.試比較作業和進程的區別。
答:一個進程是一個程序對某個數據集的執行過程,是分配資源的基本單位。作業是用于需要計算機完成某項任務,而要求計算機所做工作的集合。一個作業的完成要經過作業提交,作業收容、作業執行和作業完成4個階段。而進程是已提交完畢的程序所執行過程的描述,足資源分配的基本單位。其主要區別關 系如下:
(1)作業是用戶向計算機提交任務的任務實體。在用戶向計算機提交作業之后,系統將存儲在外存中的作業等待隊列中等待執行。而進程則是完成用戶任務的執行實體,是向系統申請分配資源的基本單位。任一進程,只要它被創建,總有相應的部分存在于內存中。
(2)一個作業可由多個進程組成。且必須至少由一個進程組成,但反過來不成立。
(3)作業的概念主要用在批處理系統中。像Unix這樣的分時系統中,則沒有作業概念。而進程的概念則用在幾乎所有的多道程序系統中。
6.什么是臨界區?試舉一臨界區的例子。
答:臨界區是指不允許多個并發進程交叉執行的一段程序。它是由于不同并發進程的程序段共享公用數據或公用數據變量而引起的。所以它又被稱為訪問公用數據的那段程序。
例如:
getspace:
Begin local g
top=top-1
End
release(ad):
Begin
top’top十1
stack[top]=ad
End
8.什么是進程間的互斥?什么是進程間同步?
答:進程間的互斥是指:一組并發進程中的一個或多個程序段,因共享某一公有資源而導致它們必須以一個不許交叉執行的單位執行,即不允許兩個以上的共享該資源的并發進程同時進入臨界區。
進程間的同步是指:異步環境下的一組并發進程因直接制約互相發送消息而進行互相合作、互相等待,各進程按一定的速度執行的過程。
第四章 進程管理
4.進程調度的功能有哪些?
答:進程調度的功能有:
(1)記錄和保存系統中所有進程的執行情況;
(2)選擇占有處理機的進程;
(3)進行進程上下文切換。
5.進程調度的時機有哪幾種?
答:進程調度的時機有:
(1)正在執行的進程執行完畢。這時如果不選擇新的就緒進程執行,將浪費處理機資源。
(2)執行中進程自己調用阻塞原語將自己阻塞起來進入睡眠等待狀態。
(3)執行中進程調用了P原語操作,從而因資源不足而被阻塞:或調用了V原語操作激活了等待資源的進程隊列。
(4)執行中進程提出I/O請求后被阻塞。
(5)在分時系統中時間片已經用完。
(6)在執行完系統調用等系統程序后返回用戶程序時,可看做系統進程執行完畢,從而調度選擇一新的用戶進程執行。
(7)在CPU執行方式是可剝奪時,還有:就緒隊列中的某進程的優先級變得高于當前執行進程的優先級,從而也將引發進 程調度。
第五章 處理器管理
3.實現地址重定位的方法有哪幾類?
答:實現地址重定位的方法有兩種:靜態地址重定位和動態地址重定位。
(1)靜態地址重定位是在虛空間程序執行之前由裝配程序完成地址映射工作。靜態重定位的優點是不需要硬件支持,但是用靜態地址重定位方法進行地址變換無法實現虛擬存儲器。靜態重定位的另一個缺點是必須占用連續的內存空間和難以做到程序和數據的共享。
(2)動態地址重定位是在程序執行過程中,在CPU訪問內存之前由硬件地址變換機構將要訪問的程序或數據地址轉換成內存地址。動態地址重定位的主要優點有:
①可以對內存進行非連續分配。
②動態重定位提供了實現虛擬存儲器的基礎。
③動態重定位有利于程序段的共享。
形式化描述:略。
6.動態分區式管理的常用內存分配算法有哪幾種?比較它們各自的優缺點。
答:動態分區式管理的常用內存分配算法有最先適應法(FF)、最佳適應法(BF)和最壞適應法(WF)。
優缺點比較:
①從搜索速度上看最先適應法最佳,最佳適應法和最壞適應法都要求把不同大小的空閑區按大小進行排隊。
②從回收過程來看,最先適應法也是最佳,因為最佳適應法和最壞適應法都必須重新調整空閑區的位置。
③最佳適應法找到的空閑區是最佳的,但是會造成內存碎片較多,影響了內存利用率,而最壞適應法的內存碎片最少,但是對內存的請求較多的進程有可能分配失敗。
總之,三種算法各有所長,針對不同的請求隊列,它們的效率和功能是不一樣的。
8.簡述什么是覆蓋?什么是交換?覆蓋和交換的區別是什么?
答:將程序劃分為若干個功能上相對獨立的程序段,按照程序的邏輯結構讓那些不會同時執行的程序段共享同一塊內存區的內存擴充技術就是覆蓋。交換是指先將內存某部分的程序或數據寫入外存交換區,再從外存交換區中調入指定的程序或數據到內存中來,并讓其執行的一種內存擴充技術。與覆蓋技術相比,交換不要求程序員給出程序段之間的覆蓋結構,而且,交換主要是在進程或作業之間進行,而覆蓋則主要在同一個作業或同一個進程內進行。另外,覆蓋只能覆蓋那 些與覆蓋程序段無關的程序段。
11.請求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優缺點。
答:比較常用的頁面置換算法有:
(1)隨機淘汰算法(randomglongram)。即隨機地選擇某個用戶頁面并將其換出。
(2)輪轉法RR(roundrobin)。輪轉法循回換出內存可用區內一個可以被換出的頁,無論該頁是剛被換進或已經換進內存很長時間。
(3)先進先出法FIFO(firstinfirstout)。FIFO算法選擇在內存駐留時間最長的一頁將其淘汰。
(4)最近最久未使用頁面置換算法I.RU(1east recently unused)。該算法的基本思想是:當需要淘汰某一頁時,選擇離當前時間最近的一段時間內最久沒有使用過的頁面先淘汰。
(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。該算法淘汰在訪問串中將來再也不出現的或是在離當前最遠的位置上出現的頁面。
第九章 外部設備管理
4. 什么是中斷?什么叫中斷處理?什么叫中斷響應?
答: 中斷是指計算機在執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執行的程序而轉去執行相應的事件處理程序,待處理 完畢后又返回原來被中斷處繼續執行的過程。CPU轉去執行相應的事件處理程序的過程稱為中斷處理。CPU收到中斷請求后轉到相應的事件處理程序稱為中斷響 應。
5.什么叫關中斷?什么叫開中斷?什么叫中斷屏蔽?
答:把CPU內部的處理機狀態字PSW的中斷允許位清除從而不允許CPU響應中斷叫做關中斷。設置CPU內部的處理機狀態字PSW的中斷允許位從而允許CPU響應中斷叫做開中斷。
中斷屏蔽是指在中斷請求產生之后,系統用軟件方式有選擇地封鎖部分中斷而允許其余部分的中斷仍能得到響應。
7.描述中斷控制方式時的CPU動作過程。
答:(1)首先,CPU檢查響應中斷的條件是否滿足。如果中斷響應條件不滿足,則中斷處理無法進行。
(2)如果CPU響應中斷,則CPU關中斷。
(3)保存被中斷進程現場。
(4)分析中斷原因,調用中斷處理子程序。
(5)執行中斷處理子程序。
(6)退出中斷,恢復被中斷進程的現場或調度新進程占據處理機。
(7)開中斷,CPU繼續執行。
第四篇:中國特色社會主義課后題答案(參考參考)
課后思考題
1、為什么說鄧小平理論是科學社會主義發展的新階段。
鄧小平理論作為馬克思主義同當代中國實踐和時代特征相結合的產物,是毛澤東思想在新的歷史階段的繼承和發展,是當代中國的馬克思主義,是馬克思主義在中國發展的新階段。
鄧小平理論的理論依據和所堅持的世界觀方法論都是馬克思主義的,強調的基本理論都源于馬克思主義。鄧小平理論回答的是建設中國特色社會主義的問題,是搞清楚什么是社會主義,怎么建設社會主義的問題,這與馬克思主義的科學社會主義一脈相承。這一理論中關于社會主義的本質和發展道路、階段、根本任務、戰略,改革開放和四項基本原則,以及社會主義民主法制、精神文明、黨的建設等方面的論述,都是圍繞搞清楚社會主義到能否鞏固和發展的基本理論展開的。
它第一次比較系統地初步回答了中國社會主義的發展道路、發展階段、根本任務、發展動力、外部條件、政治保證、戰略步驟、黨的領導和依靠力量以及祖國統一等一系列基本問題,指導我們黨制定了在社會主義初級階段的基本路線。它是我們黨和國家的指導思想和行動指南,是指引我國社會主義現代化建設事業勝利前進的偉大旗幟,是馬克思主義在我國發展的新階段。
因此,在當代中國,馬克思列寧主義、毛澤東思想、鄧小平理論,是一脈相承的統一的科學體系。堅持鄧小平理論,就是真正堅持馬克思列寧主義、毛澤東思想;高舉鄧小平理論的旗幟,就是真正高舉馬克思列寧主義、毛澤東思想的旗幟。
2、簡述社會主義和諧社會的基本特征和基本目標
基本特征:
(1)社會主義和諧社會的價值目標特征
社會主義本質,決定了我們所要構建的社會主義和諧社會的價值目標只能是以人為本,保障人權;民主法治,平等自由;共同富裕,公平正義。同時,也只有真正確立并始終不渝地追求這樣的價值目標,才能不斷推進構建社會主義和諧社會的歷史進程,最終實現自己的偉大理想。
(2)社會主義和諧社會的經濟制度特征
經過近三十年的探索和改革,能夠適應構建社會主義和諧社會客觀需要的經濟制度在我國已初步建立起來,其基本特征是:公有為主,多種并存;市場經濟,公平競爭;各盡所能,各得其所。
(3)社會主義和諧社會的政治體制特征
根據社會主義的根本性質并結合我國的具體國情,我國的政治體制必須體現以下幾個基本原則,即人民主權,民主政治;國家統一,民族團結;黨的領導,政治協商。
(4)社會主義和諧社會的思想文化特征
我們所要構建的社會主義和諧社會在思想文化方面具有以下基本特征,即民族精神,共同理想;道德進步,科教發展:百花齊放,百家爭鳴。
(5)社會主義和諧社會的社會狀態特征
社會主義和諧社會是一種理想的社會狀態,這種理想的社會狀態具體體現在整個社會既安定有序,又充滿活力;人與人之間誠信友愛,寬容謙讓,團結互助;各種利益均衡協調,良性互動;社會結構、社會階層、人與社會、人與自然和諧發展。
主要目標:
(1)社會主義民主法制更加完善,依法治國基本方略得到全面落實,人民的權益得到切實尊重和保障;
(2)城鄉、區域發展差距擴大的趨勢逐步扭轉,合理有序的收入分配格局基本形成,家庭財產普遍增加,人民過上更加富足的生活;
(3)社會就業比較充分,覆蓋城鄉居民的社會保障體系基本建立;(4)基本公共服務體系更加完備,政府管理和服務水平有較大提高;
(5)全民族的思想道德素質、科學文化素質和健康素質明顯提高,良好道德風尚、和諧人際關系進一步形成;
(6)全社會創造活力顯著增強,創新型國家基本建成;(7)社會管理體系更加完善,社會秩序良好;(8)資源利用效率顯著提高,生態環境明顯好轉;
(9)實現全面建設惠及十幾億人口的更高水平的小康社會的目標,努力形成全體人民各盡其能、各得其所而又和諧相處的局面。
3、分析全球化對社會主義的機遇和挑戰。
(一)全球化進程中社會主義面臨的機遇
全球化為現代社會主義國家提供了實現跳躍式發展,超越資本主義的絕好歷史機遇。全球化從經濟上看是生產要素的全球自由流動,配置與重組,是貿易和投資的自動化,是跨國公司的國際生產和經營。社會主義國家可以通過加入全球化,引進最稀有的資本和技術,并與該國最富有的資源——廉價勞動力相結合,為實現工業化,現代化找到一條捷徑。
(1)全球化為發展中國家提供了更多吸引外資的條件和機會。(2)全球化促進了社會主義的理論更新和觀念變革。
(二)全球化進程中社會主義面臨的挑戰(1)社會主義國家的經濟安全面臨嚴峻的挑戰。
(2)社會主義仍然面臨來自資本主義的政治挑戰,軍事安全的威脅依然存在。
(3)資本主義對社會主義的文化滲透與擴張更加便利,文化霸權主義威脅日益嚴重。
4、如何認識中國的改革開放?
一、改革開放是決定當代中國命運的關鍵抉擇,是新的偉大革命
改革開放,是我們黨在中國社會主義建設的關鍵時期的偉大抉擇,是我們黨在新的時代條件下帶領全國人民進行的新的偉大革命,是決定中國命運的歷史選擇。
二、改革開放最根本的意義在于解放了思想、實現了思想的解放
改革開放所帶來的最根本的變化就是思想的解放、所能取得成功的最根本的原因就是解放了思想。解決前進道路上的突出矛盾和問題、奪取全面建設小康社會新勝利、開創中國特色社會主義事業新局面,無不需要進一步改革開放,而深化改革開放無不需要進一步解放思想。
三、改革開放最偉大的成果即思想解放的結晶就是開辟了道路、創新了理論
在當代中國,堅持中國特色社會主義道路,就是真正堅持社會主義,就是堅持真正的改革開放、堅持正確的解放思想; 換言之: 真正堅持社會主義、堅持真正的改革開放、堅持正確的解放思想,就必須堅持中國特色社會主義道路。
四、改革開放的現實意義在于進一步解放思想、推進改革開放、發展中國特色社會主義
我們發展中國特色社會主義偉大事業就必須在永無止境的改革開放和解放思想中倍加珍惜、長期堅持和不斷發展黨歷經艱辛開創的中國特色社會主義道路和中國特色社會主義理論體系,即在永無止境的改革開放中堅持解放思想、實事求是、與時俱進,在永無止境的解放思想中勇于變革、勇于創新,永不僵化、永不停滯,不被任何干擾所惑,使中國特色社會主義道路越走越寬廣,讓當代中國馬克思主義放射出更加燦爛的真理光芒。從現實上來說,改革開放目的就是要解放和發展社會生產力,發展和完善社會主義制度,在引領當代中國發展進步中確保黨始終走在時代前列。
5、論述蘇聯解體、東歐巨變的原因和教訓。
一、蘇聯解體的各方面原因
第一,體制僵化、經濟衰退是根本性的原因。
“蘇聯模式”的政治、經濟、文化體制,是一種高度集中和過度集權的體制。這種體制,對應對國內外緊張局勢,集中一切人力、財力、物力,適應備戰和應戰的需要,推進工業 化進程和增強國防實力有一定成果。但蘇聯的經濟政治體制模式,嚴重背離現代經濟的發展規律,壓抑了地方、企業和勞動者的積極性。這種高度集中而又嚴格的計劃經濟體制,使一切權力歸于中央,中央以行政命令和統一計劃管理經濟,指揮生產,企業沒有自主權,實行單一公有制、不按經濟發展的客觀規律辦事。高度集權的政治體制,缺乏民主,破壞法制,極大地損壞了社會主義的聲譽。
第二、領導人因素是小容忽視的重要原因。
東歐各國的領導人,在本國經濟政治而臨嚴重困難的情況下,一時找不到解決困難的出路,對黨內出現的反對派妥協讓步,表現出了一定的軟弱性,有的甚至放棄社會主義原則,承認反對派的合法地位,與反對派對話或召開“圓桌會議”等等,沒有及時地對反對派予以取締,有的與反對派的斗爭不徹底,一味的妥協退讓,讓反對派發動了一次又一次的奪權斗爭,最終導致一些國家的領導人被迫下臺。
第三,腐敗原因導致黨衰國亡。
在高度集中的政治體制下,官僚主義的滋生膨脹,進而導致了民主和法制遭到嚴重破壞、特權和腐敗情況出現。他們史形成一個個“官僚集團”,開始喪失革命意志,對理想信 念麻木不仁,使執政黨與民眾之間隔閡越來越大,失去了群眾基礎和執政能力,民心盡失。
第四,民族矛盾加速國家分裂。
列寧之后的蘇聯歷屆領導人總足抱有不切國情的超前認識,不是盲目地宣布蘇聯建成了社會主義或進入了發達社會主義,就足急于向共產主義過渡,而在他們的思想深處,民族進程與社會進程足同步的,因而民族問題必然隨著社會進入高級階段而不復存在,過早地宣布民族問題“己經解決”,導致民族關系中的消極現象日益增多。
第五,外部原因與各國演變。
戈爾巴喬夫上臺后,面對蘇聯的衰落進行戰略收縮,蘇聯對東歐的政策也發生了根本性的改變。戈爾巴喬夫的東歐政策“新思維”,推動了東歐各黨的改組、分裂和蛻變,催化了東歐的變化并促使東歐各國的反對派借勢突起。而以美國為首的西方帝國主義國家針對蘇聯和東歐等社會主義國家采取了一項長期的戰略--“和平演變”,蘇聯和東歐是它們實施這一戰略選中的突破口。
教訓:
第一,在社會主義國家里,必須堅定地加強和改善共產黨的領導。
第二,穩步推進政治體制改革,建設社會主義民主政治。
第三,以經濟建設為中心,推進經濟體制改革,把國家的經濟搞上去。
第四,處理好改革開放與穩定的關系。
第五,社會主義大國必須妥善解決民族問題。
6、如何認識當前中國社會的公平問題?
我國是一個以生產資料公有制為基礎的社會主義國家,這一社會制度性質決定了當前我國社會的公平原則應該是:權利公平、機會公平、規則公平、分配公平。
權利公平是社會主義社會公平的第一要義,是機會公平、規則公平和分配公平的基礎和起點。在社會主義社會,權利公平具體體現在以下幾個方面:首先,社會主義公有制使得全體勞動人民在和生產資料的關系上,都處于公平的地位,有了一個公平的起點。其次,在政治上,中華人民共和國的一切權力屬于人民,每個公民都具有相同的政治權利和公民權利。再次,在文化上,每個公民都享有受教育、出版自由、信仰自由等平等權利。
機會公平是社會主義社會公平的基本條件,也是社會主義社會公平的首要標志。它包括兩層含義:首先,對于每一個社會成員來說,機會公平意味著一切能使個人自主活動能力得到充分發揮并由此取得成就的機會,向每一個公民開放著。其次,對于自主經營、自負盈虧 的企業來說,機會公平意味著,在生產、經營、勞務等方面,在取得生產資料、資金、勞動力方面,在盈利和風險方面,他們都具有同等的機會。
規則公平是社會主義社會公平的必要保障。社會公平說到底是利益問題,它必須通過一定的規則或制度來實現。沒有規則或制度作保證,社會公平必然停留于口頭而無法全面實現。
分配公平是社會主義社會公平的目標和核心。所謂分配公平不是搞平均主義,主要是指一種利益相對平衡的狀態。分配公平應該包括兩個層次的內容:一是利益的初次分配以按勞分配為主要形式,其他分配同時并存。二是社會利益的再分配,要以防止貧富懸殊和社會兩極分化為目的,把人們之間的收入差距控制在社會普遍接受的合理范圍之內。
7、試用馬克思主義“兩個絕不會“的思想談談你對當今社會主義與資本主義的認識
在它所容納的全部生產力發揮出來以前,是絕不會滅亡的,而新的社會形態或新的生產關系在它的物質系統,在舊社會形態的胞胎里成熟以前也是絕不會出現的。兩個絕不會指明了揭示了社會主義取代資本主義的曲折過程。
1.在經濟全球化過程中,取代資本主義的任務并沒有過時
當代不是全球化潮流淹沒社會主義,而是社會主義必然在經濟全球化中復興。今天的經濟全球化借助信息技術革命,其所產生的全球振蕩空前劇烈。資本的輸入與輸出以及未加設防的突然撤離,具有較大的盲目性,任何權力機關和金融系統都無計可施,這很可能給一些國家(尤其是大量引進外資的國家)帶來金融動蕩。資本主義在經濟全球化中每向前邁進一步,社會矛盾的加深都會釋放出對資本主義的強大社會抵抗力量和反對力量,并轉化成新的不穩定因素。
2.社會主義必然在經濟全球化中復興
經濟全球化對社會主義的沖擊是嚴峻的,但是絕對不是災難性的。經濟全球化的潮流不可能淹沒社會主義,相反,將為社會主義的復興提供舞臺。社會主義國家要作好長期斗爭的思
想準備,既要大力發展本國的科學技術,壯大自己的經濟實力,又要維護好國家的主權、安全與尊嚴;既要善于抓住機遇,趨利守正,又要敢于迎接挑戰,避害圖存;為改變不公正的國際政治經濟秩序做出不懈的努力。
3.在經濟全球化中把握“兩個必然”的總趨勢,推進人類社會的歷史進程
在觀察和認識當代資本主義的時候,我們既要看到它發生深刻變化的一面,又要看到它沒有變化的一面。確實,當代資本主義較過去已經發生了巨大的變化,更趨于成熟,其生產關系對現階段生產力的發展還有相當的容納能力,因此它還有相當大的發展潛力,認為資本主義已走到山窮水盡的地步這是不切實際的。社會主義代替資本主義的歷史過程,肯定要比馬克思、恩格斯、列寧過去預想的復雜得多,曲折得多,時間長得多。因此,我們對資本主義必然滅亡,社會主義最終代替資本主義的艱巨性和長期性要有充分的認識。
8、如何認識當前中國經濟發展中的轉變經濟增長方式?
一、加快轉變經濟增長方式的時代背景
(一)全球經濟新格局變化對世界資源環境帶來巨大壓力
(二)轉變經濟增長方式是事關我國經濟可持續發展的重大而迫切的戰略任務
(1)、我國高投入、高消耗、高排放為特征的粗放型增長方式尚未得到根本性轉變。
(2)、如果不加快轉變經濟增長方式, 資源和環境條件將難以支撐我國實現全面建設小康社會的宏偉目標。
(3)、在我國經濟社會發展的不同階段, 中央都提出了轉變經濟增長方式的明確要求。
二、轉變經濟增長方式是一個復雜的社會工程, 必須立足當前, 謀劃長遠、統籌兼顧、著重應注意把握和處好以下六方面的關系:
(一)處理好結構調整和增長速度的關系, 更加注重提高增長的質量和效益
(二)處理好市場主導和政府引導的關系, 更加注重發揮市場配置資源的基礎性作用(三)處理好產業布局和城市布局的關系, 更加注重發揮城市的集聚輻射功能(四)處理好產業結構和所有制結構的關系, 更加注重多種所有制經濟共同發展(五)處理好經濟中心城市和區域經濟聯動發展的關系, 更加注重提升區域整體競爭力(六)處理好結構調整和社會穩定的關系, 更加注重降低結構調整的社會成本
9、什么是社會主義?中國特色社會主義“特”在何處?
社會主義一詞有多方面的含義:一是指學說,或者說思想,即社會主義思想體系,如空想社會主義與科學社會主義等。二是指運動,即為實現社會主義制度而進行的實踐活動;三是指社會制度,即社會主義制度。關于社會主義的定義,眾說紛紜,莫衷一是。但從總體上看,社會主義在本質上是指一種新型的社會制度,是人類社會發展的一個新階段。
一、實踐特色
第一,作為一項全新的社會主義偉大事業,中國特色社會主義既不走封閉僵化的老路、也不走改旗易幟的邪路,而是在不斷摸索中前進,獨立自主走自己的路。
第二,中國特色社會主義注重充分激發廣大人民群眾的積極性、創造性,展示了人民群眾的主體力量。
第三,中國特色社會主義以最廣大人民群眾的根本利益為價值歸宿,根據中國的具體情況探索人的自由全面發展的實現模式。
二、理論特色
第一,中國特色社會主義的理論特色凸顯以發展著的馬克思主義為指導思想。第二,中國特色社會主義的理論特色彰顯了堅持推進實踐基礎上的理論創新
第三,中國特色社會主義的理論特色體現了中國共產黨理論自覺與理論自信的品格。
三、民族特色
第一,中國特色社會主義根植于中國具體實際之中,充分展示了對中國優秀傳統文化的繼承和發展。
第二,中國特色社會主義的民族特色表現在中國共產黨對實現社會主義現代化和中華民族偉大復興這一“總任務”的清醒認識上。
四、時代特色
第一,中國特色社會主義道路作為中國式的現代化之路,豐富了人類現代化道路的具體實現形式。
第二,促進人類和平與發展的崇高事業是中國特色社會主義的重要組成部分,為構建和諧世界做出了積極貢獻。
10、關于生態文明建設的認識
1、所謂生態文明就是:要“樹立尊重自然、順應自然、保護自然的生態文明理念”。
2、生態文明建設的重要意義:“建設生態文明,是關系人民福祉、關乎民族未來的長遠大計”。
3、把生態文明建設的放在突出地位,“生態文明建設融入經濟建設、政治建設、文化建設、社會建設各方面和全過程”。
4、如何建設:“堅持節約資源和保護環境的基本國策,堅持節約優先、保護優先、自然恢復為主的方針,著力推進綠色發展、循環發展、低碳發展,形成節約資源和保護環境的空間格局、產業結構、生產方式、生活方式,從源頭上扭轉生態環境惡化趨勢,為人民創造良好生產生活環境,為全球生態安全作出貢獻”。
5、具體抓好四個方面:優化國土空間、節約資源、保護環境、制度規范。
11、關于“民主”、“中國特色社會主義民主”的認識
民主是國家形式,是國家形態的一種。中國的社會主義民主是迄今為止最高類型的民主,它的本質和核心是人民當家作主。國家的一切權力屬于人民。共產黨執政就是領導和支持人民掌握國家的權力,實行民主選舉、民主決策、民主管理、民主監督,保證人民依法享有廣泛的權利和自由,尊重和保障人權。
中國特色社會主義民主不西方資本主義民主相比具有巨大的優越性,歸結起來主要有兩條:
第一,中國特色社會主義民主是人類有少數剝削者才能享受的民主變為大多數人都可以享受的人民民主,使廣大人民群眾真正成為國家和社會的主人,擁有廣泛而真實的民主權利。
第二,中國特色社會主義民主是中國人民創造的適合中國國情的民主。世界上并不存在惟一的、普遍適用的和絕對的民主模式,關鍵是要看它是否符合本國人民群眾的要求,是否符合本國的實際情況。中國特色社會主義民主是共產黨領導中國人民長期奮斗和艱苦探索得來的,既遵循民主發展的一般規律,又具有鮮明的中國特色,已經被實踐證明是完全符合中國實際和中國人民愿望的政治制度。
另外,由于中國特色社會主義民主誕生的時間還比較短,要達到完善和成熟尚需一個長期的過程。我們必須堅定不移地走中國特色社會主義民主政治發展道路,不斷總結人民創造的民主建設經驗,既吸收和借鑒人類政治文明成果,包括西方資本主義民主中一切對我們有益和有用的東西,又堅決反對照搬西方資本主義民主模式,同西方資本主義民主劃清界限,積極穩妥地發展中國特色社會主義民主,并在實踐中展現其更加強大的生命力和吸引力。
12、新時期中國共產黨執政能力建設問題
加強黨的執政能力建設是中國共產黨黨的建設理論的重大突破,是事關黨和國家發展的帶有全局性、戰略性、根本性和長期性的重大課題,新時期不僅賦予了中國共產黨執政能力以新的時代內涵,而且對其提出了新的更高要求。
一、順應經濟全球化潮流,提高駕馭社會主義市場經濟的能力 1.加快健全和完善內外銜接、統一有序的市場體系。
2.加快健全和完善與世界通行規則相配套的經濟法律體系。3.加快建立和完善內外均衡的國家宏觀調控體系
二、適應全球政治發展要求,提高發展社會主義民主政治的能力 1.發展黨內民主,增強共產黨執政的合法性基礎。
2.貫徹依法治國方略,建設社會主義法治國家 3.擴大公民政治參與,支持人民當家作主
三、把握文化全球化動態,提高建設社會主義先進文化的能力
1.中國先進文化建設必須體現時代感、開放性和包容性,增強中華文化的世界認同。2.中國先進文化建設必須更多地關注人類的精神家園,彰顯中華文化的人文精神。3.中國先進文化建設必須擴大對外文化交流,增強中華文化與世界文化的融合
四、深化對全球社會的認識,提高構建社會主義和諧社會的能力 1.貫徹落實科學發展觀,夯實應對社會風險的物質基礎
2.培育科學的風險意識,增強全社會的風險應對能力 3.創新社會管理體制,建立現代風險治理模式 4.強化國際合作機制,提高應對全球風險的能力
五、倡導全球外交理念,提高掌握處理國際事務主動權的能力
1.堅持獨立自主的和平外交政策,這是掌握處理國際事務主動權的首要前提。2.實施積極的多邊主義外交戰略,這是掌握處理國際事務主動權的基本要求 3.加快中國的和平發展,這是掌握處理國際事務主動權的必要保障。
第五篇:計算機操作系統 課后習題答案 張堯學
第一章 緒論
1.什么是操作系統的基本功能?
答:操作系統的職能是管理和控制汁算機系統中的所有硬、軟件資源,合理地組織計算
機工作流程,并為用戶提供一個良好的工作環境和友好的接口。操作系統的基本功能包括:
處理機管理、存儲管理、設備管理、信息管理(文件系統管理)和用戶接口等。
2.什么是批處理、分時和實時系統?各有什么特征?
答:批處理系統(batchprocessingsystem):操作員把用戶提交的作業分類,把一批作業編成一個作業執行序列,由專門編制的監督程序(monitor)自動依次處理。其主要特征是:用戶脫機使用計算機、成批處理、多道程序運行。
分時系統(timesharingoperationsystem):把處理機的運行時間分成很短的時間片,按時間片輪轉的方式,把處理機分配給各進程使用。其主要特征是:交互性、多用戶同時性、獨立性。
實時系統(realtimesystem):在被控對象允許時間范圍內作出響應。其主要特征是:對實時信息分析處理速度要比進入系統快、要求安全可靠、資源利用率低。
3.多道程序(multiprogramming)和多重處理(multiprocessing)有何區別?
答;多道程序(multiprogramming)是作業之間自動調度執行、共享系統資源,并不是真正地同時值行多個作業;而多重處理(multiprocessing)系統配置多個CPU,能真正同時執行多道程序。要有效使用多重處理,必須采用多道程序設計技術,而多道程序設計原則上 不一定要求多重處理系統的支持。
6.設計計算機操作系統時與那些硬件器件有關
運算器、控制器、存儲器、輸入設備、輸出設備
第二章 作業管理和用戶接口
2. 作業由哪幾部分組成?各有什么功能?
答:作業由三部分組成:程序、數據和作業說明書。程序和數據完成用戶所要求的業務處理工作,作業說明書則體現用戶的控制意圖。
3.作業的輸入方式有哪幾種?各有何特點
答:作業的輸入方式有5種:聯機輸入方式、脫機輸入方式、直接耦合方式、SPOOLING
(Simultaneous Peripheral OperationsOnline)系統和網絡輸入方式,各有如下特點:
(1)聯機輸入方式:用戶和系統通過交互式會話來輸入作業。
(2)脫機輸入方式:又稱預輸入方式,利用低檔個人計算機作為外圍處理機進行輸入處理,存儲在后備存儲器上,然后將此后援存儲器連接到高速外圍設備上和主機相連,從而在較短的時間內完成作業的輸入工作。
(3)直接耦合方式:把主機和外圍低檔機通過一個公用的大容量外存直接耦合起來,從而省去了在脫機輸入中那種依靠人工干預宋傳遞后援存儲器的過程。
(4)SPOOLING系統:可譯為外圍設備同時聯機操作。在SPOOLING系統中,多臺外圍設備通過通道或DMA器件和主機與外存連接起來,作業的輸入輸出過程由主機中的操作系統控制。
(5)網絡輸入方式:網絡輸入方式以上述幾種輸入方式為基礎,當用戶需要把在計算機網絡中某一臺主機上輸入的信息傳送到同一網中另一臺主機上進行操作或執行時,就構成了網絡輸入方式。4.試述spooling系統的工作原理
6.操作系統為用戶提供哪些接口?它們的區別是什么?
答:操作系統為用戶提供兩個接口,一個是系統為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業的執行或管理計算機系統。另一個接口是系統調用,編程人員使用系統調用來請求操作系統提供服務,例如申請和釋放外設等類資源、控制程序的執行速度等。
8.什么是系統調用?系統調用與一般用戶程序有什么區別?與庫函數和實用程序又有什么區別?
答:系統調用是操作系統提供給編程人員的唯一接口。編程人員利用系統調用,在源程序一級動態請求和釋放系統資源,調用系統中已有的系統功能 來完成那些與機器硬件部分相關的工作以及控制程序的執行速度等。因此,系統調用像一個黑箱子那樣,對用戶屏蔽了操作系統的具體動作而只提供有關的功能。它 與一般用戶程序、庫函數和實用程序的區別是:系統調用程序是在核心態執行,調用它們需要一個類似于硬件中斷處理的中斷處理機制來提供系統服務。
9.簡述系統調用的實現過程。
答;用戶在程序中使用系統調用,給出系統凋用名和函數后,即產生一條相應的陷入指令,通過陷入處理機制調用服務,引起處理機中斷,然后保護處理機現場,取系統調用功能號并尋找子程序入口,通過入口地址表來調用系統子程序,然后返回用戶程序繼續執行。
第三章 用戶管理和配置管理
2.試比較進程和程序的區別。
答:(1)進程是一個動態概念,而程序是一個靜態概念,程序是指令的有序集合,無執行含義,進程則強調執行的過程。
(2)進程具有并行特征(獨立性,異步性),程序則沒有。
(3)不同的進程可以包含同一個程序,同一程序在執行中也可以產生多個進程。
4.試比較作業和進程的區別。
答:一個進程是一個程序對某個數據集的執行過程,是分配資源的基本單位。作業是用于需要計算機完成某項任務,而要求計算機所做工作的集合。一個作業的完成要經過作業提交,作業收容、作業執行和作業完成4個階段。而進程是已提交完畢的程序所執行過程的描述,足資源分配的基本單位。其主要區別關 系如下:
(1)作業是用戶向計算機提交任務的任務實體。在用戶向計算機提交作業之后,系統將存儲在外存中的作業等待隊列中等待執行。而進程則是完成用戶任務的執行實體,是向系統申請分配資源的基本單位。任一進程,只要它被創建,總有相應的部分存在于內存中。
(2)一個作業可由多個進程組成。且必須至少由一個進程組成,但反過來不成立。
(3)作業的概念主要用在批處理系統中。像Unix這樣的分時系統中,則沒有作業概念。而進程的概念則用在幾乎所有的多道程序系統中。
6.什么是臨界區?試舉一臨界區的例子。
答:臨界區是指不允許多個并發進程交叉執行的一段程序。它是由于不同并發進程的程序段共享公用數據或公用數據變量而引起的。所以它又被稱為訪問公用數據的那段程序。
例如:
getspace:
Begin local g
top=top-1
End
release(ad):
Begin
top’top十1
stack[top]=ad
End
8.什么是進程間的互斥?什么是進程間同步? 3
答:進程間的互斥是指:一組并發進程中的一個或多個程序段,因共享某一公有資源而導致它們必須以一個不許交叉執行的單位執行,即不允許兩個以上的共享該資源的并發進程同時進入臨界區。
進程間的同步是指:異步環境下的一組并發進程因直接制約互相發送消息而進行互相合作、互相等待,各進程按一定的速度執行的過程。
15.什么是線程?試述線程與進程的區別,答;線程是在進程內用于調度和占有處理機的基本單位,它由線程控制表、存儲線程上下文的用戶棧以及核心棧組成。線程可分為用戶級線程、核心級線程以及用戶/核心混合型線程等類型。其中用戶級線程在用戶態下執行,CPU調度算法和各線程優先級都由用戶設置,與操作系統內核無關。核心級線程的調度算法及線程優先級的控制權在操作系統內核。混合型線程的控制權則在用戶和操作系統內核二者。線程與進程的主要區別有:
(1)進程是資源管理的基本單位,它擁有自己的地址空間和各種資源,例如內存空間、外部設備等;線程只是處理機調度的基本單位,它只和其他線程一起共享進程資源,但自己沒有任何資源。
(2)以進程為單位進行處理機切換和調度時,由于涉及到資源轉移以及現場保護等問題,將導致處理機切換時間變長,資源利用率降低。以線程為單位進行處理機切換和調度時,由于不發生資源變化,特別是地址空間的變化,處理機切換的時間較短,從而處理機效率也較高。
(3)對用戶來說,多線程可減少用戶的等待時間。提高系統的響應速度。例如,當一個進程需要對兩個不同的服務器進行遠程過程凋用時,對于無線程系統的操作系統來說需要順序等待兩個不同調用返回結果后才能繼續執行,且在等待中容易發生進程調度。對于多線程系統而言,則可以在同一進程中使用不同的線程同時進行遠程過程調用,從而縮短進程的等待時間。
(4)線程和進程一樣,都有自己的狀態.也有相應的同步機制,不過,由于線程沒有單獨的數據和程序空間,因此,線程不能像進程的數據與程序那樣,交換到外存存儲空間。從而線程沒有掛起狀態。
(5)進程的調度、同步等控制大多由操作系統內核完成,而線程的控制既可以由操作系統內核進行,也可以由用戶控制進行。第四章 進程管理
2.試述作業調度的主要功能。
答: 作業調度的主要功能是:按一定的原則對外存輸入井上的大量后備作業進行選擇,給選出的作業分配內存、輸入輸出設備等必要的資源,并建立相應進程,使該作業的相關進程獲得競爭處理機的權利。另外,當作業執行完
畢時,還負責回收系統資源。3.作業調度的性能評價標準有哪些?這些性能評價標準在任何情況下都能反映調度策略的優劣嗎? 答:對于批處理系統,由于主要用于計算,因而對于作業的周轉時間要求較高。從而作業的平均周轉時間或平均帶權周轉時間被用來衡量調度程序的優劣。但對于分時系統來說,平均響應時間又被用來衡量調度策略的優劣。對于分時系統,除了要保證系統吞吐量大、資源利用率高之外,還應保證用戶能夠容忍的響應時間。因此,在分時系統中,僅僅用周轉時間或帶權周轉時間來衡量調度性能是不夠的。對于實時系統,衡量調度算法優劣的主要標志則是滿足用戶要求的時限時間。
4.進程調度的功能有哪些?
答:進程調度的功能有:
(1)記錄和保存系統中所有進程的執行情況;
(2)選擇占有處理機的進程;
(3)進行進程上下文切換。5.進程調度的時機有哪幾種?
答:進程調度的時機有:
(1)正在執行的進程執行完畢。這時如果不選擇新的就緒進程執行,將浪費處理機資源。
(2)執行中進程自己調用阻塞原語將自己阻塞起來進入睡眠等待狀態。
(3)執行中進程調用了P原語操作,從而因資源不足而被阻塞:或調用了V原語操作激活了等待資源的進程隊列。
(4)執行中進程提出I/O請求后被阻塞。
(5)在分時系統中時間片已經用完。
(6)在執行完系統調用等系統程序后返回用戶程序時,可看做系統進程執行完畢,從而調度選擇一新的用戶進程執行。
(7)在CPU執行方式是可剝奪時,還有:就緒隊列中的某進程的優先級變得高于當前執行進程的優先級,從而也將引發進 程調度。
6.進程上下文切換由哪幾部分組成?描述進程上下文切換過程。
答:進程上下文切換由以下4個步驟組成;
(1)決定是否作上下文切換以及是否允許作上下文切換。包括對進程調度原因的檢查分析,以及當前執行進程的資格和CPU執行方式的檢查等。在操作系統中,上下文切換程序并不是每時每刻都在檢查和分析是否可作上下文切換,它們設置有適當的時機。
(2)保存當前執行進程的上下文。這里所說的當前執行進程,實際上是指調用上下文切換程序之前的執行進程。如果上下文切換不是被那個當前執行進程所調用,且不屬于該進程,則所保存的上下文應是先前執行進程的上下文,或稱為“老”進程上下文。顯然,上下文切換程序不能破壞“老”進程的上下文結構。(3)使用進程調度算法,選擇一處于就緒狀態的進程。
(4)恢復或裝配所選進程的上下文,將CPU控制權交到所選進程手中。
第五章 處理器管理
2.什么是虛擬存儲器?其特點是什么? 答:由進程中的目標代碼、數據等的虛擬地址組成的虛擬空間稱為虛擬存儲器。虛擬存儲器不考慮物理存儲器的大小和信息存放的實際位置,只規定每個進程中相互關聯信息的相對位置。每個進程都擁有自己的虛擬存儲器,且虛擬存儲
器的容量是由計算機的地址結構和尋址方式來確定。實現虛擬存儲器要求有相應的地址轉換機構,以便把指令的虛擬地址變換為實際物理地址;另外,由于內存空間較小,進程只有部分內容存放于內存中,待執行時根據需要再調指令入內存。3.實現地址重定位的方法有哪幾類?
答:實現地址重定位的方法有兩種:靜態地址重定位和動態地址重定位。
(1)靜態地址重定位是在虛空間程序執行之前由裝配程序完成地址映射工作。靜態重定位的優點是不需要硬件支持,但是用靜態地址重定位方法進行地址變換無法實現虛擬存儲器。靜態重定位的另一個缺點是必須占用連續的內存空間和難以做到程序和數據的共享。
(2)動態地址重定位是在程序執行過程中,在CPU訪問內存之前由硬件地址變換機構將要訪問的程序或數據地址轉換成內存地址。動態地址重定位的主要優點有:
①可以對內存進行非連續分配。
②動態重定位提供了實現虛擬存儲器的基礎。
③動態重定位有利于程序段的共享。
形式化描述:略。
6.動態分區式管理的常用內存分配算法有哪幾種?比較它們各自的優缺點。
答:動態分區式管理的常用內存分配算法有最先適應法(FF)、最佳適應法(BF)和最壞適應法(WF)。
優缺點比較:
①從搜索速度上看最先適應法最佳,最佳適應法和最壞適應法都要求把不同大小的空閑區按大小進行排隊。
②從回收過程來看,最先適應法也是最佳,因為最佳適應法和最壞適應法都必須重新調整空閑區的位置。
③最佳適應法找到的空閑區是最佳的,但是會造成內存碎片較多,影響了內存利用率,而最壞適應法的內存碎片最少,但是對內存的請求較多的進程有可能分配失敗。
總之,三種算法各有所長,針對不同的請求隊列,它們的效率和功能是不一樣的7.5.3節討論的分區式管理可以實現虛存嗎?如果不能,需要怎樣修改?試設計一個分區式管理實現虛存的程序流程圖。如果能,試說明理由。
答:5.3節討論的分區式管理不能實現虛存。如果要實現虛存,可以在分區的基礎之上對每個分區內部進行請求調頁式管理。
8.簡述什么是覆蓋?什么是交換?覆蓋和交換的區別是什么? 答:將程序劃分為若干個功能上相對獨立的程序段,按照程序的邏輯結構讓那些不會同時執行的程序段共享同一塊內存區的內存擴充技術就是覆蓋。交換是指先將內存某部分的程序或數據寫入外存交換區,再從外存交換區中調入指定的程序或數據到內存中來,并讓其執行的一種內存擴充技術。與覆蓋技術相比,交換不要求程序員給出程序段之間的覆蓋結構,而且,交換主要是在進程或作業之間進行,而覆蓋則主要在同一個作業或同一個進程內進行。另外,覆蓋只能覆蓋那 些與覆蓋程序段無關的程序段。
9.什么是頁式管理?靜態頁式管理可以實現虛存嗎? 答:頁式管理就是把各進程的虛擬空間劃分為若干長度相等的頁面,把指令按頁面大小劃分后存放在內存中執行或只在內存中存放那些經常被執行或即將被執行的頁面,而那些不被經常執行以及在近期內不可能被執行的頁面則存放于外存中,按一定規則調入的一種內存管理方式。
靜態頁式管理不能實現虛存,這是因為靜態頁式管理要求進程或作業在執行前全部被裝入內存,作業或進程的大小仍受內存可用頁面數的限制。
11.請求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優缺點。
答:比較常用的頁面置換算法有:
(1)隨機淘汰算法(randomglongram)。即隨機地選擇某個用戶頁面并將其換出。
(2)輪轉法RR(roundrobin)。輪轉法循回換出內存可用區內一個可以被換出的頁,無論該頁是剛被換進或已經換進內存很長時間。
(3)先進先出法FIFO(firstinfirstout)。FIFO算法選擇在內存駐留時間最長的一頁將其淘汰。
(4)最近最久未使用頁面置換算法I.RU(1east recently unused)。該算法的基本思想是:當需要淘汰某一頁時,選擇離當前時間最近的一段時間內最久沒有使用過的頁面先淘汰。
(5)理想型淘汰算法OPT(optimalreplacementalgorithm)。該算法淘汰在訪問串中將來再也不出現的或是在離當前最遠的位置上出現的頁面。15.段式管理可以實現虛存嗎?如果可以,簡述實現方法。
答:段式管理可以實現虛存。
段式管理把程序按照內容或過程(函數)關系分成段,每段擁有自己的名字。一個用戶作業或進程所包含的段對應于—個二維線性虛擬空間(段號s與段內相對地址w),也就是一個二維虛擬存儲器。段式管理以段為單位分配內存,然后通過地址映射機構把段式虛擬地址轉換成實際的內存物理地址。只把那些經常訪問的段駐留內存,而把那些在將來一段時間內不被訪問的段放入外存,待需要時產生缺段中斷,自動調入。
18.段頁式管理的主要缺點是什么?有什么改進辦法? 答:段頁式管理的主要缺點是對內存中指令或數據進行存取時,至少需要對內存進行三次以上的訪問。第一次是由段表地址寄存器取段表始址后訪問段表,由此取出對應段的頁表在內存中的地址。第二次則是訪問頁表得到所要訪問的指令或數據的物理地址。只有在訪問了段表和頁表之后,第三次才能訪問真正需要訪問的物理單元。顯然。這將大大降低CPU執行指令的速度。改進辦法是設置快速聯想寄存器。在快速聯想寄存器中.存放當前最常用的段號s,頁號p和對應的內存頁面地址與其他控制項。當需要訪問內存空間某一單元時,可在通過段表、頁表進行內存地址查找的同時,根據快速聯想寄存器查找其段號和頁號。如果所要訪問的段或頁的地址在快速聯想寄存器中,則系統不再訪問內存中的段表、頁表而直接把快速聯想寄存器中的值與頁內相對地址d拼接起來得到內存地址。
19.什么是局部性原理?什么是抖動?你有什么辦法減少系統的抖動現象? 答:局部性原理是指在幾乎所有程序的執行過程中,在一段時間內,CPU總是集中地訪問程序中的某—個部分而不是對程序的所有部分具有平均的訪問概率。抖動是指當給進程分配的內存小于所要求的工作區時,由于內存外存之間交換頻繁,訪問外存的時間和輸入輸出處理時間大大增加,反而造成CPU因等待數據而空轉,使得整個系統性能大大下降。在物理系統中,為防止抖動的產生,在進行淘汰或替換時,—般總是把缺頁進程鎖住,不讓其換出,從而防止抖動發生。防止抖動發生的另一個辦法是設置較大的內存工作區。
第八章 文件系統
1.什么是文件、文件系統?文件系統有哪些功能?
答:在計算機系統中,文件被解釋為一組賦名的相關字符流的集合,或者是相關記錄的集合。
文件系統是操作系統中與管理文件有關的軟件和數據。
文件系統的功能是用戶建立文件,撤銷、讀寫修改和復制文件,以及完成對文件的按名存取和進行存取控制。
2.文件系統一般按什么分類?可以分為哪幾類?
答:文件系統一般按性質、用途、組織形式、文件中的信息流向或文件的保護級別等分類。
按文件的性質與用途可以分為系統文件、庫文件和用戶文件。按文件的組織形式可以分為普通文件、目錄文件和特殊文件。按文件中的信息流向可以分為輸入文件、輸出文件和輸入/輸出文件。按文件的保護級別可以分為只讀文件、讀寫文件、可執行文件和不保護文件。3.什么是文件的邏輯結構?什么是記錄?
答:文件的邏輯結構就是用戶可見的結構,可分為字符流式的無結構文件和記錄式的有結構文件兩大類。
記錄是一個具有特定意義的信息單位,它由該記錄在文件中的邏輯地址(相對地址)與記錄名所對應的一組關鍵字、屬性及其屬性值所組成。
7.文件的物理結構有哪幾種?為什么說串聯文件結構不適于隨機存取?
答:文件的物理結構是指文件在存儲設備上的存放方法。常用的文件物理結構有連續文件、串聯文件和索引文件3種。串聯文件結構用非連續的物理塊來存放文件信息,這些非連續的物理塊之間沒有順序關系,鏈接成一個串聯隊列,搜索時只能按隊列中的串聯指針順序搜索,存取方法應該是順序存取的。否則,為了讀取某個信息塊而造成的磁頭大幅度移動將花去較多的時間。因此,串聯文件結構不適于隨機存取 11.什么是文件目錄?文件目錄中包含哪些信息?
答:一個文件的文件名和對該文件實施控制管理的說明信息稱為該文件的說明信息,又稱為該文件的目錄。
文件目錄中包含文件名、與文件名相對應的文件內部標識以及文件信息在文件存儲設備上第一個物理塊的地址等信息。另外還可能包含關于文件邏輯結構、物理結構、存取控制和管理等信息。第九章 外部設備管理
1.設備管理的目標和功能是什么? 答:設備管理的目標是:選擇和分配輸入/輸出設備以便進行數據傳輸操作;控制輸入/輸出設備和CPU(或內存)之間交換數據,為用戶提供一個友好的透明接口,提高設備和設備之間、CPU和設備之間,以及進程和進程之間的并行操作,以使操作系統獲得最佳效率。設備管理的功能是:提供和進程管理系統的接口;進行設備分配;實現設備和設備、設備和CPU等之間的并行操作;進行緩沖區管理。
4. 什么是中斷?什么叫中斷處理?什么叫中斷響應?
答: 中斷是指計算機在執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得CPU暫時中斷當前正在執行的程序而轉去執行相應的事件處理程序,待處理 完畢后又返回原來被中斷處繼續執行的過程。CPU轉去執行相應的事件處理程序的過程稱為中斷處理。CPU收到中斷請求后轉到相應的事件處理程序稱為中斷響 應。
5.什么叫關中斷?什么叫開中斷?什么叫中斷屏蔽?
答:把CPU內部的處理機狀態字PSW的中斷允許位清除從而不允許CPU響應中斷叫做關中斷。設置CPU內部的處理機狀態字PSW的中斷允許位從而允許CPU響應中斷叫做開中斷。
中斷屏蔽是指在中斷請求產生之后,系統用軟件方式有選擇地封鎖部分中斷而允許其余部分的中斷仍能得到響應。
6.什么是陷阱?什么是軟中斷?試述中斷、陷阱和軟中斷之間異同。
答:陷阱指處理機和內存內部產生的中斷,它包括程序運算引起的各種錯誤,如地址非法、校驗錯、頁面失效。存取訪問控制錯、從用戶態到核心態的切換等都是陷阱的例子。軟中斷是通信進程之間用來模擬硬中斷的一種信號通信方式。
7.描述中斷控制方式時的CPU動作過程。答:(1)首先,CPU檢查響應中斷的條件是否滿足。如果中斷響應條件不滿足,則中斷處理無法進行。
(2)如果CPU響應中斷,則CPU關中斷。(3)保存被中斷進程現場。(4)分析中斷原因,調用中斷處理子程序。(5)執行中斷處理子程序。(6)退出中斷,恢復被中斷進程的現場或調度新進程占據處理機。(7)開中斷,CPU繼續執行。8.什么是緩沖?為什么要引入緩沖? 答:緩沖即是使用專用硬件緩沖器或在內存中劃出一個區域用來暫時存放輸入輸出數據的器件。引入緩沖是為了匹配外設和CPU之間的處理速度,減少中斷次數和CPU的中斷處理時間,同時解決DMA或通道方式時的數據傳輸瓶頸問題。