北方工業(yè)大學-計算機操作系統(tǒng)-作業(yè)總復習答案_第1頁
北方工業(yè)大學-計算機操作系統(tǒng)-作業(yè)總復習答案_第2頁
北方工業(yè)大學-計算機操作系統(tǒng)-作業(yè)總復習答案_第3頁
北方工業(yè)大學-計算機操作系統(tǒng)-作業(yè)總復習答案_第4頁
北方工業(yè)大學-計算機操作系統(tǒng)-作業(yè)總復習答案_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、真正同時執(zhí)行多道程序。要有效使用多重處理,必須采用多道程序設計技術,而多道程序設計原那么上不一定要求多重處理系統(tǒng)的支持。2.2 作業(yè)由哪幾局部組成?各有什么功能?答:作業(yè)由三局部組成:程序、數(shù)據(jù)和作業(yè)說明書。程序和數(shù)據(jù)完成用戶所要求的業(yè)務處理工作,系統(tǒng)通過作業(yè)說明書控制文件形式的程序和數(shù)據(jù),使之執(zhí)行和操作。2.4試述SPOOLING系統(tǒng)的工作原理。 答:在SPOOLING系統(tǒng)中,多臺外圍設備通過通道或DMA器件和主機與外存連接起來,作業(yè)的輸入輸出過程由主機中的操作系統(tǒng)控制。操作系統(tǒng)中的輸人程序包含兩個獨立的過程,一個過程負責從外部設備把信息讀入緩沖區(qū),另一個過程是寫過程,負責把緩沖區(qū)中的信息送

4、人到外存輸入井中。 在系統(tǒng)輸人模塊收到作業(yè)輸人請求后,輸人管理模塊中的讀過程負責將信息從輸人裝置讀人緩沖區(qū)。當緩沖區(qū)滿時,由寫過程將信息從緩沖區(qū)寫到外存輸人井中。讀過程和寫過程反復循環(huán),直到一個作業(yè)輸入完畢。當讀過程讀到一個硬件結束標志后,系統(tǒng)再次驅動寫過程把最后一批信息寫入外存并調(diào)用中斷處理程序結束該次輸入。然后,系統(tǒng)為該作業(yè)建立作業(yè)控制塊JCB,從而使輸入井中的作業(yè)進人作業(yè)等待隊列,等待作業(yè)調(diào)度程序選中后進人內(nèi)存。2.5 操作系統(tǒng)為用戶提供哪些接口?它們的區(qū)別是什么?答:操作系統(tǒng)為用戶提供兩個接口,一個是系統(tǒng)為用戶提供的各種命令接口,用戶利用這些操作命令來組織和控制作業(yè)的執(zhí)行或管理計算機系

5、統(tǒng)。另一個接口是系統(tǒng)調(diào)用,編程人員使用系統(tǒng)調(diào)用來請求操作系統(tǒng)提供效勞,例如申請和釋放外設等類資源、控制程序的執(zhí)行速度等。2.7 什么是系統(tǒng)調(diào)用?系統(tǒng)調(diào)用與一般用戶程序有什么區(qū)別?與庫函數(shù)和實用程序又有什么區(qū)別?答:系統(tǒng)調(diào)用是操作系統(tǒng)提供應編程人員的唯一接口。編程人員利用系統(tǒng)調(diào)用,在源程序以及動態(tài)請求和釋放系統(tǒng)資源,調(diào)用系統(tǒng)中已有的系統(tǒng)功能來完成那些與機器硬件局部相關的工作以及控制程序的執(zhí)行速度等。因此,系統(tǒng)調(diào)用像一個黑箱子那樣,對用戶屏蔽了操作系統(tǒng)的具體動作而只提供有關的功能。它與一般用戶程序、庫函數(shù)和實用程序的區(qū)別是:系統(tǒng)調(diào)用程序是在核心態(tài)執(zhí)行,調(diào)用它們需要一個類似于硬件中斷處理的中斷處理機

