官术网_书友最值得收藏!

第二部分 課后習題

第1章 操作系統引論

1設計現代OS的主要目標是什么?

答:在計算機系統上配置操作系統的主要目標是方便性、有效性、可擴充性和開放性。

(1)方便性

配置操作系統(OS)后,系統可以使用編譯命令將用戶采用高級語言書寫的程序翻譯成機器代碼,用戶可以直接通過OS所提供的各種命令操縱計算機系統,使計算機變得易學易用。

(2)有效性

提高系統資源利用率

早期未配置OS的計算機系統,各種資源無法得到充分利用,配置OS后,能有效分配各種設備的工作狀態,提高系統資源的利用率。

提高系統的吞吐量

OS可以通過合理地組織計算機的工作流程,加速程序的運行,縮短程序的運行周期,從而提高系統的吞吐量。

(3)可擴充性

OS必須具有很好的可擴充性,才能適應計算機硬件、體系結構以及應用發展的要求。

(4)開放性

開放性是指系統能遵循世界標準規范,特別是遵循開放系統互連(OSI)國際標準。開放性是衡量一個新推出系統或軟件能否被廣泛應用的至關重要的因素。

2OS的作用可表現在哪幾個方面?

答:OS的作用可表現在以下3個方面:

(1)OS作為用戶與計算機硬件系統之間的軟件接口

OS處于用戶與計算機硬件系統之間,用戶通過OS來使用計算機系統;

(2)OS作為計算機系統資源的管理者

在計算機系統中,通常都包含硬件和軟件資源,歸納起來可將資源分為4類:處理器、存儲器、I/O設備以及信息(數據和程序)。相應地,OS的主要功能也正是針對這4類資源進行有效的管理。為了管理好這些共享資源(包括硬件和信息)的使用,操作系統必須記錄下各種資源的使用情況,對使用資源的請求進行授權,協調諸用戶對共享資源的使用,避免發生沖突,并計算使用資源的費用等。

(3)OS實現了對計算機資源的抽象

它向用戶(進程)提供了一個對硬件操作的抽象模型,用戶可利用抽象模型提供的接口使用計算機,而無需了解物理接口實現的細節,從而使用戶更容易地使用計算機硬件資源。

3為什么說OS實現了對計算機資源的抽象?

答:OS是鋪設在計算機硬件上的多層系統軟件,它不僅增強了系統的功能,而且還隱藏了對硬件操作的細節,實現了對計算機硬件操作的多個層次的抽象。

(1)在裸機上覆蓋上一層I/O設備管理軟件,由它來實現對I/O設備操作的細節,并向上提供一組I/O命令,用戶可利用它來進行數據輸入或輸出,而無需關心I/O是如何實現的。該軟件實現了對計算機硬件操作的第一層次的抽象;

(2)在第一層次的抽象上再覆蓋上一層用于文件的管理軟件,同樣由它來實現文件操作的細節,并向上提供一組對文件進行存取操作的命令,用戶可利用這組命令進行文件的存取。該層軟件實現了對硬件資源操作的第二層次的抽象。

4試說明推動多道批處理系統形成和發展的主要動力是什么。

答:不斷提高計算機資源的利用率是推動多道批處理系統形成和發展的主要動力。在計算機發展的初期,計算機系統特別昂貴,必須千方百計地提高計算機系統中各種資源的利用率,這就是OS最初發展的推動力。在此推動力的作用下形成了能自動地對一批作業進行處理的多道批處理系統。

5何謂脫機I/O和聯機I/O?

答:(1)脫機I/O

為了解決人機矛盾及CPU和I/O設備之間速度不匹配的矛盾,20世紀50年代末出現了脫機輸入/輸出(Off-Line I/O)技術。該技術是事先將裝有用戶程序和數據的紙帶(或卡片)裝入紙帶輸入機(或卡片機),在一臺外圍機的控制下,把紙帶(卡片)上的數據(程序)輸入到磁帶上。當CPU需要這些程序和數據時,再從磁帶上將其高速地調入內存。類似地,當CPU需要輸出時,可由CPU直接高速地把數據從內存送到磁帶上,然后再在另一臺外圍機的控制下,將磁帶上的結果通過相應的輸出設備輸出。即脫機I/O方式指的是程序和數據的輸入和輸出都是在外圍機的控制下完成的,或者說,它們是在脫離主機的情況下進行的。

