1. 程式人生 > >作業系統概念作業(2)

作業系統概念作業(2)

作業系統第二次作業 2.3 討論向作業系統傳遞引數的三個主要的方法。 最簡單的是通過暫存器來傳遞引數。不過有時,引數數量會比暫存器多。這時,這些引數通常存在記憶體的塊和表中,並將塊的地址通過暫存器來傳遞(見圖 2 .4 )。Linux 和 Solaris 就採用這種方法。引數也可通過程式放在或壓入堆疊中,並通過作業系統彈出。有的系統採用塊或堆疊方法,因為這些方法並不限制所傳遞引數的數量或長度。

2.9為什麼要區分機制和策略 機制(mechanism)提供了某一方面的功能,在C語言中表現為一個個的介面函式。策略(policy)是決定如何呼叫各個功能,包括但不限於:以何種順序呼叫?何時何地呼叫?呼叫次數? 機制和策略的特點:機制表現為一組彼此正交(不重複)的功能,穩定不易變化;策略表現為對各個功能的呼叫邏輯,花樣繁多,變化無常。區分開來相當於把一個專案分解成穩定和不穩定的兩個部分。一旦使用者需求發生改變,只需要改變策略即可,機制部分只需少許修改或者完全不需要修改。

2.12 系統設計採用微核心設計的主要優點是什麼?使用者程式和系統服務在微核心結構內如何相互影響?採用微核心設計的缺點又是什麼? 微核心優點:易擴充套件,更容易將作業系統連線到新架構,更可靠(更少的程式碼執行在核心模式),更全。 使用者程式和系統服務在微核心結構內如何相互影響:使用者程式和系統服務通過使用程序件的通訊機制在微核心中相互作用,例如傳送訊息,這些訊息由作業系統運送。 微核心缺點:使用者空間與核心空間通訊的效能開銷增大。