6、制來提供系統(tǒng)效勞。3.2試比擬進程和程序的區(qū)別。答:1進程是一個動態(tài)概念,而程序是一個靜態(tài)概念,程序是指令的有序集合,無執(zhí)行含義,進程那么強調(diào)執(zhí)行的過程。2進程具有并行特征,程序那么沒有。3不同的進程可以包含同一個程序,同一程序在執(zhí)行中也可以產(chǎn)生多個進程。3.3 我們說程序的并發(fā)執(zhí)行將導致最終結果失去封閉性。這話對所有的程序都成立嗎?試舉例說明。答:并非對所有的程序均成立。例如:begin local xx :=10print(x)end上述程序中x是內(nèi)部變量,不可能被外部程序訪問,因此這段程序的運行不會受外部環(huán)境影響。3.4 試比擬作業(yè)和進程的區(qū)別。答:一個進程是一個程序對某個數(shù)據(jù)集的執(zhí)行過

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

8、ix這樣的分時系統(tǒng)中,那么沒有作業(yè)概念。而進程的概念那么用在幾乎所有的多道程序系統(tǒng)中。3.6什么是臨界區(qū)?試舉一臨界區(qū)的例子。 答:臨界區(qū)是指不允許多個并發(fā)進程交叉執(zhí)行的一段程序。它是由于不同并發(fā)進程的程序段共享公用數(shù)據(jù)或公用數(shù)據(jù)變量而引起的。所以它叉被稱為訪問公用數(shù)據(jù)的那段程序。例如:getspace:begin local g g=stacktop top=top-1endrelease(ad):begin top=top+1stacktop=adend3.8什么是進程間的互斥,什么是進程間同步?答:進程間的互斥是指:一組井發(fā)進程中的一個或多個程序段,因共享某一公有資源而導致它們必須以一個

9、不許交叉執(zhí)行的單位執(zhí)行,即不允許兩個以上的共享該資源的并發(fā)進程同時進入臨界區(qū)。 進程間的同步是指:異步環(huán)境下的一組并發(fā)進程因直接制約互相發(fā)送消息而進行互相合作、互相等待是各進程按一定的速度執(zhí)行的過程。3.11 兩進程Pa,Pb通過兩FIFO緩沖區(qū)隊列連接如圖E1.1,每個緩沖區(qū)長度等于傳送消息長度。進程Pa,Pb之間的通信滿足如下條件:a至少有一個空緩沖區(qū)存在時,相應的發(fā)送進程才能發(fā)送一個消息。b當緩沖隊列中至少存在一個非空緩沖區(qū)時,相應的接收進程才能接受一個消息。試描述發(fā)送過程send(i,m)和接收過程receivei,m。這里i代表緩沖隊列。答:定義數(shù)組 buf0,buf1,bufemp

10、ty0,buffull1是Pa的私有信息量,buffull0,bufempty1是Pb的私有信息量。初始時: bufempty0=bufempty1=n,(n為緩沖區(qū)隊列的緩沖區(qū)個數(shù))buffull0=buffull1=0send(I,m)beginlocal xP(bufemptyI)按FIFO方式選擇一個空緩沖區(qū)bufI(x)bufI(x)=mbufI(x)置滿標記VbuffullIEndreceive(I,m)beginlocal xP(buffullI)按FIFO方式選擇一個裝滿數(shù)據(jù)的緩沖區(qū)bufI(x)m=bufI(x)bufI(x)置空標記VbufemptyIEndPa調(diào)用send