(2)聯機I/O

和脫機I/O方式相反,聯機I/O方式指的是在主機的直接控制下進行輸入/輸出的方式。

6試說明推動分時系統形成和發展的主要動力是什么?

答:不斷提高計算機資源的利用率是推動分時系統形成和發展的主要動力。它能很好地將一臺計算機資源提供給多個用戶同時使用,提高計算機的利用率。它經常被應用于查詢系統中,滿足許多查詢用戶的需求。

7實現分時系統的關鍵問題是什么?應如何解決?

答:(1)實現分時系統的關鍵問題

為實現分時系統,必須解決的關鍵問題是如何使用戶能與自己的作業進行交互,即當用戶在自己的終端上鍵入命令時,系統應能及時接收并及時處理該命令,再將結果返回給用戶。

(2)解決方案

及時接收問題

針對及時接收問題,解決辦法是在系統中配置一個多路卡,多路卡的作用是使主機能同時接收不同用戶從終端上輸入的數據。此外,還須為每個終端配置一個緩沖區,用來暫存用戶鍵入的命令(或數據)。

及時處理問題

針對及時處理問題,各個用戶的作業應該直接進入內存,并且規定每個作業只運行一個很短的時間片,然后暫停該作業的運行,并立即調度下一個作業運行。

8為什么要引入實時OS?

答:“實時”是表示“及時”,而實時系統(Real-Time System)是指系統能及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致地運行。引入實時OS是為了滿足實時應用的需求,更好地滿足實時控制領域和實時信息處理領域的需要。在實時操作系統的控制下,計算機系統接收到外部信號后及時進行處理,并且要在嚴格的時限內處理完接收的事件,其主要特點是及時性和可靠性。

9什么是硬實時任務和軟實時任務?試舉例說明。

答:在實時操作系統中,根據對截止時間的要求來分類,實時任務可分為硬實時任務和軟實時任務兩種。

(1)硬實時任務及其舉例

硬實時任務(Hard real-time Task)是系統必須滿足任務對截止時間的要求,否則可能出現難以預測的結果,在一些高科技領域,如運載火箭的控制等。

(2)軟實時任務及其舉例

軟實時任務(Soft real-time Task)是它也聯系著一個截止時間,但并不嚴格,若偶爾錯過了任務的截止時間,對系統產生的影響也不會太大,比如網頁的更新等。

10試從交互性、及時性以及可靠性方面將分時系統與實時系統進行比較。

答:(1)交互性

實時信息處理系統雖然也具有交互性,但這里人與系統的交互僅限于訪問系統中某些特定的專用服務程序。它不像分時系統那樣能向終端用戶提供數據處理和資源共享等服務。

(2)及時性

實時信息處理系統對實時性的要求與分時系統類似,都是以人所能接受的等待時間來確定的;而實時控制系統的及時性,則是以控制對象所要求的開始截止時間或完成截止時間來確定的,一般為秒級到毫秒級,甚至有的要低于100微秒。

(3)可靠性

分時系統雖然也要求系統可靠,但相比之下,實時系統對可靠性的要求更高。因為任何差錯都可能帶來巨大的經濟損失,甚至是無法預料的災難性后果,所以在實時系統中,往往都采取了多級容錯措施來保障系統的安全性及數據的安全性。

11OS有哪幾大特征?其最基本的特征是什么?

答:不同操作系統具備各自不同的特征,如批處理系統有著高的資源利用率和系統吞吐量;分時系統能獲得及時響應;實時系統具有實時特征。同時,它們也具有并發、共享、虛擬和異步這四種共同的基本特征。

(1)并發性

并發性(Concurrence),是指兩個或多個事件在同一時間間隔內發生。

(2)共爭性

共享(Sharing),是指系統中的資源可供內存中多個并發執行的進程(線程)共同使用,相應地,把這種資源的共同使用稱為資源共享,或稱為資源復用。

