國立空中大學 99 學年度上學期期中考試題【副參】73
科目:作業系統
問答題(每題 10 分,100%)
1. 所謂的組合語言(Assembly language)和一般的高階語言有何差異?Ans. 組合語言描述的工作細節更 接近電腦實際工作的步驟,高階語言則以程式設計者易讀易用為原則。(p 17)
2. 批次系統有什麼優點與缺點 ?Ans. 批次系統的設計很單純,算得上是一種優點,但是並不符合後 來系統越來越複雜的要求。(p 35)
3. 我們要如何知道作業系統中有哪些正在執行中的程式?Ans. 可以透過作業系統提供的相關程式 來瞭解有哪些正在執行中的程式,例如UNIX 中的 ps 指令。(p 45)
4. 試說明作業系統中核心模式(kernel mode)的涵義。Ans. 在核心模式下執行的程式對於系統資源的 運用有比較大的權限、限制比較少。(p 70)
5. 為什麼電腦系統的 CPU 對於處理元要進行排程?若不排程會發生什麼問題?Ans. 排程是用來管 理 CPU 的資源,排程的政策(policy)決定處理元使用 CPU 的順序,排程的機制(mechanism)則決定 CPU 配置給處理元使用的方法。若不排程會造成資源使用的混亂。(p 72)
6. 請用自己的話說明臨界區域(critical section)的概念。Ans. 當兩個處理元共用一個變數(variable),我 們說各處理元使用共用變數時進入了所謂的臨界區域(critical section),在沒有做任何控制的情況 下,當這兩個處理元同時執行時,所得到的結果不是確定的(non-determinate),也就是說,同樣的 程式每次執行時得到的結果可能都不一樣。我們希望避免這樣的狀況,基本的解決方式是要求任 一處理元進入臨界區域時,另外一個處理元就不能同時進入其臨界區域。(p 88)
7. 請說明死結的發生需要那些條件成立?Ans. 互斥(mutual exclusion)、占有與等待(hold and wait)、循 環等待(circular wait)、不間斷(no preemption),這 4 個條件同時存在才會發生死結(p 103)
8. 當死結發生時,處理元與資源之間有什麼樣的關係?Ans. 處理元無法取得繼續執行所需要的資 源。(p 101)
9. 以本章所介紹的記憶體空間分配的方式來看,對於主記憶體空間需求很大的程式在處理上會遇到 什麼樣的困難 ? 應該如何解決 ?Ans. 可能無法一次取得所需要的記憶體空間,此時除了可以運 用系統的作業盡量取得空間之外,虛擬記憶體技術是可以尋求的辦法。(p 115)
10. 請說明交換作業(swapping)進行的時機。Ans. 占有記憶體的處理元有可能在某些原因下暫停 (blocked)執行,假如此時有其他的處理元需要記憶體空間繼續執行,則我們可以考慮把暫停的處 理元移出主記憶體,讓其他的處理元能得到記憶體的資源。這是交換作業(swapping)的由來。(p 125)