11、0,m和receive(1,m)Pb調(diào)用send1,m和receive(0,m3.13 編寫一個程序使用系統(tǒng)調(diào)用fork生成3個子進程,并使用系統(tǒng)調(diào)用pipe創(chuàng)立一管道,使得這3個子進程和父進程公用同一個管道進行信息通信。答:mainint r,p1,p2,p3,fd2;char buf50,s5;pipe(fd);while(p1=fork()=-1);if(p1=0) Lock(fd1,1,0); sprintf(buf,child process P1 is sending message!n); printf(“child process P1!n);write(fd1,buf,50)

12、;sleep(5);lockf(fd1,0,0);exit(0);else while(p2=fork()=-1); if(p2=0) sprintf(buf,child process P2 is sending message!n); printf(“child process P2!n);write(fd1,buf,50);sleep(5);lockf(fd1,0,0);exit(0); else while(p3=fork()=-1); if(p3=0) sprintf(buf,child process P3is sending message!n); printf(“child p

13、rocess P3!n);write(fd1,buf,50);sleep(5);lockf(fd1,0,0);exit(0); wait(0);if(e=read(fd0,s,50)= -1)printf(“cant read pipen);else printf(“%sn,s);wait(0);if(r=read(fd0,s,50)= -1) printf(“cant read pipen)else printf(“%sn,s);exit(0); 3.14設有5個哲學家,共享一張放有五把椅子的桌子,每人分得一把椅子。但是,桌子上總共只有五支筷子,在每人兩邊分開各放一支。哲學家們在肚子饑餓時才

14、試圖分兩次從兩邊拾起筷子就餐。條件: (1)只有拿到兩支筷子時,哲學家才能吃飯。 (2)如果筷子已在他人手上,那么該哲學家必須等到他人吃完之后才能拿到筷子。 (3)任一哲學家在自己未拿到兩支筷子吃飯之前,決不放下自己手中的筷子。試: (1)描述一個保證不會出現(xiàn)兩個鄰座同時要求吃飯的通信算法。 (2)描述一個既沒有兩鄰座同時吃飯,又沒有人餓死(永遠拿不到筷子)的算法。在什么情況下,5個哲學家全部吃不上飯?答(1) 設信號量coc4,初始值均為l,分別表示I號筷子被拿(I=0,1,2,3,4)。Send(I):第I個哲學家要吃飯Begin P(cI); P(c (I+1) mod 5 ); eat

15、; V(c (I+1) mod 5 ); V(cI);end該過程能保證兩鄰座不同時吃飯,但會出現(xiàn)5個哲學家一人拿一支筷子,誰也吃不上飯的死鎖情況。答(2) 解決的思路如下:讓奇數(shù)號的哲學家先取右手邊的筷子,讓偶數(shù)號的哲學家先取做左手邊的筷子。這樣,任何一個哲學家拿到一支筷子之后,就已經(jīng)阻止了他鄰座的一個哲學家吃飯的企圖,除非某個哲學家一直吃下去,否那么不會有人餓死。Send(I):第I個哲學家要吃飯BeginIf (I mod 2) = = 0Then P(cI); P(c (I+1) mod 5 ); eat; V(cI); V(c (I+1) mod 5 );else P(c (I+1)

16、 mod 5 ); P(cI); eat; V(c (I+1) mod 5 );V(cI);End3.15 什么是線程?試述線程與進程的區(qū)別。答:線程是在進程內(nèi)用于調(diào)度和占有處理機的根本單位,它由線程控制表、存儲線程上下文的用戶棧以及核心棧組成。線程可分為用戶級線程、核心級線程以及用戶、核心混合型線程等類型。其中用戶級線程在用戶態(tài)下執(zhí)行,CPU調(diào)度算法和各線程優(yōu)先級都由用戶設置,與操作系統(tǒng)內(nèi)核無關。核心級線程的調(diào)度算法及線程優(yōu)先級的控制權在操作系統(tǒng)內(nèi)核?;旌闲途€程的控制權那么在用戶和操作系統(tǒng)內(nèi)核二者。線程與進程的主要區(qū)別有:1進程是資源管理的根本單位,它擁有自己的地址空間和各種資源,例如內(nèi)存空

17、間、外部設備等;線程只是處理及調(diào)度的根本單位,它只和其他線程一起共享進程資源,但自己沒有任何資源。2以進程為單位進行處理機切換和調(diào)度時,由于涉及到資源轉移以及現(xiàn)場保護等問題,將導致處理機切換時間變長,資源利用率降低。以線程為單位進行處理機切換和調(diào)度時,由于不發(fā)生資源變化,特別是地址空間的變化,處理機切換的時間較短,從而處理機效率也較高。3對用戶來說,多線程可減少用戶的等待時間,提高系統(tǒng)的響應速度。例如,當一個進程需要對兩個不同的效勞進行遠程過程調(diào)用時,對于無線進程系統(tǒng)的操作系統(tǒng)來說需要順序等待兩個不同的調(diào)用返回結果后才能繼續(xù)執(zhí)行,且在等待中容易發(fā)生進程調(diào)度。對于多線程系統(tǒng)而言,那么可以在同一進

18、程中使用不同的線程同時進行遠程過程調(diào)用,從而縮短進程的等待時間。4線程和進程一樣,都有自己的狀態(tài),也有相應的同步機制,不過,由于線程沒有單獨的數(shù)據(jù)和程序空間,因此,線程不能像進程的數(shù)據(jù)與程序那樣,交換到外存存儲空間。從而線程沒有掛起狀態(tài)。5進程的調(diào)度、同步等控制大多數(shù)由操作系統(tǒng)內(nèi)核完成,而線程的控制既可以由操作系統(tǒng)內(nèi)核進行,也可以由用戶控制進行。4.1什么是分級調(diào)度?分時系統(tǒng)中有作業(yè)調(diào)度的概念嗎?如果沒有,為什么?答:處理機調(diào)度為她實際上也是處理機的分配問題。顯然只有那些參與競爭處理及所必需的資源都已得到滿足的進程才能享有競爭處理機的資格。這是他們處于內(nèi)存就緒狀態(tài)。這些必需的資源包括內(nèi)存、外設

19、及有關數(shù)據(jù)結構等。從而,在進程有資格警長處理機之前,作業(yè)調(diào)度程序必須先調(diào)用存儲管理、外設管理程序,并按一定的選擇順序和策略從輸入并中選擇出幾個處于后備狀態(tài)的作業(yè),為他們分配資源和創(chuàng)立進程,使他們獲得競爭處理機的資格。另外,由于處于執(zhí)行狀態(tài)下的作業(yè)一般包括多個進程,而在單機系統(tǒng)中,每一時刻只能有一個進程占有處理機,這樣,在外存中,除了處于后備狀態(tài)的作業(yè)外,外存在處于就緒狀態(tài)而等待得到內(nèi)存的作業(yè)。我們需要有一定的方法和策略為這局部作業(yè)分配空間。因此處理機調(diào)度需要分級。一般來說,處理機調(diào)度可分為4級:1作業(yè)調(diào)度:又稱宏觀調(diào)度,或高級調(diào)度。2交換調(diào)度:又稱中級調(diào)度。其主要任務是按照給定的原那么和策略,

20、將處于外存交換區(qū)中的就緒狀態(tài)或等待狀態(tài)或內(nèi)存等待狀態(tài)的進程交換到外存交換區(qū)。交換調(diào)度主要涉及到內(nèi)存管理與擴充。因此在有寫書本中也把它歸入內(nèi)存管理局部。3進程調(diào)度:又稱微觀調(diào)度或低級調(diào)度。其主要任務是按照某種策略和方法選取一個處于就緒狀態(tài)的進程占用處理機。在確立了占用處理機的進程之后,系統(tǒng)必須進行進程上下文切換以建立與占用處理機進程相適應的執(zhí)行環(huán)境。4線程調(diào)度:進程中相關堆棧和控制表等的調(diào)度。在分時系統(tǒng)中,一般不存在作業(yè)調(diào)度,而只有線程調(diào)度、進程調(diào)度和交換調(diào)度。這是因為在分時系統(tǒng)中,為了縮短響應時間,作業(yè)不是建立在外存,而是直接建立在內(nèi)存中。在分時系統(tǒng)中,一旦用戶和系統(tǒng)的交互開始,用戶馬上要進行

21、控制。因此,分時系統(tǒng)中沒有作業(yè)提交狀態(tài)和后備狀態(tài)。分時系統(tǒng)的輸入信息經(jīng)過終端緩沖區(qū)為系統(tǒng)直接接收,或立即處理,或經(jīng)交換調(diào)度暫存外存中。4.3 作業(yè)調(diào)度的性能評價標準有哪些? 這些性能評價標準在任何情況下都能反映調(diào)度策略的優(yōu)劣嗎?答:對于批處理系統(tǒng),由于主要用于計算,因而對于作業(yè)的周轉時間要求較高。從而作業(yè)的平均周轉時間或平均帶權周轉時間被用來衡量調(diào)度程度的優(yōu)劣。但對于分時系統(tǒng)來說,平均響應時間又被用來衡量調(diào)度策略的優(yōu)劣。對于分時系統(tǒng),除了要保證系統(tǒng)吞吐量大、資源利用率高之外,還應保證用戶能夠容忍的響應時間。因此,在分時系統(tǒng)中,僅僅用周轉時間或帶權周轉時間來衡量調(diào)度性能是不夠的。 對于實時系統(tǒng)來

22、說,衡量調(diào)度算法優(yōu)劣的主要標志那么是滿足用戶要求的時限時間。4.4進程調(diào)度的功能有哪些?答:進程調(diào)度的功能有:(1)記錄和保存系統(tǒng)中所有進程的執(zhí)行情況;(2)選擇占有處理機的進程;(3)進行進程上下文切換。4.5 進程調(diào)度的時機有哪幾種?答:進程調(diào)度的時機有: (1)正在執(zhí)行的進程執(zhí)行完畢。這時如果不選擇新的就緒進程執(zhí)行,將浪費處理機資源。 (2)執(zhí)行中進程自己調(diào)用阻塞原語將自己阻塞起來進入睡眠等待狀態(tài)。(3)執(zhí)行中進程調(diào)用了P原語操作,從而因資源缺乏而被阻塞:或調(diào)用了V原語操作激活了等待資源的進程隊列。 (4)執(zhí)行中進程提出IO請求后被阻塞。(5)在分時系統(tǒng)中時間片已經(jīng)用完。(6)在執(zhí)行完系

23、統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時,可看做系統(tǒng)進程執(zhí)行完畢,從而調(diào)度選擇一新的用戶進程執(zhí)行。 (7)在CPU執(zhí)行方式是可剝奪時,還有:就緒隊列中的某進程的優(yōu)先級變得高于當前執(zhí)行進程的優(yōu)先級,從而也將引發(fā)進程調(diào)度。5.1 存儲管理的主要功能是什么?答:存儲管理的主要功能包括以下幾點:1在硬件的支持下完成統(tǒng)一管理內(nèi)存和外存之間數(shù)據(jù)和程序段自動交換的虛擬存儲器功能。2將多個虛存的一維線性空間或多維線性空間變換到內(nèi)存的唯一的一維物理線性地址空間。3控制內(nèi)外存之間的數(shù)據(jù)傳輸。4實現(xiàn)內(nèi)存的分配和回收。5實現(xiàn)內(nèi)存信息的共享與保護。5.2什么是虛擬存儲器?其特點是什么? 答:由進程中的目標代碼、數(shù)據(jù)等的虛擬地址

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

25、位方法進行地址變換無法實現(xiàn)虛擬存儲器。靜態(tài)重定位的另一個缺點是必須占用連續(xù)的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。2動態(tài)地址重定位是在程序執(zhí)行過程中,在CPU訪問內(nèi)存之前由硬件地址變換機構將要訪問的程序或數(shù)據(jù)地址轉換成內(nèi)存地址。動態(tài)地址重定位的主要優(yōu)點有:1. 可以對內(nèi)存進行非連續(xù)分配。2. 動態(tài)重定位提供了實現(xiàn)虛擬存儲器的根底。3. 動態(tài)重定位有利于程序段的共享。5.6動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種?比擬它們各自的優(yōu)缺點。答:動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應法FF、最正確適應法BF和最壞適應法WF。優(yōu)缺點比擬:1從搜索速度上看最先適應法最正確,最正確適應法和最壞適應法都要求

26、把不同大小的空閑區(qū)按大小進行排隊。2從回收過程來看,最先適應法也是最正確,因為最正確適應法和最壞適應法都必須重新調(diào)整空閑區(qū)的位置。3最正確適應法找到的空閑區(qū)是最正確的,但是會造成內(nèi)存碎片較多,影響了內(nèi)存利用率,而最壞適應法的內(nèi)存碎片最少,但是對內(nèi)存的請求較多的進程有可能分配失敗??傊?,三種算法各有所長,針對不同的請求隊列,它們的效率和功能是不一樣的。5.8簡述什幺是覆蓋?什么是交換?覆蓋和交換的區(qū)別是什么? 答:將程序劃分為假設干個功能上相對獨立的程序段,按照程序的邏輯結構讓那些不會同時執(zhí)行的程序段共享同一塊內(nèi)存區(qū)的內(nèi)存擴充技術就是覆蓋。 交換是指先將內(nèi)存某局部的程序和數(shù)據(jù)寫入外存交換區(qū),再從

27、外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi)存中來,并讓其執(zhí)行的一種內(nèi)存擴充技術。 - 與覆蓋技術相比,交換不要求程序員給出程序段之間的覆蓋結構,而且,變換主要是在進程或作業(yè)之間進行,而覆蓋那么主要在同一個作業(yè)或同一個進程內(nèi)進行。另外,覆蓋只能覆蓋那些與覆蓋程序段無關的程序段。5.9什么是頁式管理?靜態(tài)頁式管理可以實現(xiàn)虛存嗎? 答:頁式管理就是把各進程的虛擬空間劃分為假設干長度相等的頁面,把指令按頁面大小劃分后存放在內(nèi)存中執(zhí)行或只在內(nèi)存中存放那些經(jīng)常被執(zhí)行或即將被執(zhí)行的頁面,而那些不被經(jīng)常執(zhí)行以及在近期內(nèi)不可能被執(zhí)行的頁面那么存放于外存中,按一定規(guī)那么調(diào)入的一種內(nèi)存管理方式。 靜態(tài)頁式管理不能實現(xiàn)虛存

