操作系統習題解答_第1頁
操作系統習題解答_第2頁
操作系統習題解答_第3頁
操作系統習題解答_第4頁
操作系統習題解答_第5頁
免費預覽已結束,剩余14頁可下載查看

下載本文檔

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

文檔簡介

1、第一章1什么是操作系統的基本功能 ?答:操作系統的職能是管理和控制計算機系統中的所有硬、 軟件資源, 合理 地組織計算機工作流程, 并為用戶提供一個良好的工作環(huán)境和友好的接口。 操作 系統的基本功能包括:處理機管理、存儲管理、設備管理、信息管理 ( 文件系統 管理) 和用戶接口等。2什么是批處理、分時和實時系統 ?各有什么特征 ?答:批處理系統 (batch processingsystem) :操作員把用戶提交的作業(yè)分類, 把一批作業(yè)編成一個作業(yè)執(zhí)行序列,由專門編制的監(jiān)督程序 (monitor) 自動依次 處理。其主要特征是:用戶脫機使用計算機、成批處理、多道程序運行。分時系統 (time

2、sharing operation system):把處理機的運行時間分成很短的時間片,按時間片輪轉的方式, 把處理機分配給各進程使用。 其主要特征是: 交互性、多用戶同時性、獨立性。實時系統 (real time system) :在被控對象允許時間范圍內作出響應。其主 要特征是:對實時信息分析處理速度要比進入系統快、 要求安全可靠、 資源利用 率低。3 多道程序設計和多重處理有何區(qū)別 ?答;多道程序 (multiprogramming) 是作業(yè)之間自動調度執(zhí)行、 共享系統資源, 并不是真正地同時執(zhí)行多個作業(yè);而多重處理 (multiprocessing) 系統配置多個 CPU能真正同時執(zhí)行

3、多道程序。要有效使用多重處理,必須采用多道程序設計 技術,而多道程序設計原則上不一定要求多重處理系統的支持。4 討論操作系統可以從哪些角度出發(fā),如何把它們統一起來?答;討論操作系統可以從以下角度出發(fā):( 1)操作系統是計算機資源的管 理者;(2)操作系統為用戶提供使用計算機及界面; (3)用進程管理觀點研究 操作系統,即圍繞進程運行過程來討論操作系統。上述這些觀點彼此并不矛盾, 分別代表了從不同角度對同一事物 (操作系統) 的觀點。每種觀點都有助于理解、分析和設計操作系統。6 設計計算機操作系統與哪些硬件器件有關? 答;計算機操作系統的重要功能之一是對硬件資源的管理。 因此設計計算機操作 系統

4、時應考慮下述計算機硬件資源:(1)CPU與指令的長度與執(zhí)行方式;(2) 內存、緩存和高速緩存等存儲裝置;( 3)各類寄存器,包括各種通用寄存器、 控制寄存器和狀態(tài)寄存器; ( 4)中斷機構;( 5)外部設備與 I/O 控制裝置;( 6) 內部總線與外部總線;( 7)對硬件進行操作的指令集。第二章1. 什么是作業(yè) ? 作業(yè)步 ?答:把在一次應用業(yè)務處理過程中, 從輸入開始到輸出結束, 用戶要求計算 機所做的有關該次業(yè)務處理的全部工作稱為一個作業(yè)。 作業(yè)由不同的順序相連的 作業(yè)步組成。作業(yè)步是在一個作業(yè)的處理過程中, 計算機所做的相對獨立的工作。 如,編輯輸入是一個作業(yè)步,它產生源程序文件;編譯也

5、是一個作業(yè)步,它產生 目標代碼文件。2. 作業(yè)由哪幾部分組成 ? 各有什么功能 ? 答:作業(yè)由三部分組成:程序、數據和作業(yè)說明書。程序和數據完成用戶所 要求的業(yè)務處理工作,作業(yè)說明書則體現用戶的控制意圖。3作業(yè)的輸入方式有哪幾種 ?各有何特點答:作業(yè)的輸入方式有 5 種:聯機輸入方式、脫機輸入方式、直接耦合方式、 SPOOLING(Simultaneous Peripheral Operations Online) 系統和網絡輸入方式, 各有如下特點:(1) 聯機輸入方式:用戶和系統通過交互式會話來輸入作業(yè)。(2) 脫機輸入方式: 又稱預輸入方式, 利用低檔個人計算機作為外圍處理機 進行輸入處

6、理, 存儲在后備存儲器上, 然后將此后援存儲器連接到高速外圍設備 上和主機相連,從而在較短的時間內完成作業(yè)的輸入工作。(3) 直接耦合方式:把主機和外圍低檔機通過一個公用的大容量外存直接耦 合起來,從而省去了在脫機輸入中那種依靠人工干預來傳遞后援存儲器的過程。SPOOLING系統:可譯為外圍設備同時聯機操作。在 SPOOLING!統中, 多臺外圍設備通過通道或DMA器件和主機與外存連接起來,作業(yè)的輸入輸出過程 由主機中的操作系統控制。(5) 網絡輸入方式: 網絡輸入方式以上述幾種輸入方式為基礎, 當用戶需要 把在計算機網絡中某一臺主機上輸入的信息傳送到同一網中另一臺主機上進行 操作或執(zhí)行時,就

7、構成了網絡輸入方式。4. 試述SPOOLIN系統的工作原理。答:在SPOOLIN系統中,多臺外圍設備通過通道或 DMA器件和主機與外存 連接起來, 作業(yè)的輸入輸出過程由主機中的操作系統控制。 操作系統中的輸入程 序包含兩個獨立的過程, 一個過程負責從外部設備把信息讀入緩沖區(qū), 另一個過 程是寫過程,負責把緩沖區(qū)中的信息送入到外存輸入井中。在系統輸入模塊收到作業(yè)輸入請求后, 輸入管理模塊中的讀過程負責將信息 從輸入裝置讀入緩沖區(qū)。 當緩沖區(qū)滿時, 由寫過程將信息從緩沖區(qū)寫到外存輸入 井中。讀過程和寫過程反復循環(huán), 直到一個作業(yè)輸入完畢。 當讀過程讀到一個硬 件結束標志后,系統再次驅動寫過程把最后