(3)虛擬性

“虛擬”(Virtual),是指通過某種技術把一個物理實體變為若干個邏輯上的對應物。

(4)異步性

進程是以人們不可預知的速度向前推進,即不確定性。

其中,并發特征是操作系統最基本的特征,其它三個特征都是以并發特征為前提的。

12在多道程序技術的OS環境下的資源共享與一般情況下的資源共享有何不同?對獨占資源應采取何種共享方式?

答:(1)OS環境下與一般情況下的資源共享間的不同點

一般情況下的共享

一般情況下的共享只是說明某種資源能被大家使用,對于這樣的資源共享方式,只要通過適當的安排,用戶之間并不會產生對資源的競爭,因此資源管理是比較簡單的。

OS環境下的共享

OS環境下的資源共享或稱為資源復用,是指系統中的資源可供內存中多個并發執行的進程共同使用。這里在宏觀上既限定了時間(進程在內存期間),也限定了地點(內存)。對于這種資源共享方式,其管理就要復雜得多,因為系統中的資源少于多道程序需求的總和,會形成它們對共享資源的爭奪。所以,系統必須對資源共享進行妥善管理。

(2)獨占資源應采取的共享方式

對獨占資源應采用互斥共享方式,該共享方式僅當占有該資源的進程訪問并釋放資源后,才允許另一進程對該資源進行訪問。

13什么是時分復用技術?舉例說明它能提高資源利用率的根本原因是什么。

答:(1)時分復用技術的定義

時分復用技術是將不同的信號相互交織在不同的時間段內,沿著同一個信道傳輸;在接收端再用某種方法,將各個時間段內的信號提取出來還原成原始信號的通信技術。這種技術可以在同一個信道上傳輸多路信號。

(2)時分復用技術能提高資源利用率的根本原因

時分復用技術能提高資源利用率的根本原因在于,它利用某設備為一用戶服務的空閑時間,又轉去為其他用戶服務使設備得到最充分的利用。

14是什么原因使操作系統具有異步性特征?

答:由于各用戶程序性能的不同,不同程序對內存的使用開始時間、結束時間、中斷時間是不可預知的,或者說,進程是以人們不可預知的速度向前推進,導致了進程的異步性。

15處理機管理有哪些主要功能?其主要任務是什么?

答:處理機管理的主要功能是進程控制、進程同步、進程通信和調度。

(1)進程控制

為作業創建進程,并為之分配必要的資源;進程結束時撤銷進程,及時回收該進程所占用的各類資源;以及控制進程在運行過程中的狀態轉換。

(2)進程同步

為多個進程(含線程)的運行進行協調,協調分為進程互斥方式和進程同步方式。

(3)進程通信

用來實現在相互合作的進程之間的信息交換。

(4)處理機調度

在后備隊列上等待的每個作業都必須經過調度才能執行,在傳統的操作系統中,包括作業調度和進程調度兩步。

作業調度

從后備隊里按照一定的算法,選擇出若干個作業,為它們分配運行所需的資源(首先是分配內存)。

進程調度

從進程的就緒隊列中,按照一定算法選出一個進程,把處理機分配給它,并為它設置運行現場,使進程投入執行。

16內存管理有哪些主要功能?其主要任務是什么?

答:內存管理的主要功能有內存分配、內存保護、地址映射和內存擴充。

(1)內存分配

內存分配的主要任務是為每道程序分配內存空間,使它們“各得其所”;提高存儲器的利用率,減少不可用的內存空間;允許正在運行的程序申請附加的內存空間,以適應程序和數據動態增長的需要。

(2)內存保護

內存保護的主要任務是確保每道用戶程序都只在自己的內存空間內運行,彼此互不干擾;絕不允許用戶程序訪問操作系統的程序和數據;也不允許用戶程序轉移到非共享的其它用戶程序中去執行。

(3)地址映射

為使程序能正確運行,存儲器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉換為內存空間中與之對應的物理地址,該功能應在硬件的支持下完成。

(4)內存擴充

借助于虛擬存儲技術,從邏輯上去擴充內存容量,使用戶所感覺到的內存容量比實際內存容量大得多,以便讓更多的用戶程序并發運行。