28、,這是因為靜態(tài)頁式管理要求進程或作業(yè)在執(zhí)行前全部被裝人內(nèi)存,作業(yè)或進程的大小仍受內(nèi)存可用頁面數(shù)的限制。5.10 什么是請求頁式管理? 答:請求頁式管理是動態(tài)頁式內(nèi)存管理的一種,它在作業(yè)或進程開始執(zhí)行之前,不把作業(yè)或進程的程序段和數(shù)據(jù)段一次性的全部裝入內(nèi)存,而只裝入被認為是經(jīng)常反復執(zhí)行和調(diào)用的工作區(qū)局部。其他局部那么在執(zhí)行過程中動態(tài)裝入。請求頁式管理的調(diào)入方式是,當需要執(zhí)行某條指令而又發(fā)現(xiàn)它不在內(nèi)存時,或當執(zhí)行某條指令需要訪問其他數(shù)據(jù)或指令時,而這些指令和數(shù)據(jù)又不在內(nèi)存中,從而發(fā)生缺頁中斷,系統(tǒng)將外存中相應的頁面調(diào)入內(nèi)存。5.11 請求頁式管理中有哪幾種常用的頁面置換算法?試比擬它們的優(yōu)缺點。答

29、:比擬常用的頁面置換算法有:(1) 隨機淘汰算法random glongram。即隨機地選擇某個用戶頁面并將其換出。(2) 輪轉法RPround robin。輪轉法循環(huán)換出內(nèi)存可用區(qū)一個可以被換出的頁,無論該頁是剛被換進或已經(jīng)換進內(nèi)存很長時間。(3) 先進先出法FIFOfirst in first out。FIFO算法選擇在內(nèi)存駐留時間最長的一頁將其淘汰。(4) 最近最久未使用頁面置換算法LRUleast recently unused。該算法的根本思想是:當需要淘汰某一頁時,選擇離當前時間最近的一段時間內(nèi)最久沒有使用過的頁面先淘汰。(5) 理想型淘汰算法OPT(optimal replace

30、ment algorithm)。該算法淘汰在訪問串中將來再也不出現(xiàn)的或是在離當前最遠的位置上出現(xiàn)的頁面。RP和FIFO都是基于CPU按線性順序訪問地址空間這一假設,但是實際上CPU在很多時候并非是按線性順序訪問地址空間的,因而它們的內(nèi)存利用率不高。此外FIFO算法還存在著Belady現(xiàn)象。LRU算法的完全實現(xiàn)是相當困難的,因而在實際系統(tǒng)中往往要采取LRU的近似算法,常用的近似算法有最不經(jīng)常使用頁面淘汰算法LFUleast frequently used和最近沒有使用頁面淘汰算法NUR。OPT算法由于必須預先知道每一個進程的指令訪問串,所以它是無法實現(xiàn)的。 5.14什么是段式管理?它與頁式管理有