8、一批信息寫入外存并調用中斷處理程 序結束該次輸入。然后,系統為該作業(yè)建立作業(yè)控制塊JCB從而使輸入井中的作業(yè)進入作業(yè)等待隊列,等待作業(yè)調度程序選中后進入內存。5. 操作系統為用戶提供哪些接口 ?它們的區(qū)別是什么 ?答:操作系統為用戶提供兩個接口, 一個是系統為用戶提供的各種命令接口, 用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計算機系統。 另一個接口 是系統調用, 編程人員使用系統調用來請求操作系統提供服務, 例如申請和釋放 外設等類資源、控制程序的執(zhí)行速度等。6. 作業(yè)控制方式有哪幾種 ?調查你周圍的計算機的作業(yè)控制方式 答:作業(yè)控制的主要方式有兩種:脫機方式和聯機方式。脫機控制方式利

9、用作業(yè)控制語言來編寫表示用戶控制意圖的作業(yè)控制程序, 也就是作業(yè)說明書。 作業(yè)控制語言的語句就是作業(yè)控制命令。 不同的批處理系統 提供不同的作業(yè)控制語言。聯機控制方式不同于脫機控制方式,它不要求用戶填寫作業(yè)說明書,系統 只為用戶提供一組鍵盤或其他操作方式的命令。 用戶使用操作系統提供的操作命 令和系統會話,交互地控制程序執(zhí)行和管理計算機系統。7什么是系統調用 ?系統調用與一般用戶程序有什么區(qū)別 ?與庫函數和實用程序 又有什么區(qū)別 ?答:系統調用是操作系統提供給編程人員的唯一接口。 編程人員利用系統調 用,在源程序一級動態(tài)請求和釋放系統資源, 調用系統中已有的系統功能來完成 那些與機器硬件部分相

10、關的工作以及控制程序的執(zhí)行速度等。 因此,系統調用像 一個黑箱子那樣,對用戶屏蔽了操作系統的具體動作而只提供有關的功能。系統調用與一般用戶程序、 庫函數和實用程序的區(qū)別是: 系統調用程序是在 核心態(tài)執(zhí)行,調用它們需要一個類似于硬件中斷處理的中斷處理機制來提供系統 服務。8簡述系統調用的實現過程。答:用戶在程序中使用系統調用, 給出系統調用名和函數后, 即產生一條相 應的陷入指令, 通過陷入處理機制調用服務, 引起處理機中斷, 然后保護處理機 現場,取系統調用功能號并尋找子程序入口, 通過入口地址表來調用系統子程序, 然后返回用戶程序繼續(xù)執(zhí)行。9為什么說分時系統沒有作業(yè)的概念? 答:因為咋分時系

11、統中, 每個用戶得到的時間片有限, 用戶的程序和數據信 息直接輸入到內存工作區(qū)中和其它程序一起搶占系統資源投入執(zhí)行, 而不必進入 外存輸入井等待作業(yè)調度程序選擇。 因此,分時系統沒有作業(yè)控制表, 也沒有作 業(yè)調度程序。第三章 1有人說,一個進程是由偽處理機執(zhí)行的一個程序,這話對嗎?為什么? 答:對。因為偽處理機的概念只有在執(zhí)行時才存在, 它表示多個進程在單處 理機上并發(fā)執(zhí)行的一個調度單位。 因此,盡管進程是動態(tài)概念, 是程序的執(zhí)行過 程,但是,在多個進程并發(fā)執(zhí)行時,仍然只有一個進程占據處理機執(zhí)行,而其它 并發(fā)進程則處于就緒或等待狀態(tài)。這些并發(fā)進程就相當于由偽處理機執(zhí)行的程 序。2試比較進程和程

12、序的區(qū)別。答:(1) 進程是一個動態(tài)概念, 而程序是一個靜態(tài)概念, 程序是指令的有序 集合,無執(zhí)行含義,進程則強調執(zhí)行的過程。(2) 進程具有并行特征 (獨立性,異步性 ) ,程序則沒有。(3) 不同的進程可以包含同一個程序, 同一程序在執(zhí)行中也可以產生多個進 程。4試比較作業(yè)和進程的區(qū)別答:并非對所有的程序均成立。例如:begin local x x:=10 print(x)end上述程序中 x 是內部變量, 不可能被外部程序訪問, 因此這段程序的運行不 會受外界環(huán)境影響。4試比較作業(yè)和進程的區(qū)別。 答:一個進程是一個程序對某個數據集的執(zhí)行過程, 是分配資源的基本單位。 作業(yè)是用于需要計算機

13、完成某項任務, 而要求計算機所做工作的集合。 一個作業(yè) 的完成要經過作業(yè)提交, 作業(yè)收容、作業(yè)執(zhí)行和作業(yè)完成 4 個階段。而進程是已 提交完畢的程序所執(zhí)行過程的描述, 是資源分配的基本單位。 其主要區(qū)別關系如 下:(1) 作業(yè)是用戶向計算機提交任務的任務實體。 在用戶向計算機提交作業(yè)之 后,系統將存儲在外存中的作業(yè)等待隊列中等待執(zhí)行。 而進程則是完成用戶任務 的執(zhí)行實體,是向系統申請分配資源的基本單位。任一進程,只要它被創(chuàng)建,總 有相應的部分存在于內存中。(2) 一個作業(yè)可由多個進程組成。 且必須至少由一個進程組成, 但反過來不 成立。(3) 作業(yè)的概念主要用在批處理系統中。像 Unix 這樣

14、的分時系統中,則沒 有作業(yè)概念。而進程的概念則用在幾乎所有的多道程序系統中。6什么是臨界區(qū) ?試舉一臨界區(qū)的例子。 答:臨界區(qū)是指不允許多個并發(fā)進程交叉執(zhí)行的一段程序。 它是由于不同并 發(fā)進程的程序段共享公用數據或公用數據變量而引起的。 所以它又被稱為訪問公 用數據的那段程序。例如: getspace : begin local g g=stacttop top=top-1End release(ad) : Begin top=top+1stacktop= adEnd7并發(fā)進程間的制約有哪兩種 ?引起制約的原因是什么 ? 答:并發(fā)進程所受的制約有兩種:直接制約和間接制約。 直接制約是由并發(fā)進程

