计算机操作系统|汤小丹|第四版|习题答案
第一章
1.設計現代OS的主要目標是什么?
方便性,有效性,可擴充性和開放性。
方便性:系統可以使用編譯命令將用戶采用高級語言書寫的程序翻譯成機器代碼,或者直接通過OS所提供的各種命令操作計算機系統。
有效性:提高系統資源的利用率;提高系統的吞吐量
可擴充性:能方便地增添新的功能和模塊,以及對原有的功能和模塊進行修改
開放性:使得不同廠家按照標準生產的軟、硬件都能在本國范圍內很好地相互兼容
2.OS的作用可表現在哪幾個方面?
作為用戶與計算機硬件系統之間的接口:OS處于用戶與計算機硬件系統之間。用戶通過OS來使用計算機系統。
作為計算機系統資源的管理者:資源:處理機、存儲器、I/O設備以及文件(數據和程序)。
實現了對計算機資源的抽象。
3.為什么說操作系統實現了對計算機資源的抽象?
裸機向用戶提供的僅是硬件接口,用戶必須對物理接口十分熟悉,使物理機器難于廣泛使用。
在裸機上鋪設的I/O軟件隱藏了I/O 設備的具體細節,向上提供了一組抽象的I/O設備。I/O設備管理軟件實現了對計算機硬件操作的第一個層次的抽象;文件管理軟件實現了對硬件資源操作的第二個層次的抽象;再覆蓋一層面向用戶的窗口軟件。
4.試說明推動多道批系統形成和發展的主要動力是什么?
不斷提高計算機資源利用率;方便用戶;器件的不斷更新換代;計算機體系結構的不斷發展;不斷提出新的應用要求。
5.何謂脫機I/O和聯機I/O?
脫機I/O:程序和數據的輸入和輸出都是在外圍機的控制下完成的。在脫離主機的情況下進行的。
聯機I/O:是指程序和數據的輸入輸出都是在主機的直接控制下進行的。
假脫機:在聯機情況下實現的同時操作的技術。
6.試說明推動分時系統形成和發展的主要動力是什么。
為了滿足用戶對人-機交互的需求。
7.實現分時系統的關鍵問題是什么?應如何解決?
及時接收:在系統中配置一個多路卡即可。多路卡的作用:實現分時多路復用,即主機以很快的速度周期性地掃描各個終端,在每個終端處停留很短的時間。
及時處理:作業直接進入內存;采用輪轉運行方式。
8.為什么要引入實時操作系統?
如果嵌入式系統的功能比較復雜,需要網絡功能、存儲器管理、進程/線程管理等,則通過嵌入式操作系統的幫助,可加快嵌入式系統軟件的開發進度和可靠性。
9.什么是硬實時任務和軟實時任務?試舉例說明。
硬實時任務:系統必須滿足任務隊截止時間的要求,否則可能出現難以預測的后果。用于工業和武器控制的實時系統。
軟實時任務:對于截止時間不嚴格,即使錯過了,對系統的影響也不太大。信息查詢系統和多媒體系統中的實時系統。
10.試從交互性、及時性以及可靠性方面將分時系統與實時系統進行比較。
交互性:在信息查詢系統中,人與系統的交互性僅限于訪問系統中某些特定的專用服務程序。它并不像分時系統那樣,能向終端用戶提供數據處理、資源共享等服務。而多媒體系統的交互性也僅限于用戶發送某些特定的命令,如開始、停止、快進等,由系統立即響應。
及時性:信息查詢系統對實時性的要求是依據人所能接受的等待時間確定,而多媒體系統實時性的要求是,播放出來的音樂和電視能令人滿意。實時控制系統的實時性則是以控制對象所要求的截止時間來確定的,一般為秒級到毫秒級。
可靠性:分時系統要求系統可靠,實時系統要求系統高度可靠,因為任何差錯都可能帶來無法預料的后果。因此,在實時系統中,往往都采取了多級容錯技術來保障系統的安全性及數據的安全性。
11.OS有哪幾大特征?其最基本的特征是什么?
并發性,共享性,虛擬性和異步性。
最基本:并發性
并行是指兩個或多個時間在同一時刻發生。
并發是指兩個或多個事件在同一時間間隔內發生。
共享:系統中的資源可供內存中多個并發執行的進程共同使用。
虛擬:通過某種技術將一個物理實體變為若干個邏輯上的對應物的功能。(時分復用技術和空分復用技術)
時分復用技術:利用某設備為一用戶服務的空閑時間,又轉去為其他用戶服務,使設備得到最充分的利用。
空分復用技術:利用存儲器的空閑空間分區域存放和運行其他的多道程序,以此來提高內存的利用率。
異步:進程是以人們不可預知的速度向前推進的。
12.在多道程序技術的OS環境下的資源共享與一般情況下的資源共享有何不同?對獨占資源應采取何種共享技術?
一般情況下的共享只是說明某種資源能被大家使用,只要通過適當的安排,用戶之間并不會產生對資源的競爭,因此資源管理是比較簡單的。
而在OS環境下的資源共享或稱為資源復用,是指系統中的資源可供內存中多個并發執行的進程共同使用。
對獨占資源應采取互斥式共享。
13.什么是時分復用技術?舉例說明它能提高資源利用率的根本原因是什么。
時分復用技術:利用某設備為一用戶服務的空閑時間,又轉去為其他用戶服務,使設備得到最充分的利用。
舉例:虛擬處理機技術:利用多道程序設計技術(時分復用技術),可將一臺物理上的處理機虛擬為多臺邏輯上的處理機,在每臺邏輯處理機上運行一道程序。
14.是什么原因使操作系統具有異步性特征?
對于內存中的每個進程,在何時能獲得處理機運行,何時又因提出某種資源請求而暫停,以及進程以怎樣的速度向前推進,每道程序總共需要多少時間才能完成等,都是不可預知的,進程是以人們不可預知的速度向前推進的,此即進程的異步性。
15.處理機管理有哪些主要功能?其主要任務是什么?
進程控制;進程同步;進程通信;調度
主要功能:創建和撤銷進程,對諸進程的運行進行協調,實現進程之間的信息交換,以及按照一定的算法把處理機分配給進程。
16.內存(存儲器)管理有哪些主要功能?其主要任務是什么?
內存分配;內存保護;地址映射;內存擴充
主要任務:是為多道程序的運行提供良好的環境,提高存儲器的利用率,方便用戶使用,并能從邏輯上擴充內存。
17.設備管理有哪些主要功能?其主要任務是什么?
緩沖管理;設備分配;設備處理
主要任務:完成用戶進程提出的I/O請求,為用戶進程分配所需的I/O設備,并完成指定的I/O操作。
提高CPU和I/O設備的利用率,提高I/O速度,方便用戶使用I/O設備。
18.文件管理有哪些主要功能?其主要任務是什么?
主要任務:對用戶文件和系統文件進行管理以方便用戶使用,并保證文件的安全性。
文件存儲空間的管理;目錄管理;文件的讀/寫管理和保護
19.試說明推動傳統OS演變為現代OS的主要因素是什么?
系統安全;網絡的功能和服務;支持多媒體
20.什么是微內核OS?
從四個方面對微內核結構的操作系統進行描述:足夠小的內核;基于客戶/服務器模式;應用“機制與策略分離”的原理;采用面向對象技術
21.微內核操作系統具有哪些優點?它為何能有這些優點?
由于微內核OS結構是建立在模塊化、層次化結構的基礎上的,并采用了客戶/服務器模式和面向對象的程序設計技術,因此,微內核結構的操作系統是集各種技術優點之大成,因而具有如下優點:
1)提高了系統的可擴展性
2)增強了系統的可靠性
3)可移植性強
4)提供了對分布式系統的支持
5)融入了面向對象技術
22.現代操作系統較之傳統操作系統又增加了哪些功能和特征?
進程(線程)管理;低級存儲器管理;中斷和陷入管理
23.在微內核OS中,為什么要采用客戶/服務器模式?
數據的分布處理和存儲;便于集中管理;靈活性和可擴充性;易于改編應用軟件
24.在基于微內核結構的OS中,應用了那些新技術?
采用面向對象的程序設計技術。
25.何謂微內核技術?在微內核中通常提供了哪些功能?
把操作系統中更多的成分和功能放到更高的層次(即用戶模式)去運行,而留下一個盡量小的內核,用它來完成操作系統最基本的核心功能稱這種技術為微內核技術。在微內核中通常提供了進程(線程)管理;低級存儲器管理;中斷和陷入管理等功能。
第二章
1.什么是前趨圖?為什么要引入前趨圖?
前趨圖是一個有向無循環圖,記為DAG,用于描述進程之間執行的先后關系。
2.試畫出下面四條語句的前趨圖:
S1:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4:w=c+1;
3.為什么程序并發執行會產生間斷性特征?
程序并發執行時,由于他們共享系統資源,為完成同一項任務需要相互合作,致使這些并發執行的進程之間,形成了相互制約關系,從而使得進程在執行期間出現間斷性。
4.程序并發執行時為什么會失去封閉性和可再現性?
程序并發執行時,多個程序共享系統中的各種資源,因而這些資源的狀態由多個程序改變,致使程序運行失去了封閉性,也會導致其失去可再現性。
5.在操作系統中為什么要引入進程概念?它會產生什么樣的影響?
為了使程序在多道程序環境下能并發執行,并對并發執行的程序加以控制和描述,在操作系統中引入了進程的概念。
影響:使程序的并發執行得以實行。
6.試從動態性、并發性和獨立性上比較進程和程序。
1)動態性是進程最基本的特性,表現為由創建而產生,由調度而執行,因得不到資源而暫停執行,由撤銷而消亡。進程有一定的生命期,而程序只是一組指令的有序集合。是靜態實體。
2)并發性是進程的重要特征,同時也是OS的重要特征,引入進程的目的正是為了使其程序能和其他進程的程序并發執行,而程序是不能并發執行的。
3)獨立性是指進程實體是一個能獨立運行、獨立獲得資源和獨立接受調度的基本單位。凡未建立PCB的程序都不能作為一個獨立的單位參與運行。
7.試說明PCB的作用,為什么說PCB是進程存在的唯一標志?
PCB是進程實體的一部分,是操作系統中最重要的記錄型數據結構作用是使一個在多道程序環境下不能獨立運行的程序,成為一個能獨立運行的基本單位,成為能與其他進程并發執行的進程,OS是根據PCB對并發執行的進程進行控制和管理的。
8.PCB提供了進程管理和進程調度所需要的哪些信息?
進程管理:程序和數據的地址、進程同步和通信機制、資源清單、鏈接指針
進程調度:進程狀態、進程優先級、事件、其他信息
9.進程控制塊的組織方式有哪幾種?
線性方式、鏈接方式、索引方式
10.何謂操作系統內核?內核的主要功能是什么?
通常將一些與硬件緊密相關的模塊(如中斷處理程序等)、各種常用設備的驅動程序以及運行頻率較高的模塊(如時鐘管理、進程調度和許多模塊所公用的一些基本操作),都安排在緊靠硬件的軟件層次中,將它們常駐內存,即通常被稱為的OS內核。
大多數OS內核包含這兩大功能:支撐功能、資源管理功能。
11.試說明進程在三個基本狀態之間轉換的典型原因。
處于就緒態的進程,在調度程序為之分配了處理機之后便可執行,相應地,其狀態就由就緒態轉變為執行態;
正在執行的進程如果因分配給它的時間片已完而被剝奪處理機暫停執行時,其狀態便由執行態轉為就緒;
如果因發生某事件,致使當前進程的執行受阻,使之無法繼續執行,則該進程狀態將由執行轉變為阻塞。
12.為什么要引入掛起狀態?該狀態有哪些性質?
終端用戶的需要;父進程請求;負荷調節的需要;操作系統的需要。
性質:不能被處理機調度。
13.在進行進程切換時,所要保存的處理機狀態信息有哪些?
通用寄存器、指令計數器、程序狀態字、用戶棧指針。
14.試說明引起進程創建的主要事件。
用戶登錄、作業調度、提供服務、應用請求。
15.試說明引起進程被撤銷的主要事件。
正常結束、異常結束、外界干預。
16.在創建一個進程時所要完成的主要工作是什么?
申請空白PCB,為新進程申請獲得唯一的數字標識符,并從PCB集合中索取一個空白PCB;
為新進程分配其運行所需的資源,包括各種物理和邏輯資源,如內存、文件、I/O設備和CPU時間等;
初始化進程控制塊;
如果進程就緒隊列能夠接納新進程,便將新進程插入就緒隊列。
17.在撤銷一個進程時所要完成的主要工作是什么?
根據被終止進程的標識符,從PCB集合中檢索出該進程的PCB,從中讀出該進程的狀態;
若被終止進程正處于執行狀態,應立即終止該進程的執行,并置調度標志為真,用于指示該進程被終止后應重新進行調度;
若該進程還有子孫進程,還應將其所有子孫進程也都予以終止,以防它們成為不可控的進程;
將被終止進程所擁有的全部資源或者歸還給其父進程,或者歸還給系統;
將被終止進程從所在隊列中移出,等待其他程序來搜集信息。
18.試說明引起進程阻塞或被喚醒的主要事件是什么?
向系統請求共享資源失敗;
等待某種操作的完成;
新數據尚未到達;
等待新任務的到達。
19.為什么要在OS中引入線程?
為了減少在并發執行時所付出的時空開銷,使OS具有更好的并發性。
20.試說明線程有哪些屬性?
輕型實體、獨立運行和調度的基本單位、可以并發執行、可共享所屬進程的資源。
21.試從調度性、開發性、擁有資源及系統開銷方面對進程和線程進行比較。
調度性:在傳統的操作系統中,擁有資源的基本單位和獨立調度、分派的基本單位都是進程,在引入線程的OS中,則把線程作為調度和分派的基本單位,而把進程作為資源擁有的基本單位;
并發性:在引入線程的OS中,不僅進程之間可以并發執行,而且在一個進程的多個線程之間,亦可并發執行,因而使OS具有更好的并發性;
擁有資源:無論是傳統的操作系統,還是引入了線程的操作系統,進程始終是擁有資源的一個基本單位,而線程除了擁有一點在運行時必不可少的資源外,本身不擁有系統資源,但它可以訪問其隸屬進程的資源;
開銷:由于創建或撤銷進程時,系統都要為之分配和回收資源,如內存空間等,進程切換時所要保存和設置的現場信息也要明顯地多于線程,因此,操作系統在創建、撤銷和切換晉城市所付出的開銷將顯著的大于進程。
22.線程控制塊TCB中包含了哪些內容?
線程標識符、一組寄存器、線程運行狀態、優先級、線程專有存儲區、信號屏蔽、堆棧指針。
23.何謂用戶級線程和內核支持線程?
用戶級線程是在用戶空間中實現的,與內核無關。
內核支持線程是在內核支持下運行的。
24.試說明用戶級線程的實現方法。
用戶級線程都運行在一個中間系統上,有兩種方式實現中間系統,運行時系統和內核控制系統。
25.試說明內核支持線程的實現方法。
系統在創建新進程時,分配一個任務數據區PTDA,其中包括若干個線程控制塊TCB空間。創建一個線程分配一個TCB,有關信息寫入TCB,為之分配必要的資源。當PTDA中的TCB 用完,而進程又有新線程時,只要所創建的線程數目未超過系統允許值,系統可在為之分配新的TCB;在撤銷一個線程時,也應回收線程的所有資源和TCB。
26.多線程模型有哪幾種類型?多對一模型有何優缺點?
多對一、一對一、多對多。
優點:線程管理的開銷小,效率高;
缺點:如果一個線程在訪問內核時發生阻塞,則整個進程都會被阻塞;此外,在任一時刻,只有一個線程能夠訪問內核,多個線程不能同時在多個處理機上運行。
第三章
1.高級調度與低級調度的主要任務是什么?為什么要引入中級調度?
高級調度(長程調度、作業調度)主要任務是根據某種算法,決定將外存上處于后備隊列中的哪幾個作業調入內存,為它們創建進程、分配必要的資源,并將它們放入就緒隊列。
低級調度(短程調度、進程調度)主要任務是根據某種算法,決定就緒隊列中的哪個進程應獲得處理機,并由分派程序將處理及分配給被選中的進程。
引入中級調度(內存調度)的目的是,提高內存利用率和系統吞吐量。使那些暫時不能運行的進程不再占用內存資源,將它們調至外存等待,把進程狀態改為就緒駐外存狀態或掛起狀態。
2.處理機調度算法的共同目標是什么?批處理系統的調度目標又是什么?
處理機調度算法的共同目標:資源利用率、公平性、平衡性、策略強制執行
批處理系統的調度目標:平均周轉時間短、系統吞吐量高、處理機利用率高
3.何謂作業、作業步和作業流?
作業包含了通常的程序和數據,還配有一份作業說明書,系統根據該說明書來對程序的運行進行控制。
作業運行期間,每個作業都必須經過若干個相對獨立,又相互關聯的順序加工步驟才能得到結果。我們把其中的每一個加工步驟稱為一個作業步。
在操作系統的控制下,逐個作業進程處理,于是形成了處理作業流。
4.在什么情況下需要使用作業控制塊PCB,其中包含了哪些內容?
每當作業進入系統時,系統便為每個作業建立一個作業控制塊JCB,根據作業類型將它插入到相應的后備隊列中。JCB 包含的內容通常有:
作業標識 2)用戶名稱 3)用戶賬戶
4)作業類型(CPU繁忙型、I/O 芳名型、批量型、終端型)5)作業狀態
6)調度信息(優先級、作業已運行) 7)資源要求 8)進入系統時間 9) 開始處理時間 10) 作業完成時間 11) 作業退出時間 12) 資源使用情況等
5.在作業調度中應如何確定接納多少個作業和接納哪些作業?
作業調度每次接納進入內存的作業數,取決于多道程序度。應將哪些作業從外存調入內存,取決于采用的調度算法。最簡單的是先來服務調度算法,較常用的是短作業優先調度算法和基于作業優先級的調度算法。
6.為什么要引入高響應比優先調度算法?它有何優點?
在批處理系統中,先來先服務算法(FCFS)所考慮的只是作業的等待時間,而忽視了作業運行時間。而短作業優先算法(SJF)正好與之相反,只考慮作業運行時間,而忽視了作業等待時間。高響應比優先調度算法則是既考慮了作業等待時間,又考慮作業運行時間的調度算法,因此既照顧了短作業,又不致使長作業的等待時間過長,從而改善了處理機調度的性能。
7.試說明低級調度的主要功能。
保存處理機的現場信息、按某種算法選取進程、把處理器分配給進程
8.在搶占調度方式中,搶占的原則是什么?
優先權原則、短進程優先原則、時間片原則
9.在選擇調度方式和調度算法時,應遵循的準則是什么?
(1)面向用戶的準則:周轉時間短,響應時間快,截止時間的保證,優先權準則。
(2)面向系統的準則:系統吞吐量高,處理機利用率好,各類資源的平衡利用。
10.在批處理系統、分時系統和實時系統中,各采用哪幾種進程(作業)調度算法?
批處理系統常用調度算法:
①、先來先服務:FCFS
②、最短作業優先
③、最短剩余時間優先
④、響應比最高者優先
分時系統調度算法:
①、輪轉調度
②、優先級調度
③、多級隊列調度
④、彩票調度
實時系統調度算法:
①、單比率調度
②、限期調度
③、最少裕度法
11.何謂靜態和動態優先級?確定靜態優先級的依據是社么?
靜態優先級是在創建進程時確定的,在進程的整個運行期間保持不變。確定進程優先級大小的依據有三個:
進程類型、進程對資源的需求、用戶要求。
動態優先級是指在創建進程之初,先賦予其一個優先級,然后其值隨進程的推進或等待時間的增加而改變,以便獲得更好的調度性能。
12.試比較FCFS和SJF兩種進程調度算法。
相同:兩種調度算法都可用于作業調度與進程調度。
不同點:FCFS調度算法每次都從后備隊列中選擇一個或多個最先進入該隊列的作業,將它們調入內存、分配資源、創建進程、插入到就緒隊列。該算法有利于長作業進程,不利于短作業進程。
SJF算法每次調度都從后備隊列中選擇一個或若干個運行時間最短的作業,調入內存中運行。該算法有利于長作業進程,不利于短作業進程。
13.在時間片輪轉法中,應如何確定時間片大小?
略大于一次典型的交互所需要的時間。
14.通過一個例子來說明通常的優先級調度算法為什么不能適用于實時系統?
P102
15.為什么說多級反饋隊列調度算法能較好地滿足各方面用戶的需要?
(1)終端型用戶。由于終端型用戶提交的作業多屬于交互性作業,通常較小,系統只要能使這些作業在第一隊列規定的時間片內完成,便可使終端型用戶感到滿意。
(2)短批處理作業用戶。對于這類作業,如果可在第一隊列中執行完成,便可獲得與終端型作業一樣的響應時間。對于稍長的短作業,也只需在第二和第三隊列各執行一時間片完成,其周轉時間仍然較短。
(3)長批處理作業用戶。對于長作業,它將依次在第1,2,…,n個隊列中運行,然后再按輪轉方式運行,用戶不必擔心其作業長期得不到處理。
16.為什么說傳統的幾種調度算法都不能算是公平調度算法?
以上介紹的幾種調度算法所保證的只是優先運行,如優先級算法是優先級最高的作業優先運行,但并不保證作業占用了多少處理機時間。另外也未考慮到調度的公平性。
17.保證調度算法是如何做到調度的公平性的?
保證調度算法是另外一種類型的調度算法,它向用戶所做出的保證并不是優先運行,而是明確的性能保證,該算法可以做到調度的公平性。一種比較容易實現的性能保證是處理機分配的公平性。如果在系統中有n個相同類型的進程同時運行,為公平起見,須保證每個進程都獲得相同的處理機時間1/n。
18.公平分享調度算法又是如何做到調度的公平性的?
在公平分享調度算法中,調度的公平性主要是針對用戶而言,使所有用戶能獲得相同的處理機時間,或所要求的時間比例。
19.為什么在實時系統中,要求系統(尤其是CPU)具有較強的處理能力?
在實時系統中通常有多個實時任務,若處理機的處理能力不強,則有可能因處理機忙不過來,而致使某些實時任務不能得到及時處理,從而導致發生難以預料的后果。
20.按調度方式可將實時調度算法分為哪幾種?
非搶占式和搶占式。非搶占式又分為非搶占式輪轉調度算法和非搶占式優先調度算法,搶占式又分為基于時鐘中斷的搶占式優先級調度算法和立即搶占的優先級調度算法。
21.什么是最早截止時間優先調度算法?舉例說明之。
根據任務的開始截止時間確定的任務優先級調度算法。截止時間越早則優先級越高。該算法要求在系統中保持一個實時任務就緒隊列,該隊列按各任務截止時間的先后排序。
22.什么是最低松弛度優先調度算法?舉例說明之。
該算法是根據任務的緊急(或松弛)程度,來確定任務的優先級。任務的緊急程度越高,為該任務所賦予的優先級就越高,以使之優先執行。
例如,一個任務在200ms時必須完成,而它本身所需的運行時間就有100ms,因此,調度程序必須在100ms之前調度執行,該任務的緊急程度(松弛程度)為100ms。
又如,另一任務在400ms時必須完成,它本身需要運行150ms,則其松弛程度為250ms。
23.何謂“優先級倒置”現象,可采取什么方法來解決?
優先級倒置現象:高優先級進程(或線程)被低優先級進程(或線程)延遲或阻塞。
解決的方法:
(1)當進程進入臨界區后,CPU就不能被剝奪;
(2)優先級繼承:當優先級高的進程A被阻塞在資源X的臨界區外時,已分配到資源X、優先級低的進程B自動繼承A的高優先級,能盡早運行完畢,盡早釋放資源X,使得A盡快有機會運行。
24.試分別說明競爭可重用資源和可消耗資源的性質。
可重用資源:
(1)每一個可重用性資源中的單元只能分配給一個進程使用,不允許多個進程共享。
(2)進程在使用可重用性資源時,須按照這樣的順序:①請求資源。如果請求資源失敗,請求進程將會被阻塞或循環等待。②使用資源。進程對資源進行操作,如用打印機進行打印。③釋放資源。當進程使用完后自己釋放資源。
(3)系統中每一類可重用性資源中的單元數目是相對固定的,進程在運行期間即不能創建也不能刪除它。
可消耗性資源:
(1)每一類可消耗性資源的單元數目在進程運行期間是可以不斷變化的,有時它可以有許多,有時可能為0。
(2)進程在運行過程中,可以不斷地創造可消耗性資源的單元,將它們放入該資源類的緩沖區中,以增加該資源類的單元數目。
(3)進程在運行過程中,可以請求若干個可消耗性資源單元,用于進程自己的消耗,不再將它們返回給該資源類中。
25.試舉例說明競爭不可搶占資源所引起的死鎖。
P105
26.為了破壞“請求和保持”條件而提出了兩種協議,試比較這兩種協議。
第一種協議在所有進程開始運行之前,必須一次性地申請其在整個運行過程中所需的全部資源,并且在分配資源時,只要有一種資源不能滿足進程的要求,即使其他所需的各種資源都空閑也不分配給該進程,而讓該進程等待。因此有資源被嚴重浪費、進程經常會發生饑餓現象等缺點。
第二種協議是對第一種協議的改進,它允許一個進程只獲得運行初期所需的資源后,便開始運行。進程運行過程中再逐步釋放已分配給自己的,且已用畢的全部資源,然后再請求新的所需資源。
27.何謂死鎖?產生死鎖的原因和必要條件是什么?
死鎖是指多個進程在運行過程中因爭奪資源而造成的一種僵局,當進程處于這種僵持狀態時,若無外力作用,它們都將無法再向前推進。
產生死鎖的原因:競爭資源和進程推進順序非法。其必要條件是:互斥條件、請求和保持條件、不剝奪條件、環路等待條件。
在解決死鎖問題的幾個方法中,哪種方法最易于實現?哪種方法使資源利用率最高?
預防、避免、檢測和解除死鎖中,預防死鎖最容易實現;避免死鎖使資源利用率最高。
28.請詳細說明可通過哪些途徑預防死鎖。
(1)摒棄請求和保持條件,就是如果系統有足夠資源,便一次性把進程需要的所有資源分配給它;
(2)摒棄不剝奪條件,就是已經擁有資源的進程當它提出新資源請求而不能立即滿足時,必須釋放它已保持的所有資源,待以后需要時再重新申請;
(3)摒棄環路等待條件,就是將所有資源按類型排序標號,所有進程對資源的請求必須嚴格按序號遞增的次序提出。
29.在銀行家算法的例子中,如果P0發出的請求向量由Request(0,2,0)改為Request(0,1,0),問系統可否將資源分配給它?
本來編輯好表格了,結果被第四章覆蓋了,辛辛苦苦。有心情了再弄吧
30.在銀行家算法中,若出現下述資源分配情況,試問:
(1)該狀態是否安全?
(2)若進程P2提出請求Request(1,2,2,2)后,系統能否將資源分配給它?
第四章
1.為什么要配置層次存儲器?
(1)設置多個存儲器可以使存儲器兩端的硬件能并行工作。
(2)采用多級存儲系統,特別是Cache技術,這是一種減輕存儲器帶寬對系統性能影響的最佳結構方案。
(3)在微處理機內部設置各種緩沖存儲器,以減輕對存儲器存取的壓力。增加CPU中寄存器的數量,也可大大緩解對存儲器的壓力。
2.可采用哪幾種方式將程序裝入內存?它們分別適用于何種場合?
(1)首先由編譯程序將用戶源代碼編譯成若干目標模塊,再由鏈接程序將編譯后形成的目標模塊和所需的庫函數鏈接在一起,組成一個裝入模塊,再由裝入程序將裝入模塊裝入內存;
(2)裝入模塊的方式有:絕對裝入方式,可重定位方式和動態運行時裝入方式;
(3)絕對裝入方式適用于單道程序環境下;
(4)可重定位方式適用于多道程序環境下;
(5)動態運行時裝入方式也適用于到多道程序環境下。
3.何謂靜態鏈接?靜態鏈接時需要解決兩個什么問題?
在程序運行之前,先將各目標模塊及它們所需的庫函數連接成一個完整的裝配模塊,以后不再拆開。這種事先進行連接的方式稱為靜態鏈接方式。
要解決兩個問題:對相對地址進行修改;變換外部調用符號
4.何謂裝入時動態鏈接?裝入時動態鏈接方式有何優點?
這是指將用戶源程序編譯后所得到的一組目標模塊,在裝入內存時,采用邊裝入邊鏈接的鏈接方式。
優點:便于修改和更新;便于實現對目標模塊的共享。
5.何謂運行時動態鏈接?運行時動態鏈接方式有何優點?
將某些模塊的鏈接推遲到程序執行時才進行。
優點:加快程序的裝入過程;節省大量的內存空間。
6.在動態分配方式中,應如何將各空閑分區鏈接成空閑分區鏈?
為了實現對空閑分區的分配和鏈接,在每個分區的起始部分設置一些用于控制分區分配的信息,以及用于鏈接各分區所用的前向指針,在分區尾部則設置一后向指針。通過前、后向鏈接指針,可將所有的空閑分區鏈接成一個雙向鏈。
7.為什么要引入動態重定位?如何實現?
在動態運行時轉入的方式中,作業裝入內存后的所有地址仍然都是相對邏輯地址。而將相對地址轉換為絕對(物理)地址的工作被推遲到程序指令要真正執行時進行。為使地址的轉換不會影響到指令的執行速度,必須有硬件地址變換機構的支持,程序在執行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。
地址變換過程是在程序執行期間,隨著對每條指令或數據的訪問自動進行的,故稱為動態重定位。當系統對內存進行了“緊湊”,而使若干程序從內存的某處移至另一處時,不需對程序做任何修改,只要用該程序在內存的新起始地址去置換原來的起始地址即可。
8.什么是基于順序搜索的動態分區分配算法?它可分為哪幾種?
依次搜索空閑分配分區鏈上的空閑分區,去尋找一個其大小能滿足要求的分區,就是基于順序搜索的動態分區分配算法。
分為四種:首次適應算法、循環首次適應算法、最佳適應算法、最壞適應算法。
9.在采用首次適應算法回收內存中,可能出現哪幾種情況?應怎樣處理這些情況?
1、回收區與插入點的前一個空閑分區F1相鄰接,此時應將回收區與插入點的前一分區合并,不必為回收分區分配新表項,而只須修改其前一分區F1的大小。
2、回收區與插入點的后一個空閑分區F2相鄰接,此時應將兩分區合并,形成新的空閑分區,但用回收區的首址作為新空閑分區的首址,大小為兩者之和。
3、回收區同時與插入點的前、后兩個分區鄰接,此時將三個分區合并,使用F1的表項和F1的首址,取消F2的表項,大小為三者之和。
4、回收區既不與F1鄰接,又不與F2鄰接。這時應為回收區單獨建立一新表項,添寫回收區的首址和大小,并根據其首址插入到空閑鏈中的適當位置。
10.什么是基于索引搜索的動態分區分配算法?它可分為哪幾種?
我們把空閑分區按照某種屬性(通常是大小)分類,把每一類都鏈接起來形成一個鏈表,建立一個表把每類鏈表的相關信息寫進去以供索引,按照這個數據分配空閑分區的算法叫做基于索引搜索的動態分區分配算法。
它分為快速適應算法、伙伴系統、哈希算法。
11.令buddyk(x)為大小2k、地址為x的塊的伙伴系統地址,試寫出buddyk(x)的通用表達式。
P132
12.分區存儲管理中常用哪些分配策略?比較它們的優缺點。
固定分區存儲管理:
其基本思想是將內存劃分為若干固定大小的分區每個分區中最多只能裝入一個作業。當作業申請內存時系統按一定的算法為其選擇一個適當的分區并裝入內存運行。由于分區大小是事先固定的因而可容納作業的大小受到限制而且當用戶作業的地址空間小于分區的存儲空間時造成存儲空間浪費。
可變分區存儲管理:
可變分區存儲管理不是預先將內存劃分分區而是在作業裝入內存時建立分區使分區大小正好與作業要求的存儲空間相等。這種處理方式使內存分配有較大的靈活性也提高了內存利用率。但是隨著對內存不斷地分配、釋放操作會引起存儲碎片的產生。
13.為什么要引入對換?對換可分為哪幾種類型?
一方面,在內存中的某些進程由于事情尚未發生而被阻塞運行,但它卻占用了大量的內存空間,甚至有可能出現內存中所有進程都被阻塞,而無可運行之進程,迫使CPU停止下來等待的情況;另一方面,卻又有著許多作業,因內存空間不足,一直駐留在外存上,而不能進入內存運行。為此引入對換。
整體對換和頁面(分段)對換。
14.對文件管理區的目標和對對換空間管理的目標有何不同?
對文件管理區的主要目標是提高文件存儲空間的利用率,然后才是提高對文件的訪問速度。
對對換空間管理的主要目標,是提高進程換入和換出的速度,然后才是提高文件存儲空間的利用率。
15.為實現對換,系統應具備哪幾方面的功能?
對對換空間的管理、進程的換入、進程的換出
16.在以進程為單位進行對換時,每次是否都將整個進程換出?為什么?
在選擇換出進程后,在對進程換出時,只能換出非共享的程序和數據段,而對于那些共享的程序和數據段,只要還有進程需要它,就不能被換出。
17.基于離散分配時所用的基本單位不同,可將離散分配分為哪幾種?
分頁存儲管理方式、分段存儲管理方式、段頁式存儲管理方式。
18.什么是頁面?什么是物理塊?頁面的大小應如何確定?
將用戶程序的地址空間分為若干個固定大小的區域,稱為“頁”或“頁面”。
19.什么是頁表?頁表的作用是什么?
在分頁系統中,允許將進程的各個頁離散地存儲在內存的任一物理塊中,為保證進程仍然能夠正確地運行,即能在內存中找到每個頁面所對應的物理塊,系統又為每個進程建立了一張頁面映像表,簡稱頁表。
頁表的作用是實現從頁號到物理塊號的地址映射。
20.為實現分頁存儲管理,需要哪些硬件支持?
地址變換機構。
21.在分頁系統中是如何實現地址變換的?
利用地址變換機構實現從邏輯地址到物理地址的轉變換,通過頁表來實現從頁號到物理塊號的變換,將邏輯地址中的頁號轉換為內存中的物理塊號。
22.具有快表時是如何實現地址變換的?
在CPU給出有效地址后,由地址變換機構自動地將頁號P送入高速緩沖寄存器,并將此頁號與高速緩存中的所有頁號進行比較,若其中有與此所對應的物理塊號,便表示索要訪問的頁表項在快表中。于是,可直接從快表中獨處改也所對應的物理塊號,并送到物理地址寄存器中。如在快表中未找到對應的頁表項,則還需再訪問內存中的頁表,找到后,把從頁表項中獨處的物理塊號送往地址寄存器;同時,再將此頁表項存入快表的一個寄存器單元中,亦即,重新修改快表。但如果聯想寄存器已滿,則OS必須找到一個老的且已被認為是不再需要的頁表項,將它換出。
23.較詳細地說明引入分段存儲管理是為了滿足用戶哪幾方面的需要?
方便編程、信息共享、信息保護、動態增長、動態鏈接。
24.在具有快表的段頁式存儲管理中,如何實現地址變換?
P151
25.為什么說分段系統比分頁系統更易于實現信息的共享和保護?
分頁系統的每個頁面是分散存儲的,為了實現信息共享和保護,頁面之間需要一一對應,為此需要建立大量的頁表項;而分段系統的每個段都從0編址,并采用一段連續的地址空間,在實現共享和保護時,只需為要共享和保護的程序設置一個段表項,將其中的基址與內存地址一一對應就能夠實現。
26.分頁和分段存儲管理有何區別?
(1)頁是信息的物理單位,分頁是為了實現離散分配方式,以削減內存的外部零頭,提高內存的利用率。段則是信息的邏輯單位,它含有一組相對完整的信息。
(2)頁的大小固定且由系統決定,由系統把邏輯地址劃分為頁號和頁內地址兩部分,是由機械硬件實現的,因而在系統中只能有一種大小的頁面;而段的長度卻不固定,決定于用戶所編寫的程序,通常由編譯程序在對原程序進行編譯時,根據信息的性質來劃分。
(3)分頁的作業地址空間是一維的,而分段作業地址空間則是二維的。
27.試全面比較連續分配和離散分配方式。
(1)連續分配是指為一個用戶程序分配一個連續的地址空間,包括單一和分區兩種分配方式。單一方式將內存分為系統區和用戶區,最簡單,只用于單用戶單任務操作系統;分區方式分固定和動態分區。
(2)離散分配方式分為分頁、分段和段頁式存儲管理。分頁式存儲管理旨在提高內存利用率,分段式存儲管理旨在滿足用戶(程序員)的需要,段頁式存儲管理則將兩者結合起來,具有分段系統便于實現、可共享、易于保護和動態鏈接等優點,又能像分頁系統很好解決外部碎片及為各段可離散分配內存等問題,是比較有效的存儲管理方式。
第五章
1.常規存儲器管理方式具有哪兩大特征?它對系統性能有何影響?
一次性和駐留性。
一次性及駐留性特征使得許多在程序中不用或暫時不用的程序(數據)占據了大量的內存空間,而一些需要運行的作業又無法裝入運行,顯然,這是在浪費寶貴的內存資源。
2.什么是程序運行時的時間局限性和空間局限性?
時間局限性:如果程序中的某條指令被執行,則不久之后該指令可能再次執行;如果某數據被訪問過,則不久以后該數據可能再次被訪問。產生時間局限性的典型原因是在程序中存在著大量的循環操作。
空間局限性:一旦程序訪問了某個存儲單元,在不久之后,其附近的存儲單元也將被訪問,即程序在一段時間內所訪問的地址可能集中在一定的范圍之內,其典型情況便是程序的順序執行。
3.虛擬存儲器有哪些特征?其中最本質的特征是什么?
多次性、對換性、虛擬性。虛擬性。
4.實現虛擬存儲器需要哪些硬件支持?
分頁請求系統:請求分頁的頁表機制、缺頁中斷機構、地址變換機構。
請求分段系統:請求分段的段表機制、缺段中斷機構、地址變換機構。
5.實現虛擬存儲器需要哪幾個關鍵技術?
(1)在分頁請求系統中是在分頁的基礎上,增加了請求調頁功能和頁面置換功能所形成的頁式虛擬存儲系統。允許只裝入少數頁面的程序(及數據),便啟動運行。
(2)在請求分段系統中是在分段系統的基礎上,增加了請求調段及分段置換功能后形成的段式虛擬存儲系統。允許只裝入少數段(而非所有段)的用戶程序和數據,即可啟動運行。
6.在請求分頁系統中,頁表應包括哪些數據項?每項的作用是什么?
(1)狀態位(存在位)P:它用于指示該頁是否已調入內存,供程序訪問時參考。
(2)訪問字段A:用于記錄本頁在一段時間內被訪問的次數,或記錄本頁最近已有多長時間未被訪問,提供給置換算法(程序)在選擇換出頁面時參考。
(3)修改位M:標識該頁再調入內存后是否被修改過。
(4)外存地址:用于指出該頁在外存上的地址,通常是物理塊號,供調入該頁時參考。
7.試比較缺頁中斷機構與一般的中斷,它們之間有何明顯的區別?
(1)在指令執行期間產生和處理中斷信號。通常,CPU都是在一條指令執行完后,才檢查是否有中斷請求到達。然而,缺頁中斷是在指令執行期間,若發現所要訪問的指令或數據不在內存時,便立即產生和處理缺頁中斷信號,一邊能及時將所缺之頁面調入內存。
(2)一條指令在執行期間可能產生多次缺頁中斷。
8.試說明請求分頁系統中的地址變換過程。
在進行地址變換時,首先檢索快表,試圖從中找出所要訪問的頁。若找到,便修改頁表項中的訪問位,供置換算法選換出頁面時參考。對于寫指令,還需將修改位置成“1”,表示該頁再調入內存后已被修改。然后利用頁表項中給出的物理塊號和頁內地址形成物理地址。地址變換過程到此結束。
9.何謂固定分配局部置換和可變分配全局置換的內存分配策略?
(1)固定分配局部置換。所謂固定分配,是指為每個進程分配一組固定數目的物理塊,在進程運行期間不再改變。所謂局部置換,是指如果進程在運行中發現缺頁,則只能從分配給該進程的n個頁面中選出一頁換出,然后再調入一頁,以保證分配給該進程的內存空間不變。
(2)可變分配全局置換。所謂可變分配,是指先為每個進程分配一定數目的物理塊,在進程運行期間,可根據情況做適當的增加或減少。所謂全局置換,是指如果進程在運行中發現缺頁,則將OS所保留的空閑物理塊(一般組織為一個空閑物理塊隊列)取出一塊分配給該進程,或者以所有進程的全部物理快為標的,選擇一塊換出,然后將所缺之頁調入。
10.在請求分頁系統中,應從何處將所需頁面調入內存?
(1)系統擁有足夠的對換區空間,這時可以全部從對換區調入所需頁面,以提高調頁速度。
(2)系統缺少足夠的對換區空間,這時凡是不會被修改的文件,都直接從文件區調入;而當換出這些頁面時,由于他們未被修改,則不必再將它們重寫到磁盤(換出),以后再調入時,仍從文件區直接調入。但對于那些可能被修改的部分,在將它們換出時便須調到對換區,以后需要時再從對換區調入。
(3)UNIX方式。由于與進程有關的文件都放在文件區,故凡是未運行過的頁面,都應從文件區調入。而對于曾經運行過但又被換出的頁面,由于是被放在對換區,因此在下次調入時應從對換區調入。
11.試說明在請求分頁系統中頁面的調入過程。
每當程序所要訪問的頁面未在內存時(存在位為“0”),便向CPU發出一缺頁中斷,中斷處理程序首先保留CPU環境,分析中斷原因后,轉入缺頁中斷處理程序。
該程序通過查找頁表,得到該頁表在外存的物理塊后:
如果此時內存能容納新頁,則啟動磁盤I/O,將所缺之頁調入內存,然后修改頁表。
如果內存已滿,則須先按照某種置換算法,從內存中選出一頁準備換出;如果該頁未被修改過(修改位為“0”),可不必將該頁寫回磁盤;但如果此頁已被修改(修改位為“1”),則必須將它寫回磁盤,然后再把所缺的頁調入內存,并修改頁表中的相應表項,置其存在位為“1”,并將此頁表項寫入快表中。
在缺頁調入內存后,利用修改后的頁表,去形成所要訪問數據的物理地址,再去訪問內存數據。整個頁面的調入過程對用戶是透明的。
12.在請求分頁系統中,常采用哪幾種頁面置換算法?
答:采用的頁面置換算法有:最佳置換算法和先進先出置換算法,最近最久未使用(LRU)置換算法,Clock置換算法,最少使用置換算法,頁面緩沖算法等。
13.在一個請求分頁系統中,采用先進先出FIFO頁面置換算法時,假如一個作業的頁面走向為4、3、2、1、4、3、5、4、3、2、1、5,當分配給該作業的物理塊數M分別為3和4時,試計算在訪問過程中所發生的缺頁次數和缺頁率,并比較所得結果。
M=3時,采用FIFO頁面置換算法的缺頁次數為9次,缺頁率為75%;M=4時,采用FIFO頁面置換算法的缺頁次數為10次,缺頁率為83%。
由此可見,增加分配給作業的內存塊數,反而增加了缺頁次數,提高了缺頁率,這種現象被稱為是Belady現象。
14.實現最近最久未使用LRU算法所需的硬件支持是什么?
需要寄存器和棧等硬件支持。寄存器用于記錄某進程在內存中各頁的使用情況,棧用于保存當前使用的各個頁面的頁面號。
15.試說明改進型Clock置換算法的基本原理。
因為修改過的頁面在換出時付出的開銷比未被修改過的頁面大,在改進型Clock算法中,既考慮頁面的使用情況,還要增加置換代價的因素;在選擇頁面作為淘汰頁面時,把同時滿足未使用過和未被修改過作為首選淘汰頁面。
16.影響頁面換進換出效率的若干因素是什么?
(1)頁面置換算法:影響頁面換進換出效率最重要的因素,直接影響進程在運行過程中的缺頁率,影響頁面換進換出的開銷。
(2)寫回磁盤的頻率:如果是采取每個頁面換出時,就將它寫回磁盤的策略,這意味著每換出一個頁面,便需要啟動一次磁盤。
但如果在系統中建立了一個已修好換出頁面鏈表,對每一個要被換出的頁面(已修改),系統可暫不把它們寫回磁盤,而是將它們掛在已修改換出頁面鏈表上,僅當被換出頁面數目達到一定值時,再將它們一起寫回到磁盤上,這樣就顯著地減少了磁盤I/O的操作次數。
(3)讀入內存的頻率:在設置了已修改換出頁面鏈表后,在該鏈表上就暫時有一批裝有數據的頁面,如果需要再次訪問這些頁面時,就不需從外存上調入,而直接從已修改換出頁面鏈表獲取,這樣也可以減少將頁面從磁盤讀入內存的頻率,減少頁面換進的開銷。或者說,只需花費很小的開銷,便可使這些頁面,又回到該進程的駐留集中。
17.頁面緩沖算法的主要特點是什么?它是如何降低頁面換進換出的頻率的?
特點:(1)顯著地降低了頁面換進、換出的頻率,使磁盤I/O的操作次數大為減少,因而減少了頁面換進換出的開銷;
(2)由于換入還出的開銷大幅度減小,才能使其采用一種較簡單的置換策略,如先進先出算法,它不需要特殊硬件的支持,實現起來非常簡單。
在該系統中,內存分配策略上采用了可變分配和局部置換方式。為了能顯著地降低頁面換進換出的頻率,在內存中設置了如下兩個鏈表:
(1)空閑頁面鏈表:是一個空閑物理塊鏈表,用于分配給頻繁發生缺頁的進程,以降低該進程的缺頁率。當有一個未被修改的頁要換出時,實際上并不將它換出到外存,而是把它們所在的物理塊,掛在空閑鏈表的末尾。
(2)修改頁面鏈表:由已修改的頁面所形成的鏈表。設置該鏈表的目的,是為了減少已修改頁面換出的次數。降低將已修改頁面寫回磁盤的頻率,以及降低將磁盤內容讀入內存的頻率。
18.什么是抖動?產生抖動的原因是什么?
抖動就是指當內存中已無空閑空間而又發生缺頁中斷時,需要從內存中調出一頁程序或數據送磁盤的對換區中,如果算法不適當,剛被換出的頁很快被訪問,需重新調入,因此需再選一頁調出,而此時被換出的頁很快又要被訪問,因而又需將它調入,如此頻繁更換頁面,使得系統把大部分時間用在了頁面的調進換出上,而幾乎不能完成任何有效的的工作,我們稱這種現象為“抖動”。
產生抖動的原因是由于CPU的利用率和多道程序度的對立統一矛盾關系引起的,為了提高CPU利用率,可提高多道程序度,但單純提高多道程序度又會造成缺頁率的急劇上升,導致CPU的利用率下降,而系統的調度程序又會為了提高CPU利用率而繼續提高多道程序度,形成惡性循環,我們稱這時的進程是處于“抖動”狀態。
19.何謂工作集?它是基于什么原理確定的?
工作集(或駐留集)是指在某時間間隔內,進程要訪問的頁面集合。經常被使用的頁面需要在工作集中,而長期不被使用的頁面要從工作集中被丟棄。為了防止系統出現抖動現象,需要選擇合適的工作集大小。
工作集模型的原理是:
讓操作系統跟蹤每個進程的工作集,并為進程分配大于其工作集的物理塊。如果還有空閑物理塊,則可以再調一個進程到內存以增加多道程序數。如果所有工作集之和增加以至于超過了可用物理塊的總數,那么操作系統會暫停一個進程,將其頁面調出并且將其物理塊分配給其他進程,防止出現抖動現象。正確選擇工作集大小,對存儲器的利用率和系統吞吐量的提高,都將產生重要影響。
20.當前可以利用哪幾種方法來防止“抖動”?
(1)采取局部置換策略(2)把工作集算法融入到處理機調度中(3)利用“L=S”準則調節缺頁率(4)選擇暫停的進程
21.試試說明如何利用“L=S”準則來調節缺頁率,以避免“抖動”的發生?
P172
22.為了實現請求分段式存儲管理,應在系統中增加配置哪些硬件結構?
請求段表機制、缺段中斷機制和地址變換機構。
23.在請求段表機制中,應設置哪些段表項?
段名、段長、段基址、存取方式、訪問字段、修改位、存在位、增補位、外存始地址。
24.說明請求分段系統中的缺頁中斷處理過程。
(1)根據當前執行指令中的邏輯地址查頁表,判斷該頁是否在主存儲器中;
(2)該頁標志為“0”形成缺頁中斷,中斷裝置通過交換PSW讓操作系統的中斷處理程序占用處理器;
(3)操作系統處理缺頁中斷的辦法是查主存分配表找一個空閑的主存塊,查頁表找出該頁在磁盤上的位置,啟動磁盤讀出該頁信息。
(4)把從磁盤上讀出的信息裝入找到的主存塊中。
(5)當頁面住處被裝入主存后,應修改頁表中對應的表目,填上該頁所占用的主存塊把標志置為“1”,表示該頁已在主存儲器中
(6)由于產生缺頁中斷時的那條指令并沒執行完,所以在把頁面裝入之后應重新執行被中斷指令。
25.請對共享段表中的各項作簡要說明。
在系統中配置一張共享段表,所有各共享段都在共享段表中占有一表項。在表項的上面記錄了共享段的段號、段長、內存始址、狀態(存在)位、外存始址以及共享計數等信息,接下來就是記錄了共享此分段的每個進程的情況。
①共享進程計數count:記錄有多少進程正在共享該分段。
②存取控制字段:對于一個共享段,應為不同的進程賦予不同的存儲權限。
③段號:每個進程可用自己進程的序號,去訪問該共享段。
26.如何實現共享分段的分配和回收?
答:①共享段的分配:在為共享段分配內存時,對第一個請求使用該共享段的進程,由系統為該共享段分配一物理區,當又有其它進程需要調用該共享段時,無須再為該段分配內存。
②共享段的回收:當共享此段的某進程不再需要該段時,若無其他進程使用該段,則由系統回收該共享段的物理內存,否則只是取消調用者進程在共享段表中的有關記錄。
第六章
1.試說明I/O系統的基本功能。
隱藏物理設備的細節、與設備的無關性、提高處理機和I/O設備的利用率、對I/O設備進行控制、確保對設備的正確共享、錯誤處理
2.簡要說明I/O軟件的4個層次的基本功能。
中斷處理程序:用于保存被中斷進程的CPU環境,轉入相應的中斷處理程序進行處理,處理完后恢復現場,并返回到被中斷的進程
設備驅動程序:與硬件直接有關,用來具體實現系統對設備發出的操作指令,驅動I/O設備工作
設備獨立性軟件:用于實現用戶程序與設備驅動器的統一接口、設備命令、設備保護,以及設備分配與釋放等。
用戶層I/O軟件:用于實現用戶與I/O設備交互
3.I/O系統接口與軟件/硬件(RW/HW)接口分別是什么接口?
I/O系統接口是I/O系統與上層系統之間的接口,向上層提供對設備進行操作的抽象I/O命令,以方便高層對設備的使用;
軟件/硬件(RW/HW)接口的上面是中斷處理程序和用于不同設備的設備驅動程序,它的下面是各種設備的控制器。
4.與設備無關性的基本含義是什么?為什么要設置該層?
答:為了提高OS的可適應性和可擴展性,在現代OS中都毫無例外地實現了設備獨立性,也稱設備無關性。
基本含義:應用程序獨立于具體使用的物理設備。為了實現設備獨立性而引入了邏輯設備和物理設備兩概念。在應用程序中,使用邏輯設備名稱來請求使用某類設備;而系統在實際執行時,還必須使用物理設備名稱。
優點:1. 設備分配時的靈活性
2.易于實現I/O重定向(用于I/O操作的設備可以更換(即重定向),而不必改變應用程序。
5.試說明設備控制器的組成。
答:設置控制器與處理機的接口;設備控制器與設備的接口;I/O邏輯。
6.為了實現CPU與設備控制器之間的通信,設備控制器應該具備哪些功能?
答:基本功能:接收和識別命令;數據交換;標識和報告設備的狀態;地址識別:數據緩沖;差錯控制。
7.什么是內存映像I/O?它是如何實現的?
驅動程序將抽象I/O命令轉換出的一系列具體的命令、參數等數據裝入設備控制器的相應寄存器,由控制器來執行這些命令,具體實施對I/O設備的控制。
方式:利用特定的I/O指令、內存映像I/O。
8.為什么說中斷是OS賴以生存的基礎?
答:中斷在操作系統中有著特殊重要的地位,它是多道程序得以實現的基礎,沒有中斷,就不可能實現多道程序,因為進程之間的切換是通過中斷來完成的。
另一方面,中斷也是設備管理的基礎,為了提高處理機的利用率和實現CPU和I/O設備并執行,也必需有中斷的支持。中斷處理程序是整個I/O系統中最低的一層。
9.對中斷源的兩種處理方式分別用于哪種場合?
答:1) 屏蔽(禁止)中斷:當處理機正在處理一個中斷時,將屏蔽掉所有的中斷,直到處理機已處理完本次中斷,再去檢查是否有中斷產生。所有中斷按順序處理,優點是簡單,但不能用于實時性要求較高的中斷請求。
2)嵌套中斷:在設置了中斷優先級的系統中,當同時有多個不同優先級的中斷請求,CPU優先響應優先級最高的中斷請求,高優先級的中斷請求可以搶占正在運行的低優先級中斷的處理機。
10.設備中斷處理程序通常需完成哪些工作?
答:1、喚醒被阻塞的驅動進程。
2、保護被中斷進程的CPU環境。
3、轉入相應的設備處理程序。
4、中斷處理。
5、恢復被中斷進程的現場。
11.簡要說明中斷處理程序對中斷進行處理的幾個步驟。
答:1、測定是否有未響應的中斷信號
2、保護被中斷進程的CPU環境
3、轉入相應的設備處理程序
4、中斷處理
5、恢復CPU的現場并退出中斷
12.試說明設備驅動程序具有哪些特點。
(1)驅動程序是實現在與設備無關的軟件和設備控制器之間通信和轉換的程序;
(2)驅動程序與設備控制器以及I/O設備的硬件特性緊密相關,對于不同類型的設備,應配置不同的驅動程序。但可以為相同的多個終端設置一個終端驅動程序;
(3)驅動程序與I/O設備所采用的I/O控制方式緊密相關,常用的I/O控制方式是中斷驅動和DMA方式;
(4)由于驅動程序與硬件緊密相關,因而其中的一部分必須用匯編語言書寫;
(5)驅動程序應允許可重入。
13.設備驅動程序通常需要完成哪些工作?
(1)接收由與設備無關的軟件發來的命令和參數,并將命令中的抽象要求轉換為與設備相關的低層操作序列;
(2)檢查用戶I/O請求的合法性,了解I/0設備狀態,傳遞有關參數,設置設備工作方式;
(3)發出I/O命令,如果設備空閑,便立即啟動I/O設備,完成指定的I/O操作;如果設備忙碌,則將請求者的請求塊掛在設備隊列上等待;
(4)及時響應由設備控制器發來的中斷請求,并根據其中斷類型,調用相應的中斷處理程序進行處理。
14.簡要說明設備驅動程序的處理過程可分為哪幾步。
(1)將抽象要求轉換為具體要求;
(2)對服務請求進行校驗;
(3)檢查設備的狀態;
(4)傳送必要的參數。
15.試說明I/0控制發展的主要推動因素是什么?
答:促使I/0控制不斷發展的幾個主要因素如下:
a.盡量減少CPU對I/O控制的干預,把CPU從繁雜的I/O控制中解脫出來,以便更多地去完成數據處理任務。
b.緩和CPU的高速性和設備的低速性之間速度不匹配的矛盾,以提高CPU的利用率和系統的吞吐量。
c.提高CPU和I/O設備操作的并行程度,使CPU和I/O設備都處于忙碌狀態,從而提高整個系統的資源利用率和系統吞吐量。
16.有哪幾種I/O控制方式?各適用于何種場合?
程序I/O方式:適用于早期的計算機系統中,并且是無中斷的計算機系統;
中斷驅動I/O控制方式:普遍用于現代的計算機系統中;
DMA I/O控制方式:適用于I/O設備為塊設備時在和主機進行數據交換的一種I/O控制方式;
I/O通道控制方式:當I/O設備和主機進行數據交換是一組數據塊時通常采用I/O通道控制方式,但此時要求系統必須配置相應的通道及通道控制器。
17.試說明DMA的工作流程。
以從磁盤讀入數據為例,說明DMA的工作流程。當CPU要從磁盤讀入數據塊時,先向磁盤控制器發送一條讀命令。該命令被送到命令寄存器CR中。同時還發送本次要讀入數據的內存起始目標地址,送入內存地址寄存器MAR;本次要讀數據的字節數送入數據計數器DC,將磁盤中的源地址直接送DMA控制器的I/O控制邏輯上。然后啟動DMA 控制器傳送數據,以后CPU便處理其它任務。整個數據傳送過程由DMA控制器控制。
18.為什么要引入與設備的無關性?如何實現設備的獨立性?
引入設備獨立性,可使應用程序獨立于具體的物理設備,使設備分配具有靈活性。另外容易實現I/0重定向。為了實現設備獨立性,必須在設備驅動程序之上設置一層設備獨立性軟件,用來執行所有I/0設備的公用操作,并向用戶層軟件提供統一接口。
19.與設備的無關的軟件中,包括了哪些公有操作的軟件?
答:1、設備驅動程序的統一接口
2、緩沖管理
3、差錯控制
4、對獨立設備的分配與回收
5、獨立于設備的邏輯數據塊
20.在考慮到設備的獨立性時,應如何分配獨占設備?
(1)進程以邏輯設備名提出I/0請求。
(2)根據邏輯設備表相應表項獲得I/0請求的邏輯設備對應類型的物理設備在系統設備表中的指針。
(3)從指針所指位置起順序檢索系統設備表,直到找到一個屬于對應I/0請求所用類型、空閑可用且基于設備分配安全性算法驗證為安全分配的設備的設備控制表,將對應設備分配給請求進程;
如果未找到安全可用的空閑設備,則把請求進程的進程控制塊掛到相應類型設備的等待隊列上等待喚醒和分配。
(4)系統把設備分配給I/0請求進程后,再到該設備的設備控制表中找出與其相連接的控制器的控制器控制表,根據其狀態字段判斷該控制器是否忙碌,若忙則把請求進程的進程控制塊掛到該控制器的等待隊列上;否則將該控制器分配給進程。
(5)系統把控制器分配給I/0請求進程后,再到該控制器的控制器控制表中找出與其相連接的通道的通道控制表,根據其狀態字段判斷該通道是否忙碌,若忙則把請求進程的進程控制塊掛到該通道的等待隊列上:否則將該通道分配給進程。
(6)只有在設備、控制器和通道三者都分配成功時,這次的設備分配才算成功,然后便可啟動設備進行數據傳送。
21.何謂設備虛擬?實現設備虛擬式所依賴的關鍵技術是什么?
答:通過虛擬技術可將一臺獨占設備變換成若干臺邏輯設備,供若干個用戶(進程)同時使用,通常把這種經過虛擬技術處理后的設備稱為虛擬設備。其實現所依賴的關鍵技術是SPOOLING技術。
22.在實現后臺打印時,SPOOLing 系統應為請求I/0的進程提供哪些服務?
答:1、由輸出進程在輸出井中為之申請一空閑盤塊區,并將要打印的數據送入其中;
2、輸出進程再為用戶進程申請一張空白的用戶打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。
3、一旦打印機空閑,輸出進程便從請求打印隊列的隊首取出一張請求打印表,根據表中的要求將要打印的數據從輸出井傳送到內存緩沖區,再由打印機進行打印。
23.假脫機系統向用戶提供共享打印機的基本思想是什么?
答:對每個用戶而言,系統并非即時執行其程序輸出數據的真實打印操作,而只是即時將數據輸出到緩沖區,這時的數據并未真正被打印,只是讓用戶感覺系統已為他打印;
真正的打印操作,是在打印機空閑且該打印任務在等待隊列中已排到隊首時進行的;以上過程是對用戶屏蔽的,用戶是不可見的。
24.引入緩沖的主要原因是什么?
答:緩和CPU與I/0設備之間速度不匹配的矛盾;減少對CPU的中斷頻率:放寬對中斷響應時間的限制:解決數據力度不匹配的問題;提高CPU和I/0設備之間的并行性。
25.在單緩沖情況下,為什么系統對一塊數據的處理時間為max(C,T)+M?
答:在塊設備輸入時,假定從磁盤把一塊數據輸入到緩沖區的時間為T;操作系統將緩沖區數據傳送給用戶區的時間為M;而CPU對這一塊數據進行計算得時間為C。
在單緩沖情況下,由于設備的輸入操作和CPU的處理操作可以并行,所以系統對每一整塊數據的處理時間為max(C,T)+M。
26.為什么在雙緩沖情況下,系統對一塊數據的處理時間為max(C,T)?
答:該方式又稱緩沖對換方式,在設備輸入時,先將數據送入第一緩沖區,裝滿后便轉向第二緩沖區。此時操作系統可以從第一緩沖區移出數據,并送入用戶進程。
接著由CPU對數據進行計算。在雙緩沖區中,不僅設備的輸入操作和CPU的處理操作可以并行,設備的輸入操作和數據的傳送操作也可以并行,因此耗時大約為max(C+M,T)。考慮到M是內存中數據塊的“搬家”耗時,非常短暫可以省略,因此近似地認為是:max(C,T)。
27.試繪圖說明把多緩沖用于輸出時的情況。
P211
28.試說明收容輸入工作緩沖區和提取輸出工作緩沖區的工作情況。
答:①收容輸入工作緩沖區的工作情況為:在輸入進程需要輸入數據時,調用GetBuf(EmptyQueue)過程,從EmptyQueue隊列的隊首摘下一個空緩沖區,作為收容輸入工作緩沖區Hin。
然后把數據輸入其中,裝滿后再調用PutBuf(InputQueue,Hin)過程,將該緩沖區掛在輸入隊列InputQueue的隊尾。
②提取輸出工作緩沖區的工作情況為:當要輸出數據時,調用GetBuf(OutputQueue)過程,從輸出隊列的隊首取得一裝滿輸出數據的緩沖區作為提取輸出工作緩沖區Sout。在數據提取完后,再調用PutBuf(EmptyQueue,Sout)過程,將該緩沖區掛到空緩沖隊列EmptyQueue的隊尾。
29.何謂安全分配方式和不安全分配方式?
答:①安全分配方式是指每當進程發出I/0請求后,便進入阻塞狀態,直到其I/0操作完成時才被喚醒。
在采用這種分配策略時,一旦進程已獲得某種設備資源后便阻塞,使它不可能再請求任何資源,而在它運行時又不保持任何資源。這種分配方式已經摒棄了造成死鎖的“請求和保持”條件,分配是安全的。缺點是進程進展緩慢,CPU與I/0設備串行工作。
②不安全分配方式是指進程發出I/0請求后仍繼續執行,需要時又可發出第二個I/0請求、第三個I/0請求。僅當進程請求的設備已被另一個進程占有時,進程才進入阻塞狀態。
優點是一個進程可同時操作多個設備,進程推進迅速。缺點是分配不安全,可能具有“請求和保持”條件,可能造成死鎖。因此,在設備分配程序中需增加一個功能,用于對本次的設備分配是否會發生死鎖進行安全性計算,僅當計算結果表明分配安全的情況下才進行分配。
30.磁盤訪問時間由哪幾部分組成?每部分時間應如何計算?
答:磁盤訪問時間由尋道時間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。
31.目前常用的磁盤調度算法有哪幾種?每種算法優先考慮的問題是什么?
答:目前常用的磁盤調度算法有先來先服務、最短尋道時優先級掃描等算法。
(1)先來先服務算法優先考慮進程請求訪問磁盤的先后次序;
(2)最短尋道時間優先算法優先考慮要求訪問的磁道與當前磁頭所在磁道距離是否最近:
(3)掃描算法考慮欲訪問的磁道與當前磁道間的距離,更優先考慮磁頭當前的移動方向。
第七章
1.何謂數據項、記錄和文件?
數據項:是最低級的數據組織形式,可以分為兩種類型:基本數據項和組合數據項。基本數據項是用于描述一個對象的某種屬性的字符集,是數據組織中可以命名的最小邏輯數據單位,又稱為字段。組合數據項是由若干個基本數據項組成的,簡稱組項。
記錄:記錄是一組相關數據項的集合,用于描述一個對象在某方面的屬性。
文件:文件是指由創建者所定義的、具有文件名的一組
2.文件系統的模型可分為三層,試說明其每一層所包含的基本內容。
最底層是對象及其屬性,文件管理系統管理的對象如下:文件,目錄,磁盤(磁帶)存儲空間。
中間層是對對象進行操縱和管理的軟件集合,最高層是文件系統提供給用戶的接口。
3.與文件系統有關的軟件可分為那幾個層次?
I/O控制層、基本文件系統層、基本I/O管理程序、邏輯文件系統。
4.試說明用戶可以對文件施加的主要操作有哪些?
創建、刪除、讀、寫、設置文件的讀/寫位置、打開、關閉。
允許用戶直接設置和獲得文件的屬性:改變已存文件的文件名、改變文件的擁有著、改變對文件的訪問權、查詢文件的狀態。
對目錄的操作:創建一個目錄、刪除一個目錄、改變當前目錄和工作目錄等。
實現文件共享的系統調用,以及用于對文件系統進行操作的系統調用等。
5.為什么在大多數OS中都引入了“打開”這一文件系統調用?打開的含義是什么?
當用戶要求對一個文件實施多次讀/寫或其他操作時,每次都要從檢索目錄開始。為了避免多次重復地檢索目錄,在大多數OS中都引入了“打開”這一文件系統調用。
所謂“打開”,是指系統將指名文件的屬性(包括該文件在外存上的物理位置),從外存拷貝到內存打開文件表的一個表目中,并將該表目的編號(或稱為索引號)返回給用戶。換而言之,“打開”就是在用戶和指定文件之間建立起一個鏈接。此后,用戶可通過該鏈接直接得到文件信息,從而避免了再次通過目錄檢索文件,即當用戶再次向系統發出文件操作請求時,系統根據用戶提供的索引號可以直接在打開文件中查找到文件信息。
6.何謂文件的邏輯結構?何謂文件的物理結構?
文件的邏輯結構:這是從用戶觀點出發所觀察到的文件組織形式,即文件是由一系列的邏輯記錄組成的,是用戶可以直接處理的數據及其結構,它獨立于文件的物理特性,又稱為文件組織。
文件的物理結構:又稱為存儲結構。這是指系統將文件存儲在外存上所形成的一種存儲組織形式,是用戶不能看見的。
7.按文件的組織形式可將文件分為哪幾種類型?
順序文件、索引文件、索引順序文件。
8.如何提高對變長記錄順序文件的檢索速度?
為變長記錄文件建立一張索引表,為主文件中的每個記錄在索引表中分別設置一個表項,記錄指向記錄的指針(即記錄在邏輯地址空間的首址)以及記錄的長度L,索引表按關鍵字排序,因此其本身也是一個定長記錄的順序文件,這樣就把對變長記錄順序文件的順序檢索轉變為對定長記錄索引文件的隨機檢索,從而加快對記錄檢索的速度,實現直接存取。
9.通過哪兩種方式來對固定長記錄實現隨機訪問?
隱式尋址方式和顯示尋址方式。
10.可以采取什么方法來實現對變長記錄文件進行隨機檢索?
為變長記錄文件建立一張索引表,索引表中記錄每一個變長記錄項的地址。因為檢索索引表是對定長文件進行檢索,就可以實現隨機檢索。
11.試說明索引順序文件的幾個主要特征。
(1)記錄是按關鍵字的順序組織起來的;
(2)引入了文件索引表,通過該表可以實現對索引順序文件的隨機訪問;
(3)增加了溢出文件,用它來記錄新增加的、刪除的和修改的記錄。
12.試說明對索引文件和索引順序文件的檢索方法。
對索引文件進行檢索時,可以根據用戶(程序)提供的關鍵字利用折半查找法去檢索索引表,從中找到相應的表項。再利用該表項中給出的指向記錄的指針去訪問所需的記錄。
對索引順序文件進行檢索時,首先也是利用用戶(程序)所提供的關鍵字以及某種查找算法去檢索索引表,找到該記錄所在記錄組中第一個記錄的表項,從中得到該記錄組第一個記錄在主文件中的位置。然后,再利用順序查找法去查找主文件,從中找到所要求的記錄。
13.試從檢索速度和存儲費用兩方面來比較兩級索引文件和索引順序文件。
兩級索引文件:存儲費用高,檢索速度較快。
索引順序文件:存儲費用不高,檢索速度快。
14.對目錄管理的主要要求是什么?
(1)實現“按名存取”;(2)提高對目錄的檢索速度;(3)文件共享;(4)允許文件重名。
15.采用單級目錄能否滿足對目錄管理的主要要求?為什么?
它只能滿足按名存取。
(1)查找速度慢。(2)不允許重名。(3)不便于實現文件共享。
16.目前廣泛采用的目錄結構形式是哪種?它有什么優點?
樹形結構目錄。明顯提高了對目錄的檢索速度和文件系統的性能。
17.何謂路徑名和當前目錄?
路徑名:在樹形結構目錄中,從根目錄到任何數據文件都只有一條唯一的通路。在該路徑上,從樹的根(即主目錄)開始,把全部目錄文件名與數據文件名依次地用“/”連接起來,即構成該數據文件唯一的路徑名。
當前目錄:當一個文件系統有多級時,每訪問一個文件,都要使用從樹根開始,直到數據文件為止,是相當麻煩的事,可為每個進程設置一個“當前目錄“,又稱“工作目錄“。
假設用戶B的當前目錄是F,則此時文件J的相對路徑名僅是J本身。
18.Hash檢索法有何優點?又有何局限性?
優點:顯著提高檢索速度。
局限:對于使用了通配符的文件名,此時系統便無法利用Hash法檢索目錄,還是需要利用線性查找法查找目錄。
19.在Hash檢索法中,如何解決“沖突”問題?
(1)在利用Hash法索引查找目錄時,如果目錄表中相應的目錄項是空的,則表示系統中并無指定文件。
(2)如果目錄項中的文件名與指定文件名相匹配,則表示該目錄項正是所要尋找的文件所對應的目錄項,故而可從中找到該文件所在的物理地址。
(3)如果在目錄表的相應目錄項中的文件名與指定文件名并不匹配,則表示發生了“沖突”,此時須將其Hash值再加上一個常數(該常數與目錄的長度值互質),形成新的索引值,再返回到第一步重新開始尋找。
20.試說明在樹形目錄結構中線性檢索法的檢索過程,并給出相應的流程圖。
P239
21.基于索引結點的文件共享方式有何優點?
優點是建立新的共享鏈接時,不改變文件擁有者關系,僅把索引結點共享計數器加1,系統可獲悉了由多少個目錄項指向該文件。缺點是擁有者不能刪除自己的文件否則會出錯。
22.什么是主父目錄和鏈接父目錄?如何利用符號鏈實現共享?
利用符號鏈接實現文件共享的基本思想,是允許一個文件或子目錄有多個父目錄,但其中僅有一個作為主父目錄,其他的幾個父目錄都是通過符號鏈接方式與之相鏈接的(簡稱鏈接父目錄)。
P243
23.基于符號鏈的文件共享方式有何優點?
在利用符號鏈方式實現文件共享時,只是文件主才擁有指向其索引結點的指針;而共享該文件的其他用戶則只有該文件的路徑名,并不擁有指向其索引結點的指針。這樣,就不會發生在文件主刪除一共享文件后留下一懸空指針的情況。
24.什么是保護域?進程與保護域之間存在著的動態聯系是什么?
進程對一組對象訪問權的集合,進程只能在指定區域內執行操作,域也就規定了進程所能訪問的對象和能執行的操作。
進程和域之間,可以是一對多的關系,即一個進程可以聯系著多個域。在此情況下,可將進程的運行分為若干個階段,其每個階段聯系著一個域,這樣便可根據運行的實際需要來規定在進程運行的每個階段中所能訪問的對象。
25.試舉例說明具有域切換權的訪問控制矩陣。
P245
26.如何利用拷貝權來擴散某種訪問權?
P246
27.如何利用擁有權來增、刪某種訪問權?
P247
28.增加控制權的主要目的是什么?試舉例說明控制權的應用。
用于改變在不同域中運行的進程對同一對象的訪問權的。
29.什么是訪問控制表?什么是訪問權限表?
訪問控制表是指對訪問矩陣按列劃分,為每一列建立一張訪問控制表ACL。
訪問權限表是如果把訪問矩陣按行(即域)劃分,便可由每一行構成一張訪問權限表。這是由一個域對每一個對象可以執行的一組操作所構成的表,表中的每一項權限即為該域對某對象的訪問權限。
30.系統如何利用訪問控制表和訪問權限表來實現對文件的保護?
當進程第一次試圖訪問一個對象時,必須先檢查訪問控制表,查看是否有權訪問該對象。
如果無則拒絕訪問,并構成一個例外異常事件;否則便允許訪問,并為之建立訪問權限,以便快速驗證其訪問的合法性。當進程不再訪問該對象時便撤銷該訪問權限。
第八章
1.按網絡拓撲結構可以把計算機網絡分為哪幾類?試畫出它們的網絡拓撲圖。
答:計算機網絡可分為星形、環形、總線形、樹形和網狀形網絡。它們的網絡拓撲圖如下:
2.試說明分組交換網的組成。
答:由分組交換機、網路管理中心、遠程集中器、分組裝拆設備以及傳輸設備等組成。
3.何謂幀交換方式及信元交換方式?
答:幀交換方式是在傳統分組交換的基礎上發展起來的,傳輸基本單位是幀,長度可變,采用“存儲轉發”方式,即幀交換器每接到一個新幀時,都將該幀送幀緩沖區排隊,按照該幀中的目標地址,將該幀轉發給相應路徑的下一個幀交換器。
信元交換方式是改進了的幀中繼交換方式。當源幀交換器收到用戶設備發來的幀,便分割為多個定長信元,在整個幀中繼器網絡中傳輸和交換時,都以信元為基本單位,到達目標幀交換器后,被重組為幀。
4.局域網可分為基本型和快速型兩大類,每一類中包括哪幾種局域網?
答:基本型局域網有:(1)以太網(2)令牌環網
快速局域網有: (1)FDDI光纖環網(2)快速以太網100 BASE-T。
5.為實現同構LAN網絡互連,應采用什么樣的網絡互連設備?應具有哪些功能?
答:同構LAN 網絡互連設備與功能:
(1) 網橋。功能:幀的發送和接受、緩沖處理、協議轉換。
(2) 路由器。功能:拆包和打包、路由選擇、協議轉換、分段和重組
6.為實現異構型網絡互連,應采用什么樣的網絡互聯設備?它又應具有哪些功能?
答:采用網關。實現異構LAN 互連、LAN 與WAN互連、WAN 互連、LAN 與主機互連。
7.網絡層向傳輸層提供了哪兩類數據傳輸服務?試對它們做簡要的說明。
答:(1)數據包服務。發方網絡層從傳輸層接收報文,為它配上完整的目標地址,作為獨立信息單位傳送出去。數據包每經過一個中繼節點都根據當時當地情況,按一定算法選擇一條最佳傳輸路徑轉發出去。采用數據包服務的收、發雙發無需建立連接。
(2)虛電路服務。通信前由源主機發送呼叫報文分組,包含源和目標主機的全網地址。
目標主機同意通信,便由網絡層在雙方間建立一條虛電路。在以后通信中只需填上虛電路的
邏輯信道號;通信結束拆除該虛電路。
8.傳輸層所起的橋梁作用具體表現在哪幾方面?
答:(1)傳輸出錯率和建立連接的失敗率。(2)數據傳輸速率、吞吐量和傳輸時延。
(3)分段和組段功能。
9.TCP/IP模型中包含了哪幾個層次?簡要說明每個層次的主要功能。
答:TCP/IP模型中包含4個層次。
(1)應用層。對應于OSI高層,為用戶提供需要的服務。如FTP、Telnet、DNS等。
(2)傳輸層。對應于OSI傳輸層,為應用層實體提供端到端的通信功能。定義了面向連接的TCP和無連接的用戶數據報協議UDP這兩個主要協議。
(3)網絡互聯層。對應于OSI網絡層,解決主機到主機的通信問題。有網際協議IP、
地址解析協議ARP、互聯網組管理協議IGMP和互聯網控制報文協議ICMP四個主要協議。
(4)網絡訪問層。對應OSI的物理層和數據鏈路層。
10.網絡互聯層IP協議的主要作用是什么?為什么在有了IP協議之后還要配置TCP協議?
答:(1)IP 協議主要用于異構網絡間的相互連接和路由選擇。IP 提供的是不可靠、面向無連接的數據報傳遞服務。
(2)TCP協議提供面向連接、可靠的端端通信機制。TCP比IP可以確保數據傳輸的可靠性,即使網絡層出錯,TCP仍能正確控制建立連接、數據傳輸和連接釋放。
11.試說明在介質訪問控制MAC子層中,IEEE 802.2、IEEE802.3、IEEE 802.3u、IEEE802.2z、IEEE 802.5、IEEE802.6都是些什么標準?
答:IEEE 802.2是邏輯鏈路控制的標準。 IEEE 802.3是以太網的標準。
IEEE 802.3u 是以太網的標準。 IEEE 802.2z是以太網的標準。
IEEE 802.5是令牌環的標準。 IEEE 802.6是城域網的標準。
12.何謂網絡體系結構?OSI/RM由哪幾部分組成?
答:網絡體系結構是指通信系統的整體設計,為網絡硬件、軟件、協議、存取控制和拓撲提供標準。OSI/RM 從低到高分七層:物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。
13.什么是網絡協議?扼要說明其所含的三要素。
答:網絡協議是為計算機網絡中進行數據交換而建立的規則、標準或約定的集合。
計算機網絡協議主要由語義、語法和交換規則三部分即協議三要素組成。
語義:規定通信雙方彼此講什么,確定協議元素類型,如規定通信雙方發什么控制信息,
執行的動作和返回的應答。
語法:規定通信雙方彼此如何講,確定協議元素格式,如數據和控制信息的格式。
交換規則:規定信息交流的次序。
14.ISO將OSI/RM分成幾層?各層的主要用途是什么?
答:OSI/RM分7層。各層的主要用途是:
物理層:規定了網絡設備間物理連接標準,在網絡設備間透明地傳輸比特流。
數據鏈路層:提供相鄰節點間可靠的數據傳輸功能。
網絡層:在通信子網中進行路由選擇和通信控制。
傳輸層:提供兩個端系統間的可靠通信。
會話層:建立和控制兩個應用實體間的會話過程。
表示層:提供統一的網絡數據表示。
應用層:提供網絡用戶間的分布式應用環境(普通用戶)和應用開發環境(網絡程序員)。
15.客戶/服務器模式得以廣泛流行的主要因素是什么?
答:(1)模塊化與應用的分布特性 (2)充分利用資源,提高網絡效率
(3)便與系統維護,擴充性強 (4)并發特性
16…試說明客戶與服務器之間的交互情況。
答:C/S 模式的兩層結構系統是:第一層在客戶機系統上結合表示與業務邏輯;第二層通過網絡結合了數據庫服務器。C/S 模式主要由客戶應用程序、服務器管理程序和中間件三部分組成。
17.兩層C/S模式有哪些局限性?如何解決?
答:(1)不能適應應用不斷增多的情況。
(2)需要在客戶機與服務器上安裝特定的網絡軟件,實現C/S間的互用性。
(3)客戶機直接與服務器交互。
解決辦法:設法使C 與提供數據等服務的S無關,在C/S間增設中間實體。
18.為什么在大型信息系統和Internet環境下,應采用三層客戶/服務器模式?
答:因為Internet 發展極為迅速,三層客戶/服務器模式更適合發展。把客戶機作為Web瀏覽器,從而形成了Web瀏覽器、Web服務器和數據庫服務器三層的C/S 模式。
19.試比較兩層和三層的C/S模式。
答:三層與兩層模式相比的優點:(1)增加了系統的靈活性和可擴展性。
(2)簡化了客戶機,降低了系統費用。(3)使客戶機安裝、配置和維護更為方便。
三層的缺點:(1)軟件開發難度大,開發周期長。(2)訪問效率低。
20.現代計算機網絡有哪些主要功能。
答:計算機網絡的主要功能是數據通信和資源共享、系統容錯、網絡管理、應用互操作功能。
21.試說明在層次式結構的網絡中進行數據通信時,信息的流動過程。
答:請求信息從客戶機到應用服務器,再到數據服務器,然后數據服務器根據要求向應用服務器傳送信息,再由應用服務器找到客戶機。
22.為實現數據通信,計算機網絡應有哪些具體功能?
答:連接的建立和拆除、報文的分解和組裝、傳輸控制、流量控制、差錯檢測與糾正。
23.試說明當前實現文件和數據共享的兩種主要方式。
答:以虛擬軟盤方式和以文件服務方式實現的數據共享方式。
24.網絡管理的主要目標是什么?
答:A.增強網絡的可用性。 B.提高網絡運行質量。 C.提高網絡資源利用率。
D.保障網絡的安全性 E.提高網絡和社會經濟效益。
25.網絡管理包括哪幾方面的具體功能?
答:配置管理、故障管理、性能管理、安全管理、計費管理。
26.何謂信息“互通性”和信息“互用性”?
答:信息的互通性是指在不同網絡結點間實現通信。目前主要利用TCP/IP實現信息互通。
信息的互用性是指在不同網絡中的站點間實現信息的互用,即一個網絡中的用戶能訪問另一個網絡文件系統或數據庫系統中的文件或數據。
27.何謂電子郵件?它可分為哪幾種類型?
答:電子郵件E-mail,標志@,又稱電子信箱、電子郵政,是用電子手段提供信息交換的通信方式。電子郵件服務器分為兩種類型,MIME 協議和SMTP 協議。現代E-mail 中可包含多種不同類型的文件,如文本、圖像、音頻和視頻信息等。
28.文件傳輸的復雜性表現在哪幾方面?如何解決?
答:異構網絡下的文件傳輸,需要在Internet 中建立了統一的文件傳輸協議FTP。
(1)內部用戶FTP。只允許在文件服務器上擁有賬戶的用戶使用FTP服務。
(2)匿名FTP。在Internet 上實現資源共享的重要手段,允許非注冊用戶拷貝文件。
29.試比較電子郵件服務和文件傳輸服務。
答:電子郵件服務借助于E-mail設施與世界上所有國家和地區的網絡用戶通信。
文件傳輸服務是在Internet 中建立統一的文件傳輸協議FTP,實現用戶在不同主機間的文件拷貝功能。
30.網絡環境下的目錄服務有何特點?
答:規模小的局域網不需要提供目錄服務,對于大型企業網必須對網絡管理員和用戶提供目
錄服務,發揮網絡的應有作用。目錄服務還應能對每臺物理設備提供的網絡服務進行管理。
對服務器提供的網絡服務可以是文件/打印服務、數據庫服務等。
31. 目錄服務包括哪些主要功能?
答:(1)用戶管理。保證核準用戶能方便地訪問各種網絡服務,禁止非法用戶訪問。
(2)分區和復制。將龐大目錄庫分成若干個分區,并分別復制到多臺服務器,使每個分區被復制的位置盡量靠近最常使用這些對象的用戶,有的目錄服務還允許一臺服務器上存放多個不同分區的拷貝。
(3)創建擴充和繼承功能。創建是在目錄中創建新的對象,并設置屬性。擴充指對原有目錄服務功能的擴充。繼承是指目錄對象繼承其他對象的屬性和權力的能力。
(4)多平臺支持功能。由于目錄服務存在著管理對象的差異,要求具有跨越平臺能力。
32. Internet 具有哪些特征?
答:(1)廣域性 (2)廣泛性 (3)高速性(4)綜合性
33.何謂WWW?它與一般的信息檢索工具有何不同?
答:WWW(Word Wide Web)稱為萬維網或Web,是當前最為流行的信息服務類型。
它與一般信息檢索工具不同表現在:一般檢索工具每次只能從一臺主機上查找需要的文件,且文件數據類型單一;而Web檢索可以一次從多臺主機中查找需要的數據,允許類型各異,并將這些數據形成一份文件。
34.何謂BBS?它何以會受到廣大網絡用戶的歡迎?
答:BBS(Bulletin BoardSystem)即電子公告板。BBS用戶已經擴展到各行各業,BBS可以交換各種文件。通過BBS系統可隨時取得國際最新軟件及信息,可以和別人討論計算機軟件、硬件、Internet、多媒體、程序設計以及醫學等各種有趣話題,可以利用BBS刊登征友、廉價轉讓及公司產品等啟事。只要擁有1 臺計算機和上網設備就能立刻進入“超時代”BBS領域,享用它無比的威力!因此BBS 受到了廣大網絡用戶的歡迎。
35.什么是域名服務?Internet的域名是由幾段構成的?
答:域名是Internet 網絡上的一個服務器或一個網絡系統的名字。域名的形式是以若干個英文字母和數字組成,由".“分隔成幾部分,如cctv.com就是一個域名。
一個完整的域名由兩個或兩個以上詞段組成,部分之間用英文句號”.“分隔,最后一個”.“的右邊部分稱為頂級域名(TLD)或一級域名,最后一個”."的左邊部分稱為二級域名(SLD),二級域名的左邊部分稱為三級域名,以此類推,每一級的域名控制它下一級域名的分配。
36.什么是域名解析?最基本的一種域名解析方式是如何實現的?
答:域名解析是將域名重新轉換為對應IP地址的過程。一個域名只對應一個IP地址,多個域名可以同時解析到一個IP地址。域名解析需要由專門的域名解析服務器DNS完成。
域名解析的過程:當應用過程需要將一個主機域名映射為IP 地址時,就調用域名解析函數將待轉換的域名放在DNS 請求中,以UDP 報文方式發給本地域名服務器。查到域名后將對應IP 地址放在應答報文中返回。若域名服務器不能回答該請求,則此域名服務器向根域名服務器發出請求解析,找到下面的所有二級域名服務器,以此類推,直到查詢到所請求的域名并賦IP值返回。
37.為能支持Internet所提供的服務,在操作系統中應配置哪些軟件?
答:應配置WEB 瀏覽器,如IE、firefox、Chrome等,特殊的服務可以根據需要安裝對應的軟件。
38.何謂瀏覽器/服務器模式?瀏覽器和服務器的基本功能是什么?
答:瀏覽器/服務器模式即B/S 結構或Browser/Server 結構。只安裝維護一個服務器Server,客戶端采用瀏覽器Browse 軟件。利用成熟的WWW技術,結合多種Script語言(VBScript、JavaScript…)和ActiveX技術,是全新的軟件系統構造技術。
在B/S體系結構系統中,瀏覽器向分布在網絡上的許多服務器發出請求,服務器對瀏覽器的請求進行處理,將用戶所需信息返回到瀏覽器。而數據請求、加工、結果返回及動態網頁
生成、數據庫訪問和應用程序執行等工作全部由Web Server完成。隨著Windows將瀏覽器技術植入操作系統內部,這種結構已成為當今應用軟件的首選體系結構。
B/S 結構的主要特點是分布性廣、維護方便、開發簡單、共享性強、總體成本低。但數據安全性、服務器要求高、數據傳輸慢、軟件個性化特點明顯降低,難以實現傳統模式下的特殊功能要求。
瀏覽器是指可以顯示網頁服務器或者文件系統的HTML 文件內容,并讓用戶與這些文件交互的一種軟件。服務器是網絡上為客戶端計算機提供各種服務的高可用性計算機。
歡迎大家加我微信交流討論(請備注csdn上添加)
總結
以上是生活随笔為你收集整理的计算机操作系统|汤小丹|第四版|习题答案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初二物理模型有哪些_初中物理:模型分类及
- 下一篇: Bootstrap 按钮(实例 )