31、何區(qū)別? 答:段式管理就是將程序按照內(nèi)容或過程(函數(shù))關系分成段,每段擁有自己的名字。一個用戶作業(yè)或進程所包含的段對應于一個二維線性虛擬空間,也就是一個二維虛擬存儲器。段式管理程序以段為單位分配內(nèi)存,然后通過地址映射機構把段式虛擬地址轉換成實際的內(nèi)存物理地址。同頁式管理時一樣,段式管理也采用只把那些經(jīng)常訪問的段駐留內(nèi)存,而把那些在將來一段時間內(nèi)不被訪問的段放入外存,待需要時自動調(diào)人相關段的方法實現(xiàn)二維虛擬存儲器。 段式管理和頁式管理的主要區(qū)別有: (1) 頁式管理中源程序進行編譯鏈接時是將主程序、子程序、數(shù)據(jù)區(qū)等按照線性空間的一維地址順序排列起來。段式管理那么是將程序按照內(nèi)容或過程(函數(shù))關系

32、分成段,每段擁有自己的名字-一個用戶作業(yè)或進程所包含的段對應于一個二維線性虛擬空間,也就是一個二維虛擬存儲器。 (2) 同動態(tài)頁式管理一樣,段式管理也提供了內(nèi)外存統(tǒng)一管理的虛存實現(xiàn)。與頁式管理不同的是:段式虛存每次交換的是一段有意義的信息,而不是像頁式虛存管理那樣只交換固定大小的頁,從而需要屢次的缺頁中斷才能把所需信息完整地調(diào)入內(nèi)存。 (3) 在段式管理中,段長可根據(jù)需要動態(tài)增長。這對那些需要不斷增加或改變新數(shù)據(jù)或子程序的段來說,將是非常有好處的。 (4) 段式管理便于對具有完整邏輯功能的信息段進行共享。(5) 段式管理便于進行動態(tài)鏈接,而頁式管理進行動態(tài)鏈接的過程非常復雜。5.16為什么要提