15、互相共享對方的私有資源所引起的。間接制約是由競爭共有資源而引起的8什么是進程間的互斥 ?什么是進程間同步 ?答:進程間的互斥是指: 一組并發(fā)進程中的一個或多個程序段, 因共享某一 公有資源而導致它們必須以一個不許交叉執(zhí)行的單位執(zhí)行, 即不允許兩個以上的 共享該資源的并發(fā)進程同時進入臨界區(qū)。進程間的同步是指:異步環(huán)境下的一組并發(fā)進程因直接制約互相發(fā)送消息而 進行互相合作、互相等待,使得各進程按一定的速度執(zhí)行的過程。9試比較 P,V 原語法和加鎖法實現進程間互斥的區(qū)別。答:互斥的加鎖實現是這樣的: 當某個進程進入臨界區(qū)之后, 它將鎖上臨界 區(qū),直到它退出臨界區(qū)時為止。 并發(fā)進程在申請進入臨界區(qū)時,

16、 首先測試該臨界 區(qū)是否是上鎖的, 如果該臨界區(qū)已被鎖住, 則該進程要等到該臨界區(qū)開鎖之后才 有可能獲得臨界區(qū)。加鎖法存在如下弊端:(1)循環(huán)測試鎖定位將損耗較多的 CPU計算時間;(2) 產生不公平現象。P,V原語法采用信號量管理相應臨界區(qū)的公有資源,信號量的數值僅能由P,V原語操作改變,而P,V原語執(zhí)行期間不允許中斷發(fā)生。其過程是這樣的:當 某個進程正在臨界區(qū)內執(zhí)行時,其他進程如果執(zhí)行了P原語,則該進程并不像lock 時那樣因進不了臨界區(qū)而返回到 lock 的起點,等以后重新執(zhí)行測試,而是 在等待隊列中等待由其他進程做 V原語操作釋放資源后,進入臨界區(qū),這時P原語才算真正結束。若有多個進程

17、做 P原語操作而進入等待狀態(tài)之后,一旦有 V 原語釋放資源,則等待進程中的一個進入臨界區(qū),其余的繼續(xù)等待。總之,加鎖法是采用反復測試lock而實現互斥的,存在CPU良費和不公平 現像,P,V原語使用了信號量,克服了加鎖法的弊端。10 答:設第 I 塊緩沖區(qū)的公有信號量為 metexI ,保證生產者進程和消費者 進程對同一塊緩沖區(qū)操作的互斥,初值為 1;設信號量 avail 為生產者進程的私有信號量,初值為 m; 設信號量 full 為消費者進程的私有信號量,初值為 0。用信號量和P、V操作描述發(fā)送過程deposit(data)和接收過程remove(data)如下:deposit(data)

18、:beginP(avail)選擇一個空緩沖區(qū) iP(mutexi)送數據入緩沖區(qū) iV(mutexi) V(full)Endremove(data) :beginP(full)選擇一個滿緩沖區(qū) iP(mutexi)取緩沖區(qū) i 中的數據V(mutexi)V(avail)End12答:定義數組 buf0,buf1 。設 bufempty0,buffull1是 Pa 的公有信號量 ;設 bufempty1,buffull0是 Pb 的公有信號量 ;初值為:bufempty0= bufempty1=nbuffull0= buffull1=0用信號量和P、V操作描述發(fā)送過程send(i,m)和接收過程

19、receive(i,m) 如下:send (i,m):beginlocal xP(bufemptyi)按 FIFO 選擇一個空緩沖區(qū) bufi(x)bufi(x)=mbufi(x)置滿標記V(buffulli)Endreceive(i,m) :beginlocal xP(buffulli)按 FIFO 選擇一個滿緩沖區(qū) bufi(x)m=bufi(x)bufi(x)置空標記V(bufemptyi)EndPa調用 send(O,m)和 receive(1,m)Pb調用 send(1,m)和 receive(O,m)答:設信號量ci,初值為1; i=0,1,2,3,40 i表示第i號筷子。(1)

20、第 i 個哲學家要吃飯:eat(i) :beginP(ci)14 P(ci+1 mod 5)吃飯V(ci+1 mod 5) V(ci)End 該過程能保證兩個鄰座不同時吃飯, 但有可能出現每人只拿到一支筷子, 誰 也吃不上飯的情況。(1) 為解決上述情況,讓奇數號的哲學家先取右手邊的筷子,偶數號的哲 學家先取左手邊的筷子。 這樣只要有一個哲學家拿到了一支筷子, 就阻止了鄰座 的哲學家吃法的企圖,從而不會死鎖,除非某哲學家永遠吃下去。算法描述如下:eat(i) :beginif i mod 2 = 0 then P(ci) P(ci+1 mod 5) 吃飯 V(ci+1 mod 5) V(ci)

21、elseP(ci+1 mod 5)P(ci)吃飯V(ci) V(ci+1 mod 5) End另解:最多只允許 4 個哲學家同時要求進餐,這樣至少有一位哲學家能取到兩只筷子并可以進餐,進餐后釋放兩只筷子,其他哲學家可以陸續(xù)進餐。設哲學家進餐信號量sm=4;筷子信號量ci=1(i=0,1,2,3,4) eat(i) :beginP(sm)P(ci)P(ci+1 mod 5)吃飯V(ci+1 mod 5) V(ci)V(sm)End15什么是線程 ? 試述線程與進程的區(qū)別。答;線程是在進程內用于調度和占有處理機的基本單位,它由線程控制表、 存儲線程上下文的用戶棧以及核心棧組成。 線程可分為用戶級線

