第四章—線程、對稱多處理和微內核【計算機操作系統】

4.1 表3.5列出了在一個沒有線程的操作系統中進程控制塊的基本元素。對於多線程系統,這些元素中那些可能屬於線程控制塊,那些可能屬於進程控制塊?

這對於不同的系統來說通常是不同的,但一般來說,進程是資源的所有者,而每個線程都有它自己的執行狀態。關於表3.5中的每一項的一些結論如下:進程標識:進程必須被標識,而進程中的每一個線程也必須有自己的ID。處理器狀態信息:這些信息通常只與進程有關。進程控制信息:調度和狀態信息主要處於線程級;數據結構在兩級都可出現;進程間通信和線程間通信都可以得到支持;特權在兩級都可以存在;存儲管理通常在進程級;資源信息通常也在進程級。

4.2 請列出線程間的模式切換比進程間的模式切換開銷更低的原因。

包含的狀態信息更少。

4.3 在進程概念中體現出的兩個獨立且無關的特點是什麼?

資源所有權和調度/執行。

4.4 給出在單用戶多處理系統中使用線程的四個例子。

前臺和後臺操作,異步處理,加速執行和模塊化程序結構。

4.5 哪些資源通常被一個進程中的所有線程共享?

例如地址空間,文件資源,執行特權等。

4.6 列出用戶級線程優於內核級線程的三個優點。

1.由於所有線程管理數據結構都在一個進程的用戶地址空間中,線程切換不需要內核模式的特權,因此,進程不需要爲了線程管理而切換到內核模式,這節省了在兩種模式間進行切換(從用戶模式到內核模式;從內核模式返回用戶模式)的開銷。

2.調用可以是應用程序專用的。一個應用程序可能傾向於簡單的輪詢調度算法,而另一個應用程序可能傾向於基於優先級的調度算法。調度算法可以去適應應用程序,而不會擾亂底層的操作系統調度器。

3.用戶級線程可以在任何操作系統中運行,不需要對底層內核進行修改以支持用戶級線程。線程庫是一組供所有應用程序共享的應用級軟件包。

4.7 列出用戶級線程相對於內核級線程的兩個缺點。

1.在典型的操作系統中,許多系統調用都會引起阻塞。因此,當用戶級線程執行一個系統調用時,不僅這個線程會被阻塞,進程中的所有線程都會被阻塞。

2.在純粹的用戶級進程策略中,一個多線程應用程序不能利用多處理技術。內核一次只把一個進程分配給一個處理器,因此一次進程中只能有一個線程可以執行。

4.8 定義jacketing。

Jacketing通過調用一個應用級的I/O例程來檢查I/O設備的狀態,從而將一個產生阻塞的系統調用轉化爲一個不產生阻塞的系統調用。

4.9 簡單定義圖4.8中列出的各種結構。

SIMD:一個機器指令控制許多處理部件步伐一致地同時執行。每個處理部件都有一個相關的數據存儲空間,因此,每條指令由不同的處理器在不同的數據集合上執行。

MIMD:一組處理器同時在不同的數據集上執行不同的指令序列。主/從:操作系統內核總是在某個特定的處理器上運行,其他處理器只用於執行用戶程序,還可能執行一些操作系統實用程序。

SMP:內核可以在任何處理器上執行,並且通常是每個處理器從可用的進程或線程池中進行各自的調度工作。集羣:每個處理器都有一個專用存儲器,而且每個處理部件都是一個獨立的計算機。

4.10 列出SMP操作系統的主要設計問題。

同時的併發進程或線程,調度,同步,存儲器管理,可靠性和容錯。

4.11 給出在典型的單體結構操作系統中可以找到且可能是微內核操作系統外部子系統中的服務和功能。

設備驅動程序,文件系統,虛存管理程序,窗口系統和安全服務。

4.12 列出並簡單解釋微內核設計相對於整體式設計的七個優點。

一致接口:進程不需要區分是內核級服務還是用戶級服務,因爲所有服務都是通過消息傳遞提供的。

可擴展性:允許增加新的服務以及在同一個功能區域中提供多個服務。

靈活性:不僅可以在操作系統中增加新功能,還可以刪減現有的功能,以產生一個更小、更有效的實現。

可移植性:所有或者至少大部分處理器專用代碼都在微內核中。因此,當把系統移植到一個處理器上時只需要很少的變化,而且易於進行邏輯上的歸類。

可靠性:小的微內核可以被嚴格地測試,它使用少量的應用程序編程接口(API),這就爲內核外部的操作系統服務產生高質量的代碼提供了機會。

分佈式系統支持:微內核通信中消息的方向性決定了它對分佈式系統的支持。

面向對象操作系統環境:在微內核設計和操作系統模塊化擴展的開發中都可以藉助面向對象方法的原理。

4.13 解釋微內核操作系統可能存在的性能缺點。

通過微內核構造和發送信息、接受應答並解碼所花費的時間比一次系統調用的時間要多。

4.14 列出即使在最小的微內核操作系統中也可以找到的三個功能。

低級存儲器管理,進程間通信(IPC)以及I/O和中斷管理。

4.15 在微內核操作系統中,進程或線程間通信的基本形式是什麼?

消息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章