33、出段頁式管理?它與段式管理及頁式管理有何區(qū)別? 答:因為段式管理和頁式管理各有所長。段式管理為用戶提供了一個二維的虛擬地址空間,反映了程序的邏輯結構,有利于段的動態(tài)增長以及共享和內(nèi)存保護等,這極大地方便了用戶。而分頁系統(tǒng)那么有效地克服了碎片,提高了存儲器的利用效率。從存儲管理的目的來講,主要是方便用戶的程序設計和提高內(nèi)存的利用率。所以人們提出了將段式管理和頁式管理結合起來讓其互相取長補短的段頁式管理。段頁式管理與段式和頁式管理相比,其訪問時間較長。因此,執(zhí)行效率低。5.19 什么是局部性原理?什么是抖動?你有什么方法減少系統(tǒng)的抖動現(xiàn)象?答:局部性原理是指在幾乎所有程序的執(zhí)行過程中,在一段時間內(nèi)

34、,CPU總是集中地訪問程序中的某一局部而不是對程序的所有局部具有平均的訪問概率。抖動是指當給進程分配的內(nèi)存小于所要求的工作區(qū)時,由于內(nèi)存外存之間交換頻繁,訪問外存的時間和輸入輸出處理時間大大增加,造成CPU因等待數(shù)據(jù)而空轉,使得整個系統(tǒng)性能大大下降。在物理系統(tǒng)中,為了防止抖動的產(chǎn)生,在進行淘汰或置換時,一般總是把缺頁進程鎖住,不讓其換出,從而防止抖動發(fā)生。防止抖動發(fā)生的另一個方法是設置較大的內(nèi)存工作區(qū)。8.1 什么是文件、文件系統(tǒng)?文件系統(tǒng)有哪些功能?答:在計算機系統(tǒng)中,文件被解釋為一組賦名的相關字符流的集合,或者是相關記錄的集合。文件系統(tǒng)是操作系統(tǒng)中與管理文件有關的軟件和數(shù)據(jù)。文件系統(tǒng)的功能