22、程、 核心級線程 以及用戶/核心混合型線程等類型。其中用戶級線程在用戶態(tài)下執(zhí)行,CPU調度算法和各線程優(yōu)先級都由用戶設置, 與操作系統內核無關。 核心級線程的調度算 法及線程優(yōu)先級的控制權在操作系統內核。 混合型線程的控制權則在用戶和操作 系統內核二者。線程與進程的主要區(qū)別有:(1) 進程是資源管理的基本單位, 它擁有自己的地址空間和各種資源, 例如 內存空間、外部設備等; 線程只是處理機調度的基本單位, 它只和其他線程一起 共享進程資源,但自己沒有任何資源。(2) 以進程為單位進行處理機切換和調度時, 由于涉及到資源轉移以及現場 保護等問題, 將導致處理機切換時間變長, 資源利用率降低。 以

23、線程為單位進行 處理機切換和調度時, 由于不發(fā)生資源變化, 特別是地址空間的變化, 處理機切 換的時間較短,從而處理機效率也較高。(3) 對用戶來說, 多線程可減少用戶的等待時間。 提高系統的響應速度。 例 如,當一個進程需要對兩個不同的服務器進行遠程過程凋用時, 對于無線程系統 的操作系統來說需要順序等待兩個不同調用返回結果后才能繼續(xù)執(zhí)行, 且在等待 中容易發(fā)生進程調度。 對于多線程系統而言, 則可以在同一進程中使用不同的線 程同時進行遠程過程調用,從而縮短進程的等待時間。(4) 線程和進程一樣,都有自己的狀態(tài)也有相應的同步機制,不過,由于 線程沒有單獨的數據和程序空間, 因此,線程不能像進

24、程的數據與程序那樣, 交 換到外存存儲空間。從而線程沒有掛起狀態(tài)。(5) 進程的調度、同步等控制大多由操作系統內核完成, 而線程的控制既可 以由操作系統內核進行,也可以由用戶控制進行。 思考題:讀者與寫者關系問題(讀者優(yōu)先)。答:設寫者互斥信號量 wm=1讀者計數器readcount=O;互斥操作readcount 的信號量 rm=1;reader()beginP(rm)Readcount:=readcount+1If readcount=1 then P(wm)V(rm)讀數據P(rm)Readcount:=readcount-1If readcount=O then V(wm)V(rm)e

25、ndwriter()beginP(wm)寫數據V(wm)end第四章1什么是分級調度 ?分時系統中有作業(yè)調度的概念嗎 ?如果沒有,為什么 ? P86 答:處理機調度問題實際上也是處理機的分配問題。 顯然只有那些參與競爭 處理及所必需的資源都已得到滿足的進程才能享有競爭處理機的資格。 這時它們 處于內存就緒狀態(tài)。這些必需的資源包括內存、外設及有關數據結構等。從而, 在進程有資格競爭處理機之前, 作業(yè)調度程序必須先調用存儲管理、 外設管理程 序,并按一定的選擇順序和策略從輸入井中選擇出幾個處于后備狀態(tài)的作業(yè), 為 它們分配資源和創(chuàng)建進程,使它們獲得競爭處理機的資格。另外,由于處于執(zhí)行狀態(tài)下的作業(yè)一

26、般包括多個進程, 而在單機系統中, 每 一時刻只能有一個進程占有處理機, 這樣,在外存中, 除了處于后備狀態(tài)的作業(yè) 外,還存在處于就緒狀態(tài)而等待得到內存的作業(yè)。 我們需要有一定的方法和策略 為這部分作業(yè)分配空間。因此處理機調度需要分級。一般來說,處理機調度可分為 4 級:(1)作業(yè)調度 : 又稱宏觀調度,或高級調度。(2)交換調度:又稱中級調度。其主要任務是按照給定的原則和策略,將 處于外存交換區(qū)中的就緒狀態(tài)或等待狀態(tài)的進程調入內存, 或處于內存就緒狀態(tài) 或等待狀態(tài)的進程交換到外存交換區(qū)。交換調度主要涉及到內存管理與擴充。(3)進程調度:又稱微觀調度或低級調度。其主要任務是按照某種策略和 方法

27、選取一個處于就緒狀態(tài)的進程占用處理機。在確立了占用處理機的進程之 后,系統必須進行進程上下文切換以建立與占用處理機進程相適應的執(zhí)行環(huán)境。(4)線程調度:進程中相關堆棧和控制表等的調度。2試述作業(yè)調度的主要功能。 P88答: 作業(yè)調度的主要功能是:(1)記錄系統中各作業(yè)的狀況。(2)按一定的原則對外存輸入井上的大量后備作業(yè)進行選擇。(3)給選出的作業(yè)分配內存、輸入輸出設備等必要的資源,并建立相應進 程,使該作業(yè)的相關進程獲得競爭處理機的權利。(4)當作業(yè)執(zhí)行完畢時,還負責回收系統資源。3作業(yè)調度的性能評價標準有哪些 ?這些性能評價標準在任何情況下都能反映調 度策略的優(yōu)劣嗎 ?答:調度的性能評價標

28、準:(1)對所有作業(yè)應該是公平合理的;(2)應使設備有高的利用率;(3)每天執(zhí)行盡可能多的作業(yè);(4)有快的響應時間。不能。對于批處理系統, 由于主要用于計算, 因而對于作業(yè)的周轉時間要求 較高。從而作業(yè)的平均周轉時間或平均帶權周轉時間被用來衡量調度程序的優(yōu) 劣。但對于分時系統來說, 平均響應時間又被用來衡量調度策略的優(yōu)劣。 對于分 時系統,除了要保證系統吞吐量大、 資源利用率高之外, 還應保證用戶能夠容忍 的響應時間。因此,在分時系統中, 僅僅用周轉時間或帶權周轉時間來衡量調度 性能是不夠的。對于實時系統,衡量調度算法優(yōu)劣的主要標志則是滿足用戶要求的時限時 間。4進程調度的功能有哪些 ? P

