




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章操作系統(tǒng)引論2. OS 的作用可表現(xiàn)在哪幾個方面?答:(1)OS 作為用戶與計算機系統(tǒng)之間的接口(2) OS 作為計算機系統(tǒng)資源的管理者(3) OS 實現(xiàn)了對計算機資源的抽象3為什么說 OS 實現(xiàn)了對計算機資源的抽象?答:OS 首先在裸機上覆蓋一層 I/O 設備管理軟件,實現(xiàn)了對計算機硬件操作的第一層次抽象;在第一層軟件上再覆蓋文件管理軟件,實現(xiàn)了對硬件資源操作的第二層次抽象。OS 通過在計算機硬件上安裝多層系統(tǒng)軟件,增強了系統(tǒng)功能,隱藏了對硬件操作的細節(jié),由它們共同實現(xiàn)了對計算機資源的抽象。4 試說明推動多道批處理系統(tǒng)形成和發(fā)展的主要動力是什么。答:主要動力來源于四個方面的社會需求與技
2、術發(fā)展:(1)不斷提高計算機資源的利用率;(2)方便用戶;(3 )器件的不斷更新?lián)Q代;(4 )計算機體系結構的不斷發(fā)展。6試說明推動分時系統(tǒng)形成和發(fā)展的主要動力是什么。答:推動分時系統(tǒng)形成和發(fā)展的主要動力是更好地滿足用戶的需要。主要表現(xiàn)在:CPU 的分時使用縮短了作業(yè)的平均周轉時間;人機交互能力使用戶能直接控制自己的作業(yè);主機的共享使多用戶能同時使用同一臺計算機,獨立地處理自己的作業(yè)。11.試列出 Windows OS 中五個主要版本,并說明它們分別較之前一個版本有何改進。 答:(1) Microsoft Windows 1.0 是微軟公司在個人電腦上開發(fā)圖形界面的首次嘗試。(2)Window
3、s 95 是混合的 16 位/32 位系統(tǒng),第一個支持 32 位。帶來了更強大、更穩(wěn)定、更實用的桌面圖形用戶界面,結束了桌面操作系統(tǒng)間的競爭。(3) Windows 98 是微軟公司的混合 16 位/32 位 Windows 操作系統(tǒng),改良了硬件標準 的支持,革新了內存管理,是多進程操作系統(tǒng)。(4)Windows XP 是基于 Windows 2000 的產品,擁有新用戶圖形界面月神Luna。簡化 了用戶安全特性,整合了防火墻。(5)Windows Vista 包含了上百種新功能;特別是新版圖形用戶界面和Windows Aero 全新界面風格、加強的搜尋功能( Windows Indexing
4、 Service )、新媒體創(chuàng)作工具以及重 新設 計的網絡、音頻、輸出(打印)和顯示子系統(tǒng)。12試從交互性、及時性以及可靠性方面,將分時系統(tǒng)與實時系統(tǒng)進行比較。答:(1 )及時性:實時信息處理系統(tǒng)對實時性的要求與分時系統(tǒng)類似,都是以人所能接受的 等待時間來確定;而實時控制系統(tǒng)的及時性,是以控制對象所要求的開始截止時間或完成截 止時間來確定的,一般為秒級到毫秒級,甚至有的要低于100 微妙。(2) 交互性:實時信息處理系統(tǒng)具有交互性,但人與系統(tǒng)的交互僅限于訪問系統(tǒng)中某些特 定的專用服務程序。 不像分時系統(tǒng)那樣能向終端用戶提供數(shù)據(jù)和資源共享等服務。(3) 可靠性:分時系統(tǒng)也要求系統(tǒng)可靠,但相比之下
5、,實時系統(tǒng)則要求系統(tǒng)具有高度的可 靠性。因為任何差錯都可能帶來巨大的經濟損失,甚至是災難性后果,所以在實時系統(tǒng)中,往往都采取了多級容錯措施保障系統(tǒng)的安全性及數(shù)據(jù)的安全性。18什么原因使操作系統(tǒng)具有異步性特征?(1) 程序執(zhí)行結果是不確定的,即程序是不可再現(xiàn)的(2) 每個程序在何時執(zhí)行,多個程序間的執(zhí)行順序以及完成每道程序所需的時間都是不確 定的,即不可預知性23何謂微內核技術?在微內核中通常提供了哪些功能?答: 把操作系統(tǒng)中更多的成分和功能放到更高的層次(即用戶模式)中去運行,而留下一個 盡量小的內核,用它來完成操作系統(tǒng)最基本的核心功能,稱這種技術為微內核技術。在微內核中通常提供了進程(線程)
6、管理、低級存儲器管理、中斷和陷入處理等功能。第二章進程管理2.試畫出下面四條語句的前趨圖:S1 : a: =x+y; S2 : b: =z+1; S3 : c: =a b ; S4 : w: =c+1;4.程序并發(fā)執(zhí)行時為什么會失去封閉性和可再現(xiàn)性?答:程序并發(fā)執(zhí)行時,多個程序共享系統(tǒng)中的各種資源,因而這些資源的狀態(tài)由多個程序改變,致使程序運行失去了封閉性,也會導致其失去可再現(xiàn)性。5在操作系統(tǒng)中為什么要引入進程概念?它會產生什么樣的影響?答:為了使程序在多道程序環(huán)境下能并發(fā)執(zhí)行,并能對并發(fā)執(zhí)行的程序加以控制和描述,而引入了進程概念影響:使程序的并發(fā)執(zhí)行得以實行6.試從動態(tài)性,并發(fā)性和獨立性上比
7、較進程和程序。答:(1)動態(tài)性是進程最基本的特性,表現(xiàn)為由創(chuàng)建而產生,由調度而執(zhí)行,因得不到資源而暫停執(zhí)行,由撤銷而消亡。進程有一定的生命期,而程序只是一組有序的指令集合,是靜態(tài)實體(2) 并發(fā)性是進程的重要特征, 同時也是 OS 的重要特征。引入進程的目的正是為了使其程序能和其它進程的程序并發(fā)執(zhí)行,而程序是不能并發(fā)執(zhí)行的。(3) 獨立性是指進程實體是一個能獨立運行的基本單位,也是系統(tǒng)中獨立獲得資源和獨立調 度的基本單位。對于未建立任何進程的程序,不能作為獨立單位參加運行。7試說明 PCB 的作用,為什么說 PCB 是進程存在的惟一標志?答:PCB 是進程實體的一部分,是操作系統(tǒng)中最重要的記錄
8、型數(shù)據(jù)結構。作用是使一個在多道程序環(huán)境下不能獨立運行的程序,成為一個能獨立運行的基本單位,成為能與其它進程并發(fā)執(zhí)行的進程。OS 是根據(jù) PCB 對并發(fā)執(zhí)行的進程進行控制和管理的。&試說明進程在三個基本狀態(tài)之間轉換的典型原因。答:(1 )就緒狀態(tài)T執(zhí)行狀態(tài):進程分配到CPU 資源(2 )執(zhí)行狀態(tài)T就緒狀態(tài):時間片用完(3 )執(zhí)行狀態(tài)T阻塞狀態(tài):I/O 請求(4 )阻塞狀態(tài)T就緒狀態(tài):I/O 完成23.在生產者一消費者問題中,如果缺少了signal(full)戒signal(empty),對執(zhí)行結果有何影響?答:如果缺少 signal(full),那么表明從第一個生產者進程開始就沒有改變信
9、號量full 值,即使緩沖池產品已滿,但full 值還是 0,這樣消費者進程執(zhí)行 wait(full)時認為緩沖池是空而取不到產品,消費者進程一直處于等待狀態(tài)。如果缺少signal(empty),在生產者進程向n個緩沖區(qū)投滿產品后消費者進程才開始從中取產品,這時empty=0 ,full=n,那么每當消費者進程取走一個產品 empty 值并不改變,直到緩沖池取空了,empty值也是 0,即使目前緩 沖池有 n 個空緩沖區(qū),生產者進程要想再往緩沖池中投放產品也會因為申請不到空緩沖區(qū)被 阻塞。24.在生產者一消費者問題中,如果將兩個wait 操作即 wait(full)和wait(mutex)互換
10、位置, 或者將 signal(mutex)與 signal (full )互換位置,結果如何?答:將 wait(full)和 wait(mutex)互換位臵后,可能引起死鎖??紤]系統(tǒng)中緩沖區(qū)全滿時,若 一生產者進程先執(zhí)行了wait(mutex)操作并獲得成功,則當再執(zhí)行wait(empty)操作時,它將因失敗而進入阻塞狀態(tài),它期待消費者進程執(zhí)行sig nal(empty)來喚醒自己,在此之前,它不可能執(zhí)行 signal(mutex)操作,從而使試圖通過執(zhí)行 wait(mutex)操作而進入自己的臨界區(qū)的其 他生產者和所有消費者進程全部進入阻塞狀態(tài), 這樣容易引起系統(tǒng)死鎖。若sig nal(mu
11、tex)和 signal(full)互換位置后只是影響進程對臨界資源的釋放次序,而不會引起系統(tǒng)死鎖,因此 可以互換位置。25.我們在為某一臨界資源設置一把鎖W, 當 W=1 時表示關鎖, 當 W=0時表示鎖已打開。 試寫出開鎖和關鎖的原詫,并利用他們實現(xiàn)互斥。答:整型信號量:lock(W): while W=1 do no-opW:=1;un lock(W): W:=0;記錄型信號量:lock(W): W:=W+1;if(W1) then block(W, L)un lock(W): W:=W-1;if(W0) then wakeup(W, L)例子:Var W:semaphore:=0;be
12、gin repeat lock(W);critical secti onun lock(W);rema in der sect ionun til false;end26.試修改下面生產者-消費者問題解法中的錯誤:答: producer:begin repeatJproducer an item in n extp;wait(mutex);wait(full); /* 應為 wait(empty),而且還應該在 wait(mutex)的前面 */buffer(i n):=n extp;/* 緩沖池數(shù)組游標應前移:in:=(i n+1) mod n; */sig nal(mutex);/* si
13、g nal(full); */ un til false;endcon sumer: beginrepeatwait(mutex);wait(empty); /* 應為 wait(full),而且還應該在 wait(mutex)的前面 */n extc:=buffer(out);out:=out+1; /*考慮循環(huán),應改為:out:=(out+1) mod n; */sig nal(mutex);/* sig nal(empty); */con sumer item in n extc;un til false;end27.試利用記錄型信號量寫出一個不會出現(xiàn)死鎖的哲學家進餐問題的算法.。答:
14、Var chopstick:array0, , ,4 of semaphore;所有信號量均被初始化為1,第 i 位哲學家的活動可描述為:RepeatWait(chopsticki);Wait(. chopstick(i+1) mod 5);JEa.t ;JSig nal(chopsticki);Sig nal(chopstick(i+1) mod 5)Ea.t ;JThi nk;11Un til false;28在測量控制系統(tǒng)中的數(shù)據(jù)采集仸務,把所采集的數(shù)據(jù)送一單緩沖區(qū);計算任務從該單 緩沖區(qū)中取出數(shù)據(jù)進行計算。 試寫出利用信號量機制實現(xiàn)兩任務共享單緩沖區(qū)的同步算法。 答: a. Var m
15、utex, empty, full: semaphore:=1,1, 0;gather:beginrepeatJ Jgather data in n extp;wait(empty);wait(mutex);buffer:=n extp;sig nal(mutex);sig nal(full);un til false;endcompute:beginrepeat wait(full);wait(mutex);n extc:=buffer;sig nal(mutex);sig nal(empty);compute data in n extc;un til false;endb. Var em
16、pty, full: semaphore:=1,0;gather:beginrepeatJ Jgather data in n extp;wait(empty);buffer:=n extp;sig nal(full);un til false;endcompute:beginrepeatJ Jwait(full);n extc:=buffer;sig nal(empty);compute data in n extc;un til false;end30.如何利用管程來解決生產者一消費者問題?答:首先建立一個管程,命名為ProclucerCo nsumer,包括兩個過程:(1) Put( i
17、tem)過程。生產者利用該過程將自己生產的產品放到緩沖池,用整型變量 count 表示在緩沖池中已有的產品數(shù)目,當count n 時,表示緩沖池已滿,生產者須等待。(2)get (item)過程。消費者利用該過程從緩沖池中取出一個產品,當countw0 時,表示緩沖池中已無可取的產品,消費者應等待。PC 管程可描述如下:type producer-c on sumer =mon itorVar in,o ut,co un t: in teger;buffer:array0, , ,n-1of item;notfull , notempty:condition;procedure entry d
18、ot(item)beginif count=n the n not full.wait;buffer(i n):=n extp;in:=(i n+1)mod n;coun t:=co un t+1;if no tempty.queue the n no tempty.sig nal;endprocedure entry get(item)beginif coun t=0 the n not full.wait;n extc:=buffer(out);out:=(out+1)mod n;coun t:=co un t-1;if no tfull.que ne the n no tfull.sig
19、 nal;endbegi n in:=out:=0;coun t:=0end在利用管程解決生產者一消費者問題時,其中的生產者和消費者可描述為:producer: begi npepeatproduce an inem in n estpPC.put(item);un til false;endcon sumer: beg inrepeatPC.get(item);con sume the item in en xtc;un til false;end31 什么是 AND 信號量?試利用 AND 信號量寫出生產者一消費者問題的解法。 答:為解決并行帶來的死鎖問題,在 wait 操作中引入 AND
20、 條件,其基本思想是將進程在整個運行過程中所需要的所有臨界資源,一次性地全部分配給進程,用完后一次性釋放。解決生產者-消費者問題可描述如下:var mutex,empty,full: semaphore:=1, n,0;buffer: array0,., n-1 of item;in,o ut: in teger:=0,0;beginparbegi n14producer: begi nrepeat produce an item in n extp;wait(empty);wait(s1,s2,s3,.,sn); s1,s2,.,sn 為執(zhí)行生產者進程除 empty 外其余的條件wait(m
21、utex);buffer(i n):=n extp;in:=(i n+1) mod n;sig nal(mutex);sig nal(full);sig nal(s1,s2,s3,.,s n);un til false;endcon sumer: beg inrepeatwait(full);wait(k1,k2,k3,.,k n); k1,k2,.,k n為執(zhí)行消費者進程除 full 外其余的條件wait(mutex);n extc:=buffer(out);out:=(out+1) mod n;sig nal(mutex);sig nal(empty);sig nal(k1,k2,k3,.
22、,k n);con sume the item in n extc;un til false;endpare ndend32.什么是信號量集?試利用信號量集寫出讀者一寫者問題的解法。答:對 AND 信號量加以擴充,形成的信號量集合的讀寫機制。解法:Var RN in teger;L,mx: semaphore:=RN,1;beginparbegi nreader:begi nrepeatSwait(L,1,1);Swait(mx,1,1);Jperform read operati on;JSsig nal(L,1);un til falseendwriter:beg inrepeatSwai
23、t(mx,1,1;L,RN,0);perform write operati on;Ssig nal(mx,1);un til falseendpare ndend36 為什么要在 OS 中引入線程?答:在操作系統(tǒng)中引入線程,則是為了減少程序在并發(fā)執(zhí)行時所付出的時空開銷,使OS 具有更好的并發(fā)性,提高 CPU 的利用率。進程是分配資源的基本單位,而線程則是系統(tǒng)調度的基本單位。38 試從調度性,并發(fā)性,擁有資源及系統(tǒng)開銷方面對進程和線程進行比較。答:(1)調度性。線程在 OS 中作為調度和分派的基本單位,進程只作為資源擁有的基本單 位。(2)并發(fā)性。進程可以并發(fā)執(zhí)行,一個進程的多個線程也可并發(fā)執(zhí)
24、行。(3 )擁有資源。進程始終是擁有資源的基本單位,線程只擁有運行時必不可少的資源,本 身基本不擁有系統(tǒng)資源,但可以訪問隸屬進程的資源。(4 )系統(tǒng)開銷。操作系統(tǒng)在創(chuàng)建、撤消和切換進程時付出的開銷顯著大于線程第三章處理機調度與死鎖2. 何謂作業(yè)、作業(yè)步和作業(yè)流?答:作業(yè)包含通常的程序和數(shù)據(jù),還配有作業(yè)說明書。 系統(tǒng)根據(jù)該說明書對程序的運行進行控制。批處理系統(tǒng)中是以作業(yè)為基本單位從外存調入內存。作業(yè)步是指每個作業(yè)運行期間都必須經過若干個相對獨立相互關聯(lián)的順序加工的步驟。作業(yè)流是指若干個作業(yè)進入系統(tǒng)后依次存放在外存上形成的輸入作業(yè)流;在操作系統(tǒng)的控制下,逐個作業(yè)進程處理, 于是形成了處理作業(yè)流。3
25、.在什么情冴下需要使用作業(yè)控制塊JCB ?其中包含了哪些內容?答:每當作業(yè)進入系統(tǒng)時, 系統(tǒng)便為每個作業(yè)建立一個作業(yè)控制塊JCB,根據(jù)作業(yè)類型將它插入到相應的后備隊列中。JCB 包含的內容通常有:1)作業(yè)標識 2)用戶名稱 3)用戶賬戶 4)作業(yè)類型(CPU 繁忙型、I/O 芳名型、批量型、終端型)5) 作業(yè)狀態(tài) 6)調度信息(優(yōu)先級、作業(yè)已運行)7)資源要求 8)進入系統(tǒng)時間 9)開始處理時間 10)作業(yè)完成時間 11)作 業(yè)退出時間 12)資源使用情況等7 在選擇調度方式和調度算法時,應遵循的準則是什么?答:(1 )面向用戶的準則:周轉時間短、響應時間快、截止時間的保證、優(yōu)先權準則。(2)
26、面向系統(tǒng)的準則:系統(tǒng)吞吐量高、處理機利用率好、各類資源的平衡利用。&在批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)中,各采用哪幾種進程(作業(yè))調度算法? 答:批處理系統(tǒng)的調度算法:短作業(yè)優(yōu)先、優(yōu)先權、高響應比優(yōu)先、多級反饋隊列調度算法。 分時系統(tǒng)的調度算法:時間片輪轉法。實時系統(tǒng)的調度算法:最早截止時間優(yōu)先即EDF、最低松弛度優(yōu)先即 LLF 算法。9.何謂靜態(tài)和動態(tài)優(yōu)先級?確定靜態(tài)優(yōu)先級的依據(jù)是什么?答:靜態(tài)優(yōu)先級是指在創(chuàng)建進程時確定且在進程的整個運行期間保持不變的優(yōu)先級。動態(tài)優(yōu)先級是指在創(chuàng)建進程時賦予的優(yōu)先權,可以隨進程推進或隨其等待時間增加而改變的優(yōu)先級,可以獲得更好的調度性能。確定進程優(yōu)先級的
27、依據(jù):進程類型、進程對資源的需求和用戶要求。16什么是最早截止時間優(yōu)先調度算法?舉例說明。答:根據(jù)任務的開始截止時間確定的任務優(yōu)先級調度算法。截止時間越早則優(yōu)先級越高。該算法要求在系統(tǒng)中保持一個實時任務就緒隊列,該隊列按各任務截止時間的先后排序。舉例:非搶占式調度方式用于非周期實時任務。圖3-9 是將該算法用于非搶占調度方式之例。該例中具有四個非周期任務,它們先后到達。系統(tǒng)首先調度任務1 執(zhí)行,在任務 1 執(zhí)行期間,任務 2、3 又先后到達。由于任務 3 的開始截止時間早于任務 2,故系統(tǒng)在任務 1 后將調度 任務 3 執(zhí)行。在此期間又到達作業(yè) 4,其開始截止時間仍是早于任務 2 的,故在任務
28、 3 執(zhí)行 完后,系統(tǒng)又調度任務 4 執(zhí)行,最后才調度任務 2 執(zhí)行。1|34itt2 3417何謂死鎖?產生死鎖的原因和必要條件是什么?答:死鎖是指多個進程在運行過程中因爭奪資源而造成的一種僵局,當進程處于這種僵持狀態(tài)時,若無外力作用,它們都將無法再向前推進。產生死鎖的原因為競爭資源和進程間推進順序非法。其必要條件是:互斥條件、請求和保持條件、不剝奪條件、環(huán)路等待條件。19在解決死鎖問題的幾個方法中,哪種方法最易于實現(xiàn)?哪種方法使資源利用率最高?答:解決死鎖的四種方法即預防、避免、檢測和解除死鎖中,預防死鎖最容易實現(xiàn);避免死鎖使資源的利用率最高。21.在銀行家算法的例子中,如果P0 發(fā)出請求
29、向量由 Request(0,2,0)改為 Request(0,1,0),問系統(tǒng)可否將資源分配給它?(此答案有點問題,需重新考慮)答:(1)可以。銀行家算法各種資源數(shù)量分別為10、5、7,在 TO 時刻的資源分配如圖所示:情況MaxAllocationAvailahle進程ABCABcABcA E 3 CPo530107433 :3 2Pi3222001229023026002222110I143300243I(2 )具體分析如下:1Requst0(0,1,0)=Need0(7,4,3);2Requst0(0,1,0)=Available(2,3,0);系統(tǒng)先假定可為 P0 分配資源,并修改 A
30、vailableO , AllocationO 和 NeedO向量,由此形成的資源變化情況如下圖所示:(3)P0 請求資源:P0 發(fā)出請求向量 Requst0(0,1,0),系統(tǒng)按銀行家算法進行檢查:情況AllocationWedAvailflble講程ABC I ABcABCA8CPo1-f630I0743322PiQO 20012290 2302600p4Ad2I*01Ip*433004311Requst0(0,1,0)=Need0(7,4,3);2Requst0(0,1,0)=Available(2,3,0);3系統(tǒng)暫時先假定可為 P0 分配資源,并修改 _ 有關數(shù)據(jù),如下圖所示Work
31、 | Allocation | Work*AUocAtioii |ABCAB CABcABCFinishPoT22733020342Turep】342I22200542Tmepa542600302844TitrePl844011211055TiuePx10554310021057Ture綜上所述系統(tǒng)可以將資源分配給它22在銀行家算法中,若出現(xiàn)下述資源分配情況:ProcessAllocati onNeedAvailableP0003200121622P110001750P213542356P303320652P400140656試問:該狀態(tài)是否安全?若進程 P2 提出請求 Request。,2,
32、 2, 2)后,系統(tǒng)能否將資源分配給它?答:該狀態(tài)是安全的,因為存在一個安全序列 P0P3P4P1P2。下表為該時刻的安全序列表。、資源情進程WorkNeedAllocati onWork+Allocatio nFi nishP01 6 2 20 0 1 20 0 3 21 6 5 4trueP31 6 5 40 6 5 20 3 3 31 9 8 7trueP41 9 8 70 6 5 60 0 1 41 9 9 11trueP11 9 9 111 7 5 01 0 0 02 9 9 11trueP22 9 9 112 3 5 61 3 5 43 12 14 17true若進程 P2 提出請
33、求 Request 2,2,2)后,系統(tǒng)不能將資源分配給它,若分配給進程 P2, 系統(tǒng)還剩的資源情況為(0,4, 0,0),此時系統(tǒng)中的資源將無法滿足任何一個進程的資源 請求,從而導致系統(tǒng)進入不安全狀態(tài),容易引起死鎖的發(fā)生。第四章存儲器管理3.何為靜態(tài)鏈接?何謂裝入時動態(tài)鏈接和運行時動態(tài)鏈接?(1)靜態(tài)鏈接是指在程序運行之前,先將各自目標模塊及它們所需的庫函數(shù),鏈接成一個 完整的裝配模塊,以后不再拆開的鏈接方式。(2 )裝入時動態(tài)鏈接是指將用戶源程序編譯后所得到的一組目標模塊,在裝入內存時,采 用邊裝入邊鏈接的一種鏈接方式, 即在裝入一個目標模塊時,若發(fā)生一個外部模塊調用事件, 將引起裝入程序
34、去找相應的外部目標模塊,把它裝入內存中,并修改目標模塊中的相對地址。(3)運行時動態(tài)鏈接是將對某些模塊的鏈接推遲到程序執(zhí)行時才進行鏈接,也就是,在執(zhí) 行過程中當發(fā)現(xiàn)一個被調用模塊尚未裝入內存時,立即由 OS 去找到該模塊并將之裝入內存,把它鏈接到調用者模塊上。6.為什么要引入動態(tài)重定位?如何實現(xiàn)?答:在程序執(zhí)行過程中, 每當訪問指令或數(shù)據(jù)時, 將要訪問的程序或數(shù)據(jù)的邏輯地址轉換成 物理地址,引入了動態(tài)重定位; 具體實現(xiàn)方法是在系統(tǒng)中增加一個重定位寄存器,用裝入程序在內存中的起始地址, 程序執(zhí)行時,真正訪問的內存地址是相對地址與重定位寄存器中的 地址相加之和,從而實現(xiàn)動態(tài)重定位。&令 i
35、l 吃辺過表示大小為 、地址為 6 為什么要引入動態(tài)重定位?如何實現(xiàn)?x 的塊的伙伴系統(tǒng)地址,試寫出 二蠱,的通用表達式。答:當x MOD 2k+1=0時,budd* (x)=x+2kMOD 2k+1=2k時,buddyK(x)=x-2k12在以進程為單位進行對換時,每次是否將整個進程換出?為什么?在以進程為單位進行對換時,并非每次將整個進程換出。這是因為:(1) 從結構上講, 進程是由程序段、 數(shù)據(jù)段和進程控制塊組成的,其中進程控制塊總有部分或全部常駐內存,不被換出。(2) 程序段和數(shù)據(jù)段可能正被若干進程共享, 此時它們也不能被換出。17.分頁和分段有何區(qū)別?(1) 分頁和分段都采用離散分配
36、的方式,且都要通過地址映射機構來實現(xiàn)地址變換,這是它們的共同點;(2) 對于它們的不同點有三:第一,從功能上看,頁是信息的物理單位,分頁是為實現(xiàn)離散分配方式,以消減內存的外零頭,提高內存的利用率, 即滿足系統(tǒng)管理的需要, 而不是用戶的需要; 而段是信息的邏輯單 位,它含有一組其意義相對完整的信息,目的是為了能更好地滿足用戶的需要;第二,頁的大小固定且由系統(tǒng)確定,而段的長度卻不固定,決定于用戶所編寫的程序;第三,分頁的作業(yè)地址空間是一維的,而分段的作業(yè)地址空間是二維的。19.虛擬存儲器有哪些特征?其中最本質的特征是什么?特征:離散性、多次性、對換性、虛擬性;最本質的特征:離散性;最重要的特征:虛
37、擬性。26.在一個請求分頁系統(tǒng)中,采用FIFO 頁面置換算法時,假如一個作業(yè)的頁面走向為3.2、1、4、3、5、4、3、2、1、5,當分配給該作業(yè)的物理塊數(shù)M 分別為 3 和 4 時,計算在訪問過程中所發(fā)生的缺頁次數(shù)和缺頁率,并比較所得結果。432143543215444111533344422233M=34444555333344222231111M=4M=3 時,采用 FIFO 頁面置換算法的缺頁次數(shù)為9 次,缺頁率為 75% ;M=4 時,采用 FIFO 頁面置換算法的缺頁次數(shù)為10 次, 缺頁率為 83%。由此可見,增加分配給作業(yè)的內存塊數(shù),反而增加了缺頁次數(shù),提高了缺頁率,這種現(xiàn)象被
38、稱為是 Belady 現(xiàn)象。28試說明改進型 Clock 置換算法的基本原理。基本原理:在將一個頁面換出時,如果該頁已被修改過,便須將該頁重新寫回到磁盤 上;但如果該頁未被修改過,則不必將它寫回磁盤上。在改進型算法中,除需考慮頁 面的使用情況外,還須再增加一個因素,即置換代價,這樣,選擇頁面換出時,既要 是未使用過的頁面,又要是未被修改過的頁面。第五章設備管理2為了實現(xiàn) CPU 與設備控制器間的通信,設備控制器應具備哪些功能?答:接收和識別命令;數(shù)據(jù)交換;標識和報告設備狀態(tài);地址識別;數(shù)據(jù)緩沖;差錯控制。3什么是字節(jié)多路通道?什么是數(shù)組選擇通道和數(shù)組多路通道?(1)字節(jié)多路通道含有許多非分配型
39、子通道分別連接在低、中速I/O 設備上,子通道按時間片輪轉方式共享主通道,按字節(jié)方式進行數(shù)據(jù)傳送。當?shù)谝粋€子通道控制其 I/O 設備完成 一個字節(jié)的交換后,便立即騰出字節(jié)多路通道(主通道), 讓給第二個子通道使用;當?shù)诙€子通道也交換完一個字節(jié)后,又依樣把主通道讓給第三個子通道使用,以此類推。轉輪一周后,重又返回由第一個子通道去使用主通道。(2) 數(shù)組選擇通道只含有一個分配型子通道, 一段時間內只能執(zhí)行一道通道程序、控制一臺設備按數(shù)組方式進行數(shù)據(jù)傳送。通道被某臺設備占用后, 便一直處于獨占狀態(tài), 直至設備數(shù)據(jù)傳輸完畢釋放該通道,故而通道利用率較低,主要用于連接多臺高速設備。(3 )數(shù)組多路通道
40、是將數(shù)組選擇通道傳輸速率高和字節(jié)多路通道能使各子通道分時并行操作的優(yōu)點相結合而形成的一種新通道。其含有多個非分配型子通道分別連接在高、中速I/O設備上,子通道按時間片輪轉方式共享主通道,按數(shù)組方式進行數(shù)據(jù)傳送,因而既具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。&試說明 DMA 的工作流程。答:以從磁盤讀入數(shù)據(jù)為例,說明DMA 的工作流程。 當 CPU 要從磁盤讀入數(shù)據(jù)塊時,先向磁盤控制器發(fā)送一條讀命令。該命令被送到命令寄存器CR 中。同時還發(fā)送本次要讀入數(shù)據(jù)的內存起始目標地址,送入內存地址寄存器MAR ;本次要讀數(shù)據(jù)的字節(jié)數(shù)送入數(shù)據(jù)計數(shù)器DC,將磁盤中的源地址直接送 DMA
41、控制器的 I/O 控制邏輯上。然后啟動DMA 控制器傳送 數(shù)據(jù),以后 CPU 便處理其它任務。整個數(shù)據(jù)傳送過程由DMA 控制器控制。下圖為 DMA 方式的工作流程圖。9弓 I 入緩沖的主要原因是什么?10.答:引入緩沖的主要原因是(1)緩和 CPU 與 I/O 設備間速度不匹配的矛盾(2) 減少對 CPU 的中斷頻率,放寬對中斷響應時間的限制(3) 提高 CPU 與 I/O 設備之間的并行性10在單緩沖情況下,為什么系統(tǒng)對一塊數(shù)據(jù)的處理時間為max(C,T)+M ? ?在塊設備輸入時,假定從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū)的時間為T;操作系統(tǒng)將緩沖區(qū)數(shù)據(jù)傳送給用戶區(qū)的時間為 M ;而 CPU 對這一
42、塊數(shù)據(jù)進行計算得時間為C。在單緩沖情況下,由于設備的輸入操作和 CPU 的處理操作可以并行,所以系統(tǒng)對每一整塊數(shù)據(jù)的處理時間為 max(C, T) + M。11 為什么在雙緩沖情況下,系統(tǒng)對一塊數(shù)據(jù)的處理時間為max(C,T) ?該方式又稱緩沖對換方式,在設備輸入時,先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉向第二緩 沖區(qū)。此時操作系統(tǒng)可以從第一緩沖區(qū)移出數(shù)據(jù),并送入用戶進程。接著由CPU 對數(shù)據(jù)進行計算。在雙緩沖區(qū)中,不僅設備的輸入操作和CPU 的處理操作可以并行,設備的輸入操作和數(shù)據(jù)的傳送操作也可以并行,因此耗時大約為 max(C+M,T)??紤]到 M 是內存中數(shù)據(jù)塊的“搬家”耗時,非常短暫可以省
43、略,因此近似地認為是:max(C,T)13 試說明收容輸入工作緩沖區(qū)和提取輸出工作緩沖區(qū)的工作情況。答:收容輸入工作緩沖區(qū)的工作情況為:在輸入進程需要輸入數(shù)據(jù)時,調用GetBuf(EmptyQueue)過程, 從 EmptyQueue 隊列的隊首摘下一個空緩沖區(qū),作為收容輸入工 作緩沖區(qū) Hin。然后把數(shù)據(jù)輸入其中,裝滿后再調用PutBuf(lnputQueue, Hin)過程,將該緩沖區(qū)掛在輸入隊列 InputQueue 的隊尾。 提取輸出工作緩沖區(qū)的工作情況為:當要輸出數(shù)據(jù)時,調用GetBuf(OutputQueue)過程,從輸出隊列的隊首取得一裝滿輸出數(shù)據(jù)的緩沖區(qū)作為提取輸出工作緩沖區(qū)S
44、out。在數(shù)據(jù)提取完后,再調用 PutBuf(EmptyQueue, Sout)過程,將該緩沖區(qū)掛到空緩沖隊列EmptyQueue 的隊尾。15.為什么要引入設備獨立性?如何實現(xiàn)設備獨立性?引入設備獨立性, 可使應用程序獨立于具體的物理設備, 是設備分配具有靈活性。 另外容易實現(xiàn) I/OI/O 重定向。為了實現(xiàn)設備獨立性,必須在設備驅動程序之上設置 一層設備獨立性軟件,用來執(zhí)行所有 I/OI/O 設備的公用操作,并向用戶層軟件提供 統(tǒng)一接口。關鍵是系統(tǒng)中必須設置一張邏輯設備表LUTLUT 用來進行邏輯設備到物理設備的映射,其中每個表目中包含了邏輯設備名、物理設備名和設備驅動程序入口地址三項;
45、當應用程序用邏輯設備名請求分配 I/OI/O 設備時, 系統(tǒng)必須為它分配 相應的物理設備,并在 LUTLUT 中建立一個表目,以后進程利用該邏輯設備名請求 I/OI/O 操作時,便可從 LUTLUT 中得到物理設備名和驅動程序入口地址。18.試說明 SPOOLing 系統(tǒng)的組成。答:SPOOLing 系統(tǒng)由輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進程SPi 和輸出進程 SPo 三部分組成。24. 目前常用的磁盤調度算法有哪幾種?每種算法優(yōu)先考慮的問題是什么?答:目前常用的磁盤調度算法有先來先服務、最短尋道時間優(yōu)先及掃描等算法。(1) 先來先服務算法優(yōu)先考慮進程請求訪問磁盤的先后次序;(2)
46、 最短尋道時間優(yōu)先算法優(yōu)先考慮要求訪問的磁道與當前磁頭所在磁道距離是否最近;(3) 掃描算法考慮欲訪問的磁道與當前磁道間的距離,更優(yōu)先考慮磁頭當前的移動方向。25. 為什么要引入磁盤高速緩沖?何謂磁盤高速緩沖?答:目前磁盤的 I/O 速度遠低于內存的訪問速度,通常低上4-6 個數(shù)量級。因此,磁盤 I/O 已成為計算機系統(tǒng)的瓶頸。為提高磁盤I/O 的速度,便引入了磁盤高速緩沖。磁盤高速緩沖是指利用內存中的存儲空間,暫存從磁盤中讀出的一系列盤塊中的信息。28.廉價磁盤冗余陣列是如何提高對磁盤的訪問速度和可靠性的?答:廉價磁盤冗余陣列 RAID 是利用一臺磁盤陣列控制器,統(tǒng)一管理和控制一組(幾臺到幾十臺)磁盤驅動器,組成高度可靠快速大容量的磁盤系統(tǒng)。操作系統(tǒng)將 RAID 中的一組物理磁盤驅動器看作一個單個的邏輯磁盤驅動器。用戶數(shù)據(jù)和系統(tǒng)數(shù)據(jù)可分布在陣列的所有磁盤中,并采取并行傳輸方式,大大減少數(shù)據(jù)傳輸時間和提高了可靠性。第六章文件管理4何謂邏輯文件?何謂物理文件?(何謂文件邏輯結構?何謂文件的物理結構)文件的邏輯結構是指從用戶的觀點出發(fā)所觀察到的文件組織形式,也就是用戶可以直接處理的數(shù)據(jù)及其結構,它獨立于物理特性,;而文件的物理結構則是指文 件在外存上的存儲組織形式,與存儲介質的存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人股權轉讓合同2025年度附條件支付及解禁安排
- 二零二五年度精密模具委托加工與技術創(chuàng)新合同
- 2025年度砸墻工程安全責任保險協(xié)議合同
- 二零二五年度房地產投資并購合同協(xié)議
- 二零二五年度影視作品宣傳推廣合同
- 2025年度現(xiàn)代農業(yè)科技入股協(xié)議書
- 二零二五年度智能監(jiān)控系統(tǒng)集成維護及升級改造合同
- 2025年度幼兒教育實習教師實習管理與支持協(xié)議
- 2025年度上市公司職業(yè)經理人任期目標責任合同
- 電力計量儀表項目績效評估報告
- 2025年云南省昆明國家高新技術產業(yè)開發(fā)區(qū)招聘合同聘用制專業(yè)技術人員47人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 農機安全知識講座
- 1.1青春的邀約 教學課件 2024-2025學年七年級道德與法治下冊(統(tǒng)編版2024)
- 《1億有多大》(說課稿)-2024-2025學年四年級上冊數(shù)學人教版001
- DeepSeek從入門到精通 -指導手冊
- 校長第一次全體教師會上發(fā)言:2025春季開學教師掌握這 6 詞教育之路暢通無阻
- 2025年蘇州經貿職業(yè)技術學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 衰老細胞代謝重編程-洞察分析
- 發(fā)票知識培訓課件
- 化工開停車培訓
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
評論
0/150
提交評論