17設備管理有哪些主要功能?其主要任務是什么?

答:設備管理的主要功能有緩沖管理、設備分配和設備處理。設備管理的主要任務是完成用戶進程提出的I/O請求,為用戶進程分配其所需的I/O設備;提高CPU 和I/O設備的利用率;提高I/O設備處理速度;方便用戶使用I/O設備。

(1)緩沖管理

可有效地緩和CPU與I/O設備速度不匹配的矛盾,提高CPU的利用率,進而提高系統吞吐量。

(2)設備分配

設備分配的基本任務是根據用戶進程的I/O請求、系統的現有資源情況以及按照某種設備的分配策略,為之分配其所需的設備。

(3)設備處理

設備處理程序又稱為設備驅動程序,其基本任務是實現CPU和設備控制器之間的通信。

18文件管理有哪些主要功能?其主要任務是什么?

答:文件管理主要功能有文件存儲空間的管理、目錄管理、文件的讀/寫管理和保護。文件管理的主要任務是對用戶文件和系統文件進行管理,以方便用戶使用,并保證文件的安全性。

(1)文件存儲空間的管理

其主要任務是為每個文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統的存、取速度。

(2)目錄管理

目錄管理的主要任務是為每個文件建立其目錄項,并對眾多的目錄項加以有效的組織,以方便實現按名存取,即用戶只須提供文件名便可對該文件進行存取。

(3)文件的讀/寫管理和保護

該功能是根據用戶的請求,從外存中讀取數據,或將數據寫入外存,同時防止系統中的文件被非法竊取和破壞。

19試說明推動傳統OS演變為現代OS的主要因素是什么?

答:推動傳統OS演變為現代OS的主要因素如下:

(1)不斷提高計算機資源的利用率

在計算機發展初期,計算機系統特別昂貴,因此,必須千方百計地提高計算機各種資源的利用率,這是OS最初發展的推動力。

(2)方便用戶

當資源利用率不高的問題得到基本解決后,用戶在上機、調試程序時的不方便性又成為了繼續推動OS發展的主要因素。

(3)器件的不斷更新換代

隨著微機芯片的不斷更新換代,使得計算機的性能快速提高,從而推動了OS功能和性能的迅速增強和提高。

(4)計算機體系結構的不斷發展

計算機體系結構的發展,不斷推動著OS的發展,也促進了新的OS類型的產生。

(5)不斷提出新的應用需求

不斷提出的新的應用需求是推動OS迅速發展的另一個重要原因。

20什么是微內核OS?

答:微內核(Micro Kernel)操作系統結構是20世紀80年代后期發展起來的。它能有效地支持多處理機運行,非常適用于分布式系統環境,微內核OS主要有以下四個方面的特征:

(1)足夠小的內核

能實現現代OS最基本的核心功能的部分,微內核并非是一個完整的OS,而只是操作系統中最基本的部分。

(2)基于客戶/服務器模式

將操作系統中最基本的部分放入內核中,而把操作系統的絕大部分功能都放在微內核外面的一組服務器(進程)中實現。

(3)應用“機制與策略分離”原理

在傳統的OS中,將機制放在OS的內核的較低層,把策略放在內核的較高層次中。而在微內核操作系統中,通常將機制放在OS的微內核中。正因為如此,才有可能將內核做得很小。

(4)采用面向對象技術

確保操作系統的“正確性”“可靠性”“易修改性”“易擴展性”等,并提高操作系統的設計速度。

21微內核操作系統具有哪些優點?它為何能有這些優點?

答:(1)微內核操作系統的優點

提高了系統的可擴展性

微內核OS的許多功能是由相對獨立的服務器軟件來實現的,當開發了新的硬件和軟件時,微內核OS只須在相應的服務器中增加新的功能,或再增加一個專門的服務器即可。

增強了系統的可靠性

微內核是經過精心設計和嚴格測試的,極具可靠性:另一方面是它提供了規范而精簡的應用程序接口(API),為微內核外部的程序編制高質量的代碼創造了條件。此外,由于所有服務器都是運行在用戶態,服務器與服務器之間采用的是消息傳遞通信機制,因此,當某個服務器出現錯誤時,不會影響內核,也不會影響其它服務器的正常運行。