35、是為用戶建立文件,撤銷、讀寫修改和復制文件,以及完成對文件的按名存取和進行存取控制。8.3 什么是文件的邏輯結構?什么是記錄? 文件的邏輯結構就是用戶可見的結構,可分為字符流式的無結構文件和記錄式的有結構文件兩大類。記錄是一個具有特定意義的信息單位,它由該記錄在文件中的邏輯地址相對位置與記錄名所對應的一組關鍵字、屬性及其屬性值所組成。87文件的物理結構有哪幾種?為什么說串聯(lián)文件結構不適于隨機存取?文件的物理結構是指文件在存儲設備上的存放方法。常用的文件物理結構有連續(xù)文件、串聯(lián)文件和索引文件3種。串聯(lián)文件結構用非連續(xù)的物理塊來存放文件信息。這些非連續(xù)的物理塊之間沒有順序關系,鏈接成一個串聯(lián)隊列。

36、搜索時只能按隊列中的串聯(lián)指針順序搜索,存取方法應該是順序存取的。否那么,為了讀取某個信息塊而造成的磁頭大幅度移動將花去較多的時間。因此,串聯(lián)文件結構不適于隨機存取。8.9常用的文件存儲設備的管理方法有哪些?試述主要優(yōu)缺點。 答:文件存儲設備的管理實質上是一個空閑塊的組織和管理問題。有3種不同的空閑塊管理方法。即空閑文件目錄、空閑塊鏈和位示圖。 空閑文件目錄管理方法就是把文件存儲設備中的空閑塊的塊號統(tǒng)一放在一個稱為空閑文件目錄的物理塊中,其中空閑文件目錄的每個表項對應一個由多個空閑塊構成的空閑區(qū)。該方法實現(xiàn)簡單,適于連續(xù)文件結構的文件存儲區(qū)的分配與回收。但是由于回收時不進行合并,所以使用該方法容

