You are on page 1of 2

Assignment 1 參考解答:

1.7
(1)
interrupt 的目的是在於提醒 CPU 作轉換狀態,像是課本上所提到的 I/O 執行完畢
即會發出信號(interrupt)去提醒 CPU。
(2)
和由 hardware 所產生的 interrupt 不同,trap 是在程式碼中設計來執行我們需要
的指令或捕捉錯誤的信號。
(3)
Trap 是可以由 user program 所刻意產生的。
(4)
Trap 可以處理 processor-generated exception 或是當我們需要執行特定的 system
call,即可在程式碼中去處理。

1.9
(1)
當兩個以上的元件需要做資料的交換時或是當交換資料時,元件的傳輸速率不一
致時,caches 可以作為中介者來提供資料交換。
(2)
Caches 的設計可以作為傳輸速率不同的原件之間的中介者。也就是說傳輸速率快
的(如 registers)不需要等待傳輸速率較慢的(如 disks)元件。
(3)
Cache coherency。在 multi-processor systems 會有多個 caches,因此有可能造成
相同的資料在不同的 cache 上會有不同的值。
(4)
由於 caches 本身設計的原理,因此其造價相較於 disk 來說,是較為昂貴的。此
外 caches 必須要在通電的狀態時才能保存資料。

2.2
(1)
請參考課本 P39 所提供的 operating-system services。
(2)
請根據第(1)題所舉的例子去描述 user-level programs 無法提供的原因。一般來說,
user-level programs 由於無法像 operating systems 有掌控全部資源的能力,所以
有許多情形下是無法像 operating systems 去提供這些服務。

2.9
相同之處:皆是以模組化的概念將功能作一定之分割,提供了一定程度上的物件
概念。

相異之處:分割的角度不同,一個是以功能性,一個是以由低至高的設計角度。
模組化的核心對於模組之間的使用和配合有較高之彈性,層次化的核心較為做不
到,且在層層的呼叫之下,效率可能會較為不佳:但是層次化的結果會使的每一
層的設計上較為簡便,對以低層的內容可視為已經正確的模組。

2.12
Synthesis operating system 會針對不同情況下在執行時作最佳化的處理,因此大
幅提升執行效率。然而由於其針對各種情形下作最佳化,故在偵錯時會一定的難
度,在各種不同硬體環境下也必須要因應其架構作不同的修改,都造成了許多困
難。

You might also like