wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ch06-Synchronization Tools_part3

Total questions: 9

Worksheet time: 5mins

Name
Class
Date
1.

下列對於monitor的描述,何者有誤?

a)

屬於高階語言解決同步方法

b)

可以達到互斥的效果

c)

屬於硬體指令

d)

若Process暫時無法進 入monitor,會先到entry queue

等待。

2.

為何需要在monitor中加入條件變數(Condition variable)?

a)

為了要達到互斥的目的。

b)

為了解決已經進入monitor的process,因為某種條件限制而無法繼續執行的問題。

c)

為了避免bounded waiting問題發生。

3.

以下對於monitor中的條件變數(Condition variable)描述,何者有誤?

a)

是為了解決進入monitor的process可能因為某種條件,造成霸佔資源的狀況。

b)

透過wait( )和signal( )來操作condition variable

c)

condition variable的數量只能有一個。

4.

在monitor中使用Condition Variable時,當發生2個Process同時在monitor時的解決方法為何?(複選)

a)

Continue and wait

b)

Signal and wait

c)

Signal and Continue

5.

Monitor中需要Block process的時機點為何? (複選)

a)

當Process呼叫x.wait( )時

b)

Process 要進入已經有process在使用的monitor

c)

當Process呼叫x.signal( ),採取「Signal and Continue」時

d)

當Process呼叫x.signal( ),採取「Signal and wait」時

6.

以下對於使用Semaphore實現monitor的做法,何者有誤?

a)

Process 進入 monitor 前,必須先呼叫wait (mutex)。

b)

當Process進入monitor後,若發現需等待某條件才能執行,可以呼叫x.wait( )進入blocked。

c)

當Process執行完CS後,會先呼叫x.signal( )

d)

當Process執行完CS後,會直接呼叫signal(mutex)。

7.

以下哪一個狀況會造成Indefinite waiting?(複選)

a)

飢餓現象 (Starvation)

b)

護衛效應(Convoy Effect)

c)

死結 (deadlock)

d)

優先權倒置 (Priority inversion)

8.

以下對於死結 (deadlock)描述,何者有誤?

a)

指2個以上 processes 因為所需資源/事件彼此相互佔住,造成無限等待

b)

無法滿足Liveness

c)

使用monitor可以避免deadlock發生

d)

multi-core system不會發生

9.

以下對於優先權倒置 (Priority inversion)描述,何者有誤?

a)

發生於OS使用優先權排班法

b)

可透過優先權繼承(Priority inheritance)解決

c)

導致優先權低的process比優先權高的先執行

d)

是因為優先權高的Process先進入CS導致。