37、易產(chǎn)牛大量的小塊空閑區(qū)。 空閑塊鏈法把文件存儲設備上的所有空閉塊鏈接在一起,從鏈頭分配空閑塊,把回收的空閑塊插入到鏈尾。該方法不占用額外的空間,但實現(xiàn)復雜。 位示圖法是從內(nèi)存中劃出假設干字節(jié),每個比特位對應一個物理塊的使用情況。如果該位為0那么表示對應的是空閑塊,為l那么表示對應的物理塊已分配出去。位示圖法在查找空閑 塊時無需啟動外設,但要占用內(nèi)存空間。8.11 什么是文件目錄?文件目錄中包含哪些信息?答:一個文件的文件名和對該文件實施控制管理的說明信息稱為該文件的說明信息,又稱為該文件的目錄。文件目錄中包含文件名、與文件名相對應的文件內(nèi)部標識以及文件信息在文件存儲設備上第一個物理塊的地址等信

38、息。另外還可能包含關于文件邏輯結構、物理結構、存取控制和管理等信息。8.14設文件SQRT由連續(xù)結構的定長記錄組成,每個記錄的長度為500字節(jié),每個物理塊密,l000字節(jié),且物理結構是連續(xù)結構并采用直接存取方式;試按照圖723所示文件系統(tǒng)模型,寫出系統(tǒng)調(diào)用Read(SQRT,5,15000)的各層執(zhí)行結果。其中,SQRT為文件名,5為記錄號,l5000為內(nèi)存地址。 答:(簡述) 第l層用戶接口層,把系統(tǒng)調(diào)用轉化成內(nèi)部調(diào)用格式。 第2層符號文件系統(tǒng)層,把第l層提供的用戶文件名轉化成系統(tǒng)內(nèi)部的唯一標識符fd。 第3層根本文件系統(tǒng)層根據(jù)參數(shù)fd找到文件的說明信息。 第4層存取控制驗證層根據(jù)存取控制信

39、息和用戶訪問要求,檢驗文件訪問的合法性。 第5層邏輯文件系統(tǒng)層根據(jù)文件邏輯結構找到第5個記錄對應的邏輯地址2000,并將其轉換為相對塊號2。 第6層物理文件系統(tǒng)層根據(jù)文件的物理結構把相對塊號2轉換成物理地址如1000000。 第7層文件存儲設備分配模塊和設備策略模塊把物理塊號轉換成具體磁盤的柱面號、磁道號和扇區(qū)號,然后準備啟動輸入設備命令。 第8層啟動輸入輸出層由設備處理程序執(zhí)行讀操作,把第5個記錄讀到內(nèi)存地址15000處。9.1 設備管理的目標和功能是什么?答:設備管理的目標是:選擇和分配輸入輸出設備以便進行數(shù)據(jù)傳輸操作;控制輸入輸出設備和CPU或內(nèi)存之間交換數(shù)據(jù);為用戶提供一個友好的透明接

40、口;提供設備和設備之間、CPU和設備之間,以及進程和進程之間的并行操作,以使操作系統(tǒng)獲得最正確效率。設備管理的功能是:提供和進程管理系統(tǒng)的接口;進行設備分配;實現(xiàn)設備和設備、設備和CPU等之間的并行操作;進行緩沖區(qū)管理。9.2數(shù)據(jù)傳送控制方式有哪幾種?試比擬它們各自的優(yōu)缺點。答:數(shù)據(jù)傳送控制方式有程序直接控制方式、中斷控制方式、DMA方式和通道方式4種。 程序直接控制方式就是由用戶進程來直接控制內(nèi)存或CPU和外圍設備之間的數(shù)據(jù)傳送。它的優(yōu)點是控制簡單,也不需要多少硬件支持。它的缺點是;CPU和外圍設備只能串行工作;設備之間只能串行工作;無法發(fā)現(xiàn)和處理由于設備或其他硬件所產(chǎn)生的錯誤。 中斷控制方式是利用向CPU發(fā)送中斷的

溫馨提示

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

評論

0/150

提交評論