29、91 答:進程調度的功能有:(1) 記錄和保存系統中所有進程的執(zhí)行情況;(2) 選擇占有處理機的進程;(3) 進行進程上下文切換。5進程調度的時機有哪幾種 ? P92 答:進程調度的時機有:(1) 正在執(zhí)行的進程執(zhí)行完畢。 這時如果不選擇新的就緒進程執(zhí)行, 將浪費 處理機資源。(2) 執(zhí)行中進程自己調用阻塞原語將自己阻塞起來進入睡眠等待狀態(tài)。(3) 執(zhí)行中進程調用了 P 原語操作,從而因資源不足而被阻塞:或調用了 V 原語操作激活了等待資源的進程隊列。(4) 執(zhí)行中進程提出I /O請求后被阻塞。(5) 在分時系統中時間片已經用完。(6) 在執(zhí)行完系統調用等系統程序后返回用戶程序時,可看做系統進

30、程執(zhí)行 完畢,從而調度選擇一新的用戶進程執(zhí)行。(7) 在CPL執(zhí)行方式是可剝奪時,還有:就緒隊列中的某進程的優(yōu)先級變得 高于當前執(zhí)行進程的優(yōu)先級,從而也將引發(fā)進 程調度。6假設有 4 道作業(yè),它們的提交時間及執(zhí)行時間由下表給出:作業(yè)號提交時刻(時)執(zhí)行時間(小時)110:00 2210:20 1310:40410:50計算在單道程序環(huán)境下, 采用先來先服務調度算法和最短作業(yè)優(yōu)先調度算法 時的平均周轉時間和平均帶權周轉時間,并指出它們的調度順序。答: (1) 先來先服務調度:調度順序: 1 、2、3、41Ts1 : 10:00Te1: 12:00Tr1 : 2 Tw1: 02Ts2 : 10:2