可移植性強

在微內核結構的操作系統中,所有與特定CPU和I/O設備硬件有關的代碼,均放在內核和內核下面的硬件隱藏層中,而操作系統各種服務器,均與硬件平臺無關,使其能較容易地運行在不同的計算機硬件平臺上。

提供了對分布式系統的支持

由于在微內核OS中,客戶和服務器之間以及服務器和服務器之間的通信,是采用消息傳遞通信機制進行的,致使微內核OS能很好地支持分布式系統和網絡系統。

融入了面向對象技術

有利于提高系統的“正確性”“可靠性”“易修改性”“易擴展性”等,而且還能顯著地減少開發系統所付出的開銷。

(2)微內核操作系統具有上述優點的原因

微內核OS結構是建立在模塊化、層次化結構的基礎上的,并采用了客戶/服務器模式和面向對象的程序設計技術。

22現代操作系統較之傳統操作系統又增加了哪些功能和特征?

答:(1)現代操作系統增加的功能

傳統的OS具有處理機管理、存儲器管理、設備管理、文件管理和提供友好的用戶接口這五大功能,現代OS中還增加了面向安全、面向網絡和面向多媒體等功能。

(2)現代操作系統增加的特征

現代操作系統較傳統的多道批處理系統、實時操作系統以及分時操作系統增加并發性、資源共享性、虛擬性和異步性四大特征。

23在微內核OS中,為什么要采用客戶/服務器模式?

答:由于客戶/服務器模式具有數據的分布處理和存儲;便于集中管理;靈活性和可擴充性;易于改編應用軟件等優點。故在單機微內核操作系統中幾乎無一例外地都采用客戶/服務器模式,將操作系統中最基本的部分放入內核中,而把操作系統的絕大部分功能都放在微內核外面的一組服務器(進程)中實現。

24在基于微內核結構的OS中,應用了哪些新技術?

答:在設計微內核OS時,采用了面向對象的技術,其中的“封裝”“繼承”“對象類”和“多態性”,以及在對象之間采用消息傳遞機制等,都有利于提高系統的“正確性”“可靠性”“易修改性”“易擴展性”,而且還能顯著地減少開發系統所付出的開銷。

25何謂微內核技術?在微內核中通常提供了哪些功能?

答:(1)微內核技術的定義

把操作系統中更多的成分和功能放到更高的層次(即用戶模式)中去運行,而留下一個盡量小的內核,用它來完成操作系統最基本的核心功能,這種技術被稱為微內核技術。

(2)微內核技術提供的功能

在微內核中通常提供了進程(線程)管理、低級存儲器管理、中斷和陷入處理功能。

進程(線程)管理

進程(線程)之間的通信功能是微內核OS最基本的功能,被頻繁使用,因此,幾乎所有的微內核OS都是將進程(線程)之間的通信功能放入微內核中。

低級存儲器管理

在微內核中,只配置最基本的低級存儲器管理機制,如用于實現將用戶空間的邏輯地址變換為內存空間的物理地址的頁表機制和地址變換機制,這一部分是依賴于硬件的,因此放入微內核。

中斷和陷入處理

大多數微內核操作系統都是將與硬件緊密相關的一小部分放入微內核中處理,此時微內核的主要功能是捕獲所發生的中斷和陷入事件,并進行相應的前期處理。

主站蜘蛛池模板: 新乡县| 九龙坡区| 司法| 乐昌市| 沂源县| 汉川市| 讷河市| 玉屏| 安西县| 通江县| 祁阳县| 讷河市| 柳江县| 平乡县| 安福县| 天峻县| 化隆| 修文县| 托克逊县| 秭归县| 临高县| 大荔县| 磐石市| 柘城县| 海盐县| 康平县| 阿拉尔市| 桐梓县| 龙川县| 雷州市| 长治县| 历史| 凤翔县| 江阴市| 罗甸县| 梅州市| 辉南县| 石渠县| 五大连池市| 济源市| 南丹县|