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

下載本文檔

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

文檔簡介

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

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

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

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

5、和控制作業(yè)的執(zhí)行或管理計算機系統(tǒng)。另 一個接口是系統(tǒng)調(diào)用,編程人員使用系統(tǒng)調(diào)用來請求操作系統(tǒng)提供服務(wù),例如申請和釋放外設(shè)等類資源、 控制程序的執(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)功能來完成那些與機器硬件部分相關(guān)的工作以及控制程序的執(zhí)行 速度等。因此,系統(tǒng)調(diào)用像一個黑箱子那樣,對用戶屏蔽了操作系統(tǒng)的具體動作而只提供有關(guān)的功能。它 與一般用戶程序、庫函數(shù)和實用程序的區(qū)別是:系統(tǒng)調(diào)用程序是在核心態(tài)執(zhí)行,調(diào)用它

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

7、試比較作業(yè)和進程的區(qū)別。答:一個進程是一個程序?qū)δ硞€數(shù)據(jù)集的執(zhí)行過程,是分配資源的基本單位。作業(yè)是用于需要計算機 完成某項任務(wù),而要求計算機所做工作的集合。一個作業(yè)的完成要經(jīng)過作業(yè)提交,作業(yè)收容、作業(yè)執(zhí)行和 作業(yè)完成4個階段。而進程是已提交完畢的程序所執(zhí)行過程的描述,足資源分配的基本單位。其主要區(qū)別關(guān) 系如下:(1)作業(yè)是用戶向計算機提交任務(wù)的任務(wù)實體。在用戶向計算機提交作業(yè)之后,系統(tǒng)將存儲在外存中的作業(yè)等待隊列中等待執(zhí)行。而進程則是完成 用戶任務(wù)的執(zhí)行實體,是向系統(tǒng)申請分配資源的基本單位。任一進程,只要它被創(chuàng)建,總有相應(yīng)的部分存 在于內(nèi)存中。(2)一個作業(yè)可由多個進程組成。且必須至少由一個進

8、程組成,但反過來不成立。(3)作業(yè)的概念主要用在批處理系統(tǒng)中。像 Unix這樣的分時系統(tǒng)中,則沒有作業(yè)概念。而進程的概念則用在幾乎所有的多道程序系統(tǒng)中。3.6 什么是臨界區(qū)?試舉一臨界區(qū)的例子。答:臨界區(qū)是指不允許多個并發(fā)進程交叉執(zhí)行的一段程序。它是由于不同并發(fā)進程的程序段共享公用數(shù)據(jù) 或公用數(shù)據(jù)變量而引起的。所以它叉被稱為訪問公用數(shù)據(jù)的那段程序。例如:getspace :beginlocal g g=stacktoptop=top-1 endrelease (ad):begintop=top+1 stacktop=ad end3.8 什么是進程間的互斥,什么是進程間同步?答:進程間的互斥是指

9、:一組并發(fā)進程中的一個或多個程序段,因共享某一公有資源而導(dǎo)致它們必須 以一個不許交叉執(zhí)行的單位執(zhí)行,即不允許兩個以上的共享該資源的并發(fā)進程同時進入臨界區(qū)。進程間的同步是指:異步環(huán)境下的一組并發(fā)進程因直接制約互相發(fā)送消息而進行互相合作、互相等 待-是各進程按一定的速度執(zhí)行的過程。3.11兩進程Pa,Pb通過兩FIFO緩沖區(qū)隊列連接(如圖E1.1 ),每個緩沖區(qū)長度等于傳送消息長 度。進程Pa,Pb之間的通信滿足如下條件:(a)至少有一個空緩沖區(qū)存在時,相應(yīng)的發(fā)送進程才能發(fā)送一個消息。(b)當(dāng)緩沖隊列中至少存在一個非空緩沖區(qū)時,相應(yīng)的接收進程才能接受一個消息。試描述發(fā)送過程 send (i,m)和