31、0Te2 : 13:00Tr2: 1 Tw2:3Ts3 : 10:40Te3 : 13:30Tr3Tw3 :4Ts4 : 10:50Te4 : 13:50Tr4Tw4:T=*(2+3)=(h)W=*(4+0+1+=(2) 最短作業(yè)優(yōu)先調度 :調度順序: 4 、3、2、11Ts4: 10:50Te4:11:10Tr4: Tw4 : 02Ts3 : 10:40Te3:11:40Tr3:Tw3 :3Ts2 ; 10:20Te2:12:40Tr2: 1Tw2:4Ts1 : 10:00Te1: 14:40 Tr1: 2Tw1T :*+1+= (h)W: *(4+0+1+ 2)=以上是 4 個作業(yè)提交完后

32、的調度情況(提交過程中運行其它作業(yè))。如果邊 提交邊調度,又如何?第五章1存儲管理的主要功能是什么 ? P109 節(jié) 答:存儲管理的主要功能包括以下幾點:(1) 在硬件的支持下完成統一管理內存和外存之間數據和程序段自動交換的 虛擬存儲。(2) 將多個虛存的一維線性空間或多維線性空間變換到內存的唯一的一維物 理線性地址。(3) 控制內外存之間的數據傳輸。(4) 實現內存的分配和回收。(5) 實現內存信息的共享與保護。2 什么是虛擬存儲器 ?其特點是什么 ? P110 答:由進程中的目標代碼、 數據等的虛擬地址組成的虛擬空間稱為虛擬存儲 器。虛擬存儲器不考慮物理存儲器的大小和信息存放的實際位置,

33、只規(guī)定每個進 程中相互關聯信息的相對位置。 每個進程都擁有自己的虛擬存儲器, 且虛擬存儲 器的容量是由計算機的地址結構和尋址方式來確定。實現虛擬存儲器要求有相應的地址變換機構, 以便把指令的虛擬地址變換為 實際物理地址;另外,由于內存空間較小,進程只有部分內容存放于內存中,待 執(zhí)行時根據需要再調入內存。3實現地址重定位的方法有哪幾類 ? P111 答:實現地址重定位的方法有兩種:靜態(tài)地址重定位和動態(tài)地址重定位。(1) 靜態(tài)地址重定位是在虛空間程序執(zhí)行之前由裝配程序完成地址映射工 作。靜態(tài)重定位的優(yōu)點是不需要硬件支持, 但是用靜態(tài)地址重定位方法進行地址 變換無法實現虛擬存儲器。 靜 態(tài)重定位的另

34、一個缺點是必須占用連續(xù) 的內存空間和難以做到程序和數據的共享。(2) 動態(tài)地址重定位是在程序執(zhí)行過程中,在 CPU訪問內存之前由硬件地址 變換機構將要訪問的程序或數據地址轉換成內存地址。 動態(tài)地址重定位的主要優(yōu) 點有: 可以對內存進行非連續(xù)分配。 動態(tài)重定位提供了實現虛擬存儲器的基礎。 動態(tài)重定位有利于程序段的共享。4常用的內存信息保護方法有哪幾種 ?它們各自的特點是什么 ? P113 答:常用的內存保護方法有硬件法、軟件法和軟硬件結合保護法三種。上下界保護法是一種常用的硬件保護法。 上下界存儲保護技術要求為每個進 程設置對上下界寄存器。 上下界寄存器中裝有被保護程序和數據段的起始地址和 終止

35、地址。在程序執(zhí)行過程 中,在對內存進行訪問操作時首先進行訪問 地址合法性檢查, 即檢查經過重定位之后的內存地址是否在上、 下界寄存器所規(guī) 定的范圍之內。若在規(guī)定的范圍之內 , 則訪問是合法的;否則是非法的,并產生 訪問越界中斷。保護鍵法也是一種常用的軟件存儲保護法。 保護鍵法為每個被保護存儲塊 分配一個單獨的保護鍵。 在程序狀態(tài)字中則設置相應的保護鍵開關字段, 對不同 的進程賦予不同的開關代碼 以和被保護的存儲塊中的保護鍵匹配。保護 鍵可以設置成對讀寫同時保護的或只對讀寫進行單項保護的。 如果開關字段與保 護鍵匹配或存儲塊未受到保護, 則訪問該存儲塊是允許的, 否則將產生訪問出錯 中斷。另外一

36、種常用的硬軟件內存保護方式是: 界限存儲器與CPU勺用戶態(tài),核心 態(tài)相結合的保護方式。 在這種保護方式下, 用戶態(tài)進程只能訪問那些在界限寄存 器所規(guī)定范圍內的內存部分,而核心態(tài)進程則可以訪問整個內存地址空間。6動態(tài)分區(qū)式管理的常用內存分配算法有哪幾種 ?比較它們各自的優(yōu)缺點。 P118 答:動態(tài)分區(qū)式管理的常用內存分配算法有最先適應法 (FF) 、最佳適應法 (BF) 和最壞適應法 (WF)。優(yōu)缺點比較: 從搜索速度上看最先適應法最佳,最佳適應法和最壞適應法都要求把不 同大小的空閑區(qū)按大小進行排隊。 從回收過程來看,最先適應法也是最佳,因為最佳適應法和最壞適應法 都必須重新調整空閑區(qū)的位置。

37、最佳適應法找到的空閑區(qū)是最佳的,但是會造成內存碎片較多,影響了 內存利用率, 而最壞適應法的內存碎片最少, 但是對內存的請求較多的進程有可 能分配失敗??傊?,三種算法各有所長, 針對不同的請求隊列, 它們的效率和功能是不一 樣的。8簡述什么是覆蓋 ?什么是交換 ?覆蓋和交換的區(qū)別是什么 ? P121 答:將程序劃分為若干個功能上相對獨立的程序段,按照程序的邏輯結構讓 那些不會同時執(zhí)行的程序段共享同一塊內存區(qū)的內存擴充技術就是覆蓋。 交換是 指先將內存某部分的程序或數據寫入外存交換區(qū), 再從外存交換區(qū)中調入指定的 程序或數據到內存中來, 并讓其執(zhí)行的一種內存擴充技術。 與覆蓋技術相比, 交 換不

38、要求程序員給出程序段之間的覆蓋結構, 而且,交換主要是在進程或作業(yè)之 間進行,而覆蓋則主要在同一個作業(yè)或同一個進程內進行。 另外,覆蓋只能覆蓋 那些與覆蓋程序段無關的程序段。9什么是頁式管理 ?靜態(tài)頁式管理可以實現虛存嗎 ? P123 答:頁式管理就是把各進程的虛擬空間劃分為若干長度相等的頁,把指令按 頁面大小劃分后存放在內存中執(zhí)行或只在內存中存放那些經常被執(zhí)行或即將被 執(zhí)行的頁,而那些不被經常執(zhí)行以及在近期內不可能被執(zhí)行的頁則存放于外存 中,按一定規(guī)則調入的一種內存管理方式。靜態(tài)頁式管理不能實現虛存, 這是因為靜態(tài)頁式管理要求進程或作業(yè)在執(zhí)行前全部被裝入內存,作業(yè)或進程的大小仍受內存可用頁面

39、數的限制。10. 什么是請求頁式管理 ? P127 答:請求頁式管理是動態(tài)頁式內存管理的一種,它在作業(yè)或進程開始執(zhí)行 之前,不把作業(yè)或進程的程序段和數據段一次性的全部裝入內存, 而只裝入被認 為是經常反復執(zhí)行和調用的工作區(qū)部分。其他部分則在執(zhí)行過程中動態(tài)裝入。 請求頁式管理的調入方式是, 當需要執(zhí)行某條指令而又發(fā)現它不在內存時, 或當執(zhí)行某條指令需要訪問其他數據或指令時,而這些指令和數據又不在內存 中,從而發(fā)生缺頁中斷,系統將外存中相應的頁調入內存。11. 請求頁式管理中有哪幾種常用的頁面置換算法?試比較它們的優(yōu)缺點。 P129答:比較常用的頁面置換算法有:(1) 隨機淘汰算法 (random

40、glongram) 。即隨機地選擇某個用戶頁面并將其換 出。(2) 輪轉法 RR(roundrobin) 。輪轉法循回換出內存可用區(qū)內一個可以被換 出的頁,無論該頁是剛被換進或已經換進內存很長時間。(3) 先進先出法FIFO(firstinfirstout) 。FIFO算法選擇在內存駐留時間最 長的一頁將其淘汰。(4) 最近最久未使用頁面置換算法 LRU(1east recently unused) 。該算法 的基本思想是: 當需要淘汰某一頁時, 選擇離當前時間最近的一段時間內最久沒 有使用過的頁面先淘汰。該算法很難實現,比較常用的近似算法:最不經常使用頁面淘汰算法LFU、最近沒有使用頁面淘汰

41、算法 NUR。(5) 理想型淘汰算法 OPT(optimalreplacementalgorithm) 。該算法淘汰在 訪問串中將來再也不出現的或是在離當前最遠的位置上出現的頁面。12. 什么是 Belady 現象?找出一個 Belady 現象的例子。 P131答:使用FIFO算法時,在未給進程或作業(yè)分配足它所要求的頁面數時, 有時 會出現分配的頁面數增多, 缺頁次數反而增加的奇怪現象。 這種現象稱為 Belady 現象。假設進程P共有5個頁,訪問順序是:1,2,3,4,1,2,5,1,234,5的缺頁情況。分配 3 個頁面,缺頁 9 次:缺頁率 9/12=75%分配 4 個頁面,缺頁 10

42、次:缺頁率 10/12=%此例就出現分配的頁面數增多,缺頁次數反而增加的奇怪現象,即 Belady現象14. 什么是段式管理 ?它與頁式管理有何區(qū)別 ? P133 答:段式管理就是將程序按照內容或過程 ( 函數) 關系分成段,每段擁有自己 的名字。一個用戶作業(yè)或進程所包含的段對應于一個二維線性虛擬空間, 也就是 一個二維虛擬存儲器。 段式管理程序以段為單位分配內存, 然后通過地址映射機 構把段式虛擬地址轉換成實際的內存物理地址。 同頁式管理時一樣, 段式管理也 采用只把那些經常訪問的段駐留內存, 而把那些在將來一段時間內不被訪問的段 放入外存,待需要時自動調入相關段的方法實現二維虛擬存儲器。段

43、式管理和頁式管理的主要區(qū)別有:(1) 頁式管理中源程序進行編譯鏈接時是將主程序、 子程序、數據區(qū)等按照 線性空間的一維地址順序排列起來。 段式管理則是將程序按照內容或過程 (函數 ) 關系分成段, 每段擁有自己的名字。 一個用戶作業(yè)或進程所包含的段對應于一個 二維線性虛擬空間,也就是一個二維虛擬存儲器。(2) 同動態(tài)頁式管理一樣,段式管理也提供了內外存統一管理的虛存實現。 與頁式管理不同的是: 段式虛存每次交換的是一段有意義的信息, 而不是像頁式 虛存管理那樣只交換固定大小的頁, 從而需要多次的缺頁中斷才能把所需信息完 整地調入內存。(3) 在段式管理中, 段長可根據需要動態(tài)增長。 這對那些需

44、要不斷增加或改 變新數據或子程序的段來說,將是非常有好處的。(4) 段式管理便于對具有完整邏輯功能的信息段進行共享。(5) 段式管理便于進行動態(tài)鏈接,而頁式管理進行動態(tài)鏈接的過程非常復 雜。15. 段式管理可以實現虛存嗎 ?如果可以,簡述實現方法。 P133 答:段式管理可以實現虛存。段式管理把程序按照內容或過程 ( 函數)關系分成段,每段擁有自己的名字。 一個用戶作業(yè)或進程所包含的段對應于一個二維線性虛擬空間 (段號 s 與段內相 對地址w),也就是一個二維虛擬存儲器。段式管理以段為單位分配內存,然后 通過地址映射機構把段式虛擬地址轉換成實際的內存物理地址。 只把那些經常訪 問的段駐留內存,

45、 而把那些在將來一段時間內不被訪問的段放入外存, 待需要時 產生缺段中斷,自動調入。16. 為什么要提出段頁式管理 ?它與段式管理及頁式管理有何區(qū)別 ? P138 答:因為段式管理和頁式管理各有所長。 段式管理為用戶提供了一個二維的 虛擬地址空間, 反映了程序的邏輯結構, 有利于段的動態(tài)增長以及共享和內存保 護等,這極大地方便了用戶。 而分頁系統則有效地克服了碎片, 提高了存儲器的 利用效率。 從存儲管理的目的來講, 主要是方便用戶的程序設計和提高內存的利 用率。所以人們提出了將段式管理和頁式管理結合起來讓其互相取長補短的段頁 式管理。段頁式管理與段式和頁式管理相比,其訪問時間較長。因此,執(zhí)行

46、效率 低。17. 為什么說段頁式管理時的虛擬地址仍是二維的 ? 答:因為在段頁式內存管理中, 對每一段內的地址空間進行分頁式管理只是 為了克服在內存分配過程中產生的大量碎片, 從而提高存儲器的利用效率, 它并 沒有改變段內地址空間的一維結構, 所以段頁式內存管理中的虛擬地址仍然和段式內存管理中的虛擬地址一樣,是二維結構的18. 段頁式管理的主要缺點是什么 ?有什么改進辦法 ? 答:段頁式管理的主要缺點是對內存中指令或數據進行存取時,至少需要 對內存進行三次以上的訪問。第一次是由段表地址寄存器取段表始址后訪問段 表,由此取出對應段的頁表在內存中的地址。 第二次則是訪問頁表得到所要訪問 的指令或數

47、據的物理地址。 只有在訪問了段表和頁表之后, 第三次才能訪問真正 需要訪問的物理單元。顯然。這將大大降低 CPU執(zhí)行指令的速度。改進辦法是設置快速聯想寄存器。在快速聯想寄存器中存放當前最常用的段號s,頁號p和對應的內存頁面地址與其他控制項。當需要訪問內存空間某 一單元時, 可在通過段表、 頁表進行內存地址查找的同時, 根據快速聯想寄存器 查找其段號和頁號。 如果所要訪問的段或頁的地址在快速聯想寄存器中, 則系統 不再訪問內存中的段表、 頁表而直接把快速聯想寄存器中的值與頁內相對地址 d 拼接起來得到內存地址。19. 什么是局部性原理 ?什么是抖動 ?你有什么辦法減少系統的抖動現象 ? P140

48、 答:局部性原理是指在幾乎所有程序的執(zhí)行過程中,在一段時間內, CPU 總是集中地訪問程序中的某一個部分而不是對程序的所有部分具有平均的訪問 概率。抖動是指當給進程分配的內存小于所要求的工作區(qū)時,由于內存外存之間 交換頻繁,訪問外存的時間和輸入輸出處理時間大大增加, 反而造成CPU因等待 數據而空轉,使得整個系統性能大大下降。在物理系統中,為防止抖動的產生,在進行淘汰或替換時,一般總是把缺 頁進程鎖住, 不讓其換出, 從而防止抖動發(fā)生。 防止抖動發(fā)生的另一個辦法是設 置較大的內存工作區(qū)。第六章1簡述 Linux 系統進程的概念 ?答: P1482Linux 進程上下文由哪幾部分組成?為什么說核

49、心程序不是進程上下文上午 一部分?進程頁表也在核心區(qū),它們也不是進程上下文上午一部分嗎?答:進程上下文由 task_struct 結構、用戶棧和核心棧的內容、 用戶地址空 間的征文段、數據段、硬件寄存器的內容以及頁表等組成。核心頁表被所有進程共享, 所以不是進程上下文的一部分。 而進程頁表是進 程上下文的一部分。4Linux 的調度策略是什么 ? 調度時應該封鎖中斷嗎?如果不封鎖,會發(fā)生什 么問題?答:Linux使用三種調度策略,動態(tài)優(yōu)先數調度SCHED_OTHER來先服務調 度SCHED_FIF和輪轉法調度SCHED_R其中動態(tài)優(yōu)先級調度策略用于普通進程, 后兩種調度策略用于實時進程。在調度

50、時應封鎖中斷, 否則在調度過程中由于中斷會使進程上下文的切換出 現錯誤。6 Linux 在哪幾種情況下發(fā)生調度 ?答:兩種情況: 一是進程自動放棄處理機時主動裝入調度過程, 二是在由核 心態(tài)轉入用戶態(tài)時,系統設置了高優(yōu)先級就緒進程的強迫調度標識 need_resched 時發(fā)生調度。8什么是軟中斷 ?答: P16213Linux 存儲管理策略中交換和請求調頁方式有何區(qū)別 ?答: P171第八章1什么是文件、文件系統?文件系統有哪些功能? P198 答:在計算機系統中,文件被解釋為一組賦名的相關字符流的集合,或者 是相關紀錄的集合。文件系統是操作系統中與管理文件有關的軟件和數據。 文件系統的功能

51、是為用戶建立文件、撤銷、讀寫、修改和復制文件,以及 完成對文件的按名存取和進行存取控制。2、文件一般按什么分類?可以分為哪幾類? P199 答:文件一般按性質、用途、組織形式、文件中的信息流向或文件的保護 級別等分類。按性質和用途可分為系統文件、庫文件和用戶文件。 按文件的組織形式可分為普通文件、目錄文件和特殊文件。 按文件中的信息流向可分為輸入文件、輸出文件和輸入 / 輸出文件。 按文件的保護級別可分為只讀文件、 讀寫文件、 可執(zhí)行文件和不保護文件。3、什么是文件的邏輯結構?什么是紀錄? P200 答:文件的邏輯結構就是用戶可見的結構,可分為字符流式的 無結構文件和記錄式的有結構文件兩大類。

52、記錄是一個具有特定意義的信息單位, 他由該紀錄在文件中的邏輯地址 (相 對位置)與記錄名所對應的一組關鍵字、屬性及其屬性值所組成。7、文件的物理結構有哪幾種?為什么說串聯文件結構不適于隨機存?。?P205 答:文件的物理結構是指文件在存儲設備上的存取方法。常用的文件的物 理結構有連續(xù)文件、串聯文件和索引文件三種。串聯文件結構用非連續(xù)的物理塊來存取文件信息。這些非連續(xù)的物理塊之 間沒有順序關系, 鏈接成一個串聯隊列。 搜索時只能按隊列中的串聯指針順序搜 索,存取方法應該是順序存取的。 否則,為了讀取某個信息塊而造成的磁頭大幅 度移動將花去較多的時間。因此,串聯文件結構不適于隨機存取。9、常用的文

53、件存儲設備的管理方法有哪些?試述主要優(yōu)缺點。 P209 答:文件存儲設備的管理實質上是一個空閑塊的組織和管理問題。有 3 種 不同的空閑塊管理方法,即空閑文件目錄、空閑塊鏈和位示圖??臻e文件目錄管理方法就是把文件存儲設備中的空閑塊的塊號統一放在一 個稱為空閑文件目錄的物理塊中, 其中空閑文件目錄的每個表項對應一個由多個 空閑塊構成的空閑區(qū)。 該方法實現簡單, 適于連續(xù)文件結構的文件存儲區(qū)的分配 與回收。但是由于回收時不進行合并, 所以使用該方法容易產生大量的小塊空閑 區(qū)??臻e塊鏈法把文件存儲設備上的所有空閑塊鏈接在一起,從鏈頭分配空閑 塊,把回收的空閑塊插入到鏈尾。該方法不占用額外的空間,但實

54、現復雜。位示圖法是從內存中劃出若干字節(jié),每個比特位對應一個物理塊的使用情 況。如果該位為 0 表示對應的塊是空閑的,為 1 表示對應的物理塊已分配出去。 位示圖法在查找空閑塊時無需啟動外設,但要占用內存空間。11、什么是文件目錄?文件目錄中包含哪些信息? P211 答:一個文件的文件名和對該文件實施控制管理的說明信息成為該文件的 說明信息,又稱為該文件的文件控制塊(FCB)。把所有的FCB組織在一起,就構 成了文件目錄,即文件控制塊的有序集合。文件目錄中包含文件名、與文件名相對應的文件內部標識以及文件信息在 文件存儲設備上的第一個物理塊的地址等信息。 另外還可能包含關于文件的邏輯 結構、物理結

55、構、存取控制信息和管理等信息。13、文件存取控制方式有哪幾種?試比較它們各自的優(yōu)缺點。P216答:文件存取控制方式一般有存取控制矩陣、存取控制表、口令和密碼術4 種方式。 存取控制矩陣方式以一個二維矩陣來進行存取控制。而且矩陣的一維是所 有的用戶。另一維是所有的文件。 對應的矩陣元素則是用戶對文件的存取控制權。 存取控制矩陣的方法在概念上比較簡單, 但是當用戶和文件較多時, 存取控制矩 陣將變得非常龐大,從而時間和空間的開銷都很大。存取控制表以文件為單位,把用戶按某種關系劃分為若干組,同時規(guī)定每 組的存取限制。這樣所有用戶組對文件權限的集合就形成了該文件的存取控制 表。存取控制表方法占用空間較

56、小,搜索效率也較高,但要對用戶分組,引入了 額外的開銷??诹罘绞接袃煞N。一種是當用戶進入系統時,為建立終端進程時獲得系統 使用權的口令。 另一種方式是, 每個用戶在創(chuàng)建文件時, 為每個創(chuàng)建的文件設置 一個口令, 且將其置于文件說明中。 當任一用戶想使用該文件時, 都必須首先提 供口令??诹罘绞奖容^簡單,占用的內存單元以及驗證口令所費時間都非常少。 不過,相對來說,口令方式保密性能比較差。密碼術方式在用戶創(chuàng)建源文件并寫入存儲設備時對文件進行編碼加密,在 讀出文件時對文件進行譯碼解密。 加密方式具有保密性強的優(yōu)點。 但是,由于加 密解密工作要耗費大量的處理時間, 因此,加密技術是以犧牲系統開銷為代價的。第九章1. 設備管理的目標和功能是什么 ? 答:設備管理的目標是:(1) 選擇和分配輸入輸出設備以便進行數據傳輸操作;(2) 控制輸入/輸出設備和CPU或內存)之間交換數據;(3) 為用戶提供一個友好的透明接口 ;(4) 提高設備和設備之間、CPU和設備之間,以及進程和進程之間的并行操 作,以使操作系統獲得

溫馨提示

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

評論

0/150

提交評論