10、接收過程receive (i,m)。這里i代表緩沖隊列。答:定義數(shù)組 bufO,buf1 ,bufempty0,buffull1 是 Pa 的私有信息量、buffull0,bufempty1是 Pb 的私有信息量。初始時:bufempty0=bufempty1 =n, (n 為緩沖區(qū)隊列的緩沖區(qū)個數(shù))buffull0=buffull1=0send (l,m) beginlocal xP(bufemptyl)按FIFO方式選擇一個空緩沖區(qū)bufl(x)bufl(x)=mbufl(x)置滿標記V( buffulll)End receive(l,m)beginlocal xP(buffulll)按F

11、IFO方式選擇一個裝滿數(shù)據(jù)的緩沖區(qū)bufl(x) m=bufl(x) bufl(x)置空標記V( bufemptyl)EndPa調(diào)用 send(0 » m)和 receive(1,m)Pb 調(diào)用 send( 1 » m)和 receive(0,m)3.13編寫一個程序使用系統(tǒng)調(diào)用fork生成3個子進程,并使用系統(tǒng)調(diào)用使得這3 pipe創(chuàng)建一管道, 個子進程和父進程公用同一個管道進行信息通信。答:main()(int rJp1,p2,p3,fd2;char buf50,s5; pipe(fd);while(p1 =fork()=-1); if(p1 =0)Lock(fd1,1

12、,0);sprintf(buf,M child process P1 is sending message!nM ); printf( ch *1ld process P1 !n M );write(fd1,buf,50);sleep(5); lockf(fd1,0,0);exit(O);|else(while(p2=fork()=-1);if(p2=0)(sprintf(buf,M child process P2 is sending message!nM ); printf( ch *1ld process P2!n M );write(fd1,buf,50);sleep(5); loc

13、kf(fd1,0,0);exit(O);|else(while(p3=fork()=-1);if(p3=0)(sprintf(buf, M child process P3is sending message!nM ); printf( ch "ild processP3!n");write(fd1,buf,50);sleep(5); lockf(fd1,0,0);exit(O);|)wait(O);if(e=read(fd0,s,50)= -1)printf( "can't read pipe'rT );elseprintf( "sn&

14、quot;,s);wait(O);if(r=read(fd0,s,50)= -1)printf( "can't read pipen")elseprintf( "sn",s);exit(O);3.14 設(shè)有5個哲學(xué)家,共享一張放有五把椅子的桌子,每人分得一把椅子。但是,桌子上總共只有五 支筷子,在每人兩邊分開各放一支。哲學(xué)家們在肚子饑餓時才試圖分兩次從兩邊拾起筷子就餐。 條件:(1)只有拿到兩支筷子時,哲學(xué)家才能吃飯。(2)如果筷子已在他人手上,則該哲學(xué)家必須等到他人吃完之后才能拿到筷子。(3)任一哲學(xué)家在自己未拿到兩支筷子吃飯之前,決不放下自己

15、手中的筷子。 試:(1)描述一個保證不會出現(xiàn)兩個鄰座同時要求吃飯的通信算法。(2)描述一個既沒有兩鄰座同時吃飯,又沒有人餓死(永遠拿不到筷子)的算法。在什么情況下,5個哲學(xué)家全部吃不上飯?答設(shè)信號量coc4,初始值均為I,分別表示I號筷子被拿(1=0,1,2,3,4)。Send(l):第I個 哲學(xué)家要吃飯BeginP(cl);P(c(l+1)mod5);eat;V(c (1+1) mod 5);V(cl);end該過程能保證兩鄰座不同時吃飯,但會出現(xiàn)5個哲學(xué)家一人拿一支筷子,誰也吃不上飯的死鎖情況。答(2)解決的思路如下:讓奇數(shù)號的哲學(xué)家先取右手邊的筷子,讓偶數(shù)號的哲學(xué)家先取做左手邊的筷子。這

16、 樣,任何一個哲學(xué)家拿到一支筷子之后,就已經(jīng)阻止了他鄰座的一個哲學(xué)家吃飯的企圖,除非某個哲學(xué)家 一直吃下去,否則不會有人餓死。Send(l):第I個哲學(xué)家要吃飯BeginIf (I mod 2) = = 0Then(P(cl); P(c(l+1) mod 5 ); eat; V(cl); V(c(l+1) mod 5 );else (P(c(l+1)mod5);P(cl); eat;V(c(l+1)mod5);V(cl);iEnd3.15 什么是線程?試述線程與進程的區(qū)別。答:線程是在進程內(nèi)用于調(diào)度和占有處理機的基本單位, 它由線程控制表、存儲線程上下文的用戶棧以及核心棧組成。線程可分為用戶級

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

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

19、起狀態(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)存、外設(shè)及有關(guān)數(shù)據(jù)結(jié)構(gòu)等。從而, 在進程有資格警長處理機之前,作業(yè)調(diào)度程序必須先調(diào)用存儲管理、外設(shè)管理程序,并按一定的選擇順序 和策略從輸入并中選擇出幾個處于后備狀態(tài)的作業(yè),為他們分配資源和創(chuàng)建進程,使他們獲得競爭處理機 的資格

20、。另夕卜,由于處于執(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)度。其主要任務(wù)是按照給定的原則和策略,將處于外存交換區(qū)中的就緒狀 態(tài)或等待狀態(tài)或內(nèi)存等待狀態(tài)的進程交換到外存交換區(qū)。交換調(diào)度主要涉及到內(nèi)存管理與擴充。因此在有寫 書本中也把它歸入內(nèi)存管理部分。(3)進程調(diào)度:又稱微觀調(diào)度或低級調(diào)度。其主要

21、任務(wù)是按照某種策略和方法選取一個處于就緒狀態(tài) 的進程占用處理機。在確立了占用處理機的進程之后,系統(tǒng)必須進行進程上下文切換以建立與占用處理機 進程相適應(yīng)的執(zhí)行環(huán)境。(4)線程調(diào)度:進程中相關(guān)堆棧和控制表等的調(diào)度。在分時系統(tǒng)中,一般不存在作業(yè)調(diào)度,而只有線 程調(diào)度、進程調(diào)度和交換調(diào)度。這是因為在分時系統(tǒng)中,為了縮短響應(yīng)時間,作業(yè)不是建立在外存,而是 直接建立在內(nèi)存中。在分時系統(tǒng)中,一旦用戶和系統(tǒng)的交互開始,用戶馬上要進行控制。因此,分時系統(tǒng)中 沒有作業(yè)提交狀態(tài)和后備狀態(tài)。分時系統(tǒng)的輸入信息經(jīng)過終端緩沖區(qū)為系統(tǒng)直接接收,或立即處理,或經(jīng) 交換調(diào)度暫存外存中。4.3 作業(yè)調(diào)度的性能評價標準有哪些?這些

22、性能評價標準在任何情況下都能反映調(diào)度策略的優(yōu)劣嗎? 答:對于批處理系統(tǒng),由于主要用于計算,因而對于作業(yè)的周轉(zhuǎn)時間要求較高。從而作業(yè)的平均周轉(zhuǎn)時 間或平均帶權(quán)周轉(zhuǎn)時間被用來衡量調(diào)度程度的優(yōu)劣。但對于分時系統(tǒng)來說,平均響應(yīng)時間又被用來衡量調(diào)度 策略的優(yōu)劣。對于分時系統(tǒng),除了要保證系統(tǒng)吞吐量大、資源利用率高之外,還應(yīng)保證用戶能夠容忍的響應(yīng)時間。因 此,在分時系統(tǒng)中,僅僅用周轉(zhuǎn)時間或帶權(quán)周轉(zhuǎn)時間來衡量調(diào)度性能是不夠的。對于實時系統(tǒng)來說,衡量調(diào)度算法優(yōu)劣的主要標志則是滿足用戶要求的時限時間。4.4 進程調(diào)度的功能有哪些?答:進程調(diào)度的功能有:(1)記錄和保存系統(tǒng)中所有進程的執(zhí)行情況;(2)選擇占有處理機

23、的進程;(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í)行中進程提出I/O請求后被阻塞。(5)在分時系統(tǒng)中時間片已經(jīng)用完。(6)在執(zhí)行完系統(tǒng)調(diào)用等系統(tǒng)程序后返回用戶程序時,可看做系統(tǒng)進程執(zhí)行完畢,從而調(diào)度選擇一新的 用戶進程執(zhí)行。(7)在CPU執(zhí)行方式是可剝奪時,還有:就緒隊列中的某進程的優(yōu)先級變得高于當(dāng)前執(zhí)行

24、進程的優(yōu)先 級,從而也將引發(fā)進程調(diào)度。3.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)存信息的共享與保護。3.2 什么是虛擬存儲器?其特點是什么?答:由進程中的目標代碼、數(shù)據(jù)等的虛擬地址組成的虛擬空間 稱為虛擬存儲器。虛擬存儲器不考慮物理存儲器的大小和信息存放的實際位置,只規(guī)定每個進程中相互關(guān)聯(lián) 信息的相對位置。每個進程都擁有自己的虛

25、擬存儲器-且虛擬存儲器的容量是由計算機的地址結(jié)構(gòu)和尋址方 式來確定。實現(xiàn)虛擬存儲器要求有相應(yīng)的地址轉(zhuǎn)換機構(gòu),以便把指令的虛擬地址變換為實際物理自址;另外,由 于內(nèi)存空間較小,進程只有部分內(nèi)容存放于內(nèi)存中,待執(zhí)行時根據(jù)需要再凋指令人內(nèi)存。3.3 實現(xiàn)地址重定位的方法有哪幾類?答:實現(xiàn)地址重定位的方法有兩類:靜態(tài)地址重定位和動態(tài)地址 重定位。(1)靜態(tài)地址重定位是在虛擬空間程序執(zhí)行之前由裝配程序完成地址映射工作。靜態(tài)重定位的優(yōu)點是不 需要硬件支持,但是用靜態(tài)地址重定位方法進行地址變換無法實現(xiàn)虛擬存儲器。靜態(tài)重定位的另一個缺點是 必須占用連續(xù)的內(nèi)存空間和難以做到程序和數(shù)據(jù)的共享。(2)動態(tài)地址重定位

26、是在程序執(zhí)行過程中,在CPU訪問內(nèi)存之前由硬件地址變換機構(gòu) 將要訪問的程序或數(shù)據(jù)地址轉(zhuǎn)換成內(nèi)存地址。動態(tài)地址重定位的主要優(yōu)點有:1 .可以對內(nèi)存進行非連續(xù)分配。2 .動態(tài)重定位提供了實現(xiàn)虛擬存儲器的基礎(chǔ)。3 .動態(tài)重定位有利于程序段的共享。5.6動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有哪幾種?比較它們各自的優(yōu)缺點。答:動態(tài)分區(qū)式管理的常用內(nèi)存分配算法有最先適應(yīng)法(FF)、最佳適應(yīng)法(BF)和最壞適應(yīng)法(WF )。優(yōu)缺點比較:(1 )從搜索速度上看最先適應(yīng)法最佳,最佳適應(yīng)法和最壞適應(yīng)法都要求把不同大小的空閑區(qū)按大小進 行排隊。(2)從回收過程來看,最先適應(yīng)法也是最佳,因為最佳適應(yīng)法和最壞適應(yīng)法都必須重

27、新調(diào)整空閑區(qū)的 位置。(3)最佳適應(yīng)法找到的空閑區(qū)是最佳的,但是會造成內(nèi)存碎片較多,影響了內(nèi)存利用率,而最壞適應(yīng) 法的內(nèi)存碎片最少,但是對內(nèi)存的請求較多的進程有可能分配失敗??傊N算法各有所長,針對不同的請求隊列,它們的效率和功能是不一樣的。5.8 簡述什幺是覆蓋?什么是交換?覆蓋和交換的區(qū)別是什么?答:將程序劃分為若干個功能上相對獨 立的程序段,按照程序的邏輯結(jié)構(gòu)讓那些不會同時執(zhí)行的程序段共享同一塊內(nèi)存區(qū)的內(nèi)存擴充技術(shù)就是覆 蓋。交換是指先將內(nèi)存某部分的程序和數(shù)據(jù)寫入外存交換區(qū),再從外存交換區(qū)中調(diào)入指定的程序或數(shù)據(jù)到內(nèi) 存中來,并讓其執(zhí)行的一種內(nèi)存擴充技術(shù)。與覆蓋技術(shù)相比,交換不要求程序

28、員給出程序段之間的覆蓋結(jié)構(gòu),而且,變換主要是在進程或作業(yè)之間進行,而覆蓋則主要在同一個作業(yè)或同一個進程內(nèi)進行。另外,覆蓋只能覆蓋那些與覆蓋程序段無關(guān)的程序段。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)虛存,這是因為靜態(tài)頁式管理要求進程或作業(yè)在執(zhí)行前全部被裝人內(nèi)存,作業(yè)或 進程的大小仍受內(nèi)存可用頁面數(shù)的限制。5.10

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

30、并將其換出。(2)輪轉(zhuǎn)法RP( round robin)。輪轉(zhuǎn)法循環(huán)換出內(nèi)存可用區(qū)一個可以被換出的頁,無論該頁是剛被換 進或已經(jīng)換進內(nèi)存很長時間。(3) 先進先出法FIFO(first in first out)。FIFO算法選擇在內(nèi)存駐留時間最長的一頁將其淘汰。(4) 最近最久未使用頁面置換算法LRU( least recently unused)。該算法的基本思想是:當(dāng)需要淘汰某一頁時,選擇離當(dāng)前時間最近的一段時間內(nèi)最久沒有使用過的頁面先淘汰。(5)理想型淘汰算法OPT(optimal replacement algorithm)。該算法淘汰在訪問串中將來再也不出 現(xiàn)的或是在離當(dāng)前最遠的位

31、置上出現(xiàn)的頁面。RP和FIFO都是基于CPU按線性順序訪問地址空間這一假設(shè),但是實際上CPU在很多時候并非是 按線性順序訪問地址空間的,因而它們的內(nèi)存利用率不高。此外FIFO算法還存在著Belady現(xiàn)象。LRU算 法的完全實現(xiàn)是相當(dāng)困難的,因而在實際系統(tǒng)中往往要采取LRU的近似算法,常用的近似算法有最不經(jīng)常使 用頁面淘汰算法LFU( least frequently used)和最近沒有使用頁面淘汰算法(NUR)。OPT算法由于必須預(yù)先知道每一個進程的指令訪問串,所以它是無 法實現(xiàn)的。(5) 4什么是段式管理?它與頁式管理有何區(qū)別?答:段式管理就是將程序按照內(nèi)容或過程(函數(shù))關(guān)系 分成段,每段

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

33、線性虛擬空間,也就是一個二維虛擬存儲器。(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)鏈接的過程非常復(fù)雜。5.16為什么要提出段頁式管理?它與段式管理及頁式管理有何區(qū)別?答:因為段式管理和頁式管理各 有

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

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

36、和進行存取控制。8.3什么是文件的邏輯結(jié)構(gòu)?什么是記錄?文件的邏輯結(jié)構(gòu)就是用戶可見的結(jié)構(gòu),可分為字符流式的無 結(jié)構(gòu)文件和記錄式的有結(jié)構(gòu)文件兩大類。記錄是一個具有特定意義的信息單位,它由該記錄在文件中的邏輯地址(相對位置)與記錄名所對應(yīng)的 一組關(guān)鍵字、屬性及其屬性值所組成。8-7文件的物理結(jié)構(gòu)有哪幾種?為什么說串聯(lián)文件結(jié)構(gòu)不適于隨機存?。课募奈锢斫Y(jié)構(gòu)是指文件在存儲設(shè)備上的存放方法。常用的文件物理結(jié)構(gòu)有連續(xù)文件、串聯(lián)文件和索引 文件3種。串聯(lián)文件結(jié)構(gòu)用非連續(xù)的物理塊來存放文件信息。這些非連續(xù)的物理塊之間沒有順序關(guān)系,鏈接成一 個串聯(lián)隊列。搜索時只能按隊列中的串聯(lián)指針順序搜索,存取方法應(yīng)該是順序存

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

38、閉塊鏈接在一起,從鏈頭分配空閑塊,把回收的空閑塊插入到 鏈尾。該方法不占用額外的空間,但實現(xiàn)復(fù)雜。位示圖法是從內(nèi)存中劃出若干字節(jié),每個比特位對應(yīng)一個物理塊的使用情況。如果該 位為0則表示對應(yīng)的是空閑塊,為I則表示對應(yīng)的物理塊已分配出去。位示圖法在查找空閑塊時無需啟動 外設(shè),但要占用內(nèi)存空間。8.11什么是文件目錄?文件目錄中包含哪些信息?答:一個文件的文件名和對該文件實施控制管理的 說明信息稱為該文件的說明信息,又稱為該文件的目錄。文件目錄中包含文件名、與文件名相對應(yīng)的文件內(nèi)部標識以及文件信息在文件存儲設(shè)備上第一個物理塊 的地址等信息。另外還可能包含關(guān)于文件邏輯結(jié)構(gòu)、物理結(jié)構(gòu)、存取控制和管理等

39、信息。8.14設(shè)文件SQRT由連續(xù)結(jié)構(gòu)的定長記錄組成,每個記錄的長度為500字節(jié),每個物理塊密,I000 字節(jié),且物理結(jié)構(gòu)是連續(xù)結(jié)構(gòu)并采用直接存取方式;試按照圖7 - 23所示文件系統(tǒng)模型,寫出系統(tǒng)調(diào)用Read (SQRT,5,15000)的各層執(zhí)行結(jié)果。其中,SQRT為文件名,5 為記錄號,I5000為內(nèi)存地址。答:(簡述)第I層用戶接口層,把系統(tǒng)調(diào)用轉(zhuǎn)化成內(nèi)部調(diào)用格式。第2層符號文件系統(tǒng)層,把第I層提供的用戶文件名轉(zhuǎn)化成系統(tǒng)內(nèi)部的唯一標識符fd。第3層基本文件系統(tǒng)層根據(jù)參數(shù)fd找到文件的說明信息。第4層存取控制驗證層根據(jù)存取控制信息和用戶訪問要求,檢驗文件訪問的合法性。第5層邏輯文件系統(tǒng)層

40、根據(jù)文件邏輯結(jié)構(gòu)找到第5個記錄對應(yīng)的邏輯地址2000,并將其轉(zhuǎn)換為相對 塊號2。第6層物理文件系統(tǒng)層根據(jù)文件的物理結(jié)構(gòu)把相對塊號2轉(zhuǎn)換成物理地址如1000000。第7層文件存儲設(shè)備分配模塊和設(shè)備策略模塊把物理塊號轉(zhuǎn)換成具體磁盤的柱面號、磁道號和扇區(qū)號, 然后準備啟動輸入設(shè)備命令。第8層啟動輸入輸出層由設(shè)備處理程序執(zhí)行讀操作,把第5個記錄讀到內(nèi)存地址15000處。9.1 設(shè)備管理的目標和功能是什么?答:設(shè)備管理的目標是:選擇和分配輸入輸出設(shè)備以便進行數(shù)據(jù)傳 輸操作;控制輸入輸出設(shè)備和CPU (或內(nèi)存)之間交換數(shù)據(jù);為用戶提供一個友好的透明接口 ;提供設(shè)備 和設(shè)備之間、CPU和設(shè)備之間,以及進程和進程之間的并行操作,以使操作系統(tǒng)獲得最佳效率。設(shè)備管理的功能是:提供和進程管理系統(tǒng)的接口;進行設(shè)備分配;實現(xiàn)設(shè)備和設(shè)備、設(shè)備和CPU等之 間的并行操作;進行緩沖區(qū)管理。9.2 數(shù)據(jù)傳送控制方式有哪幾種?試比較它們各自的優(yōu)缺點。答:數(shù)據(jù)傳送控制方式有程序直接控制方 式、中斷控制方式、DMA方

溫馨提示

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

最新文檔

評論

0/150

提交評論