2012-11-11 54 views

回答

2

你還會發現操作系統有一些知識,比如如何驅動VGA,也可以烘焙。操作CPU是在給定系統上實際運行的基礎,因此操作系統必須知道這一點。其他一些功能也是必不可少的,操作系統包含訪問這些設施的功能。

但是,某些功能是可選的。操作系統開發人員並沒有讓開發人員選擇「烘烤」還是「艱難」 - 或者更糟糕的是,將所有的驅動程序交付給操作系統並使操作系統變得龐大,操作系統開發人員可以在任意驅動程序中構建抽象的加載方式,通常與特定類型的子系統如USB或磁盤。這意味着任何人可以添加功能。通常,對於自己內置的驅動程序,也應該遵循這種架構來保持清潔,因此,如果不需要,也不必使用它們。

你也會發現許多內核被設計成代碼明智的,只要這是可能的,就是CPU獨立的。這是必要的編譯時事情。例如,Linux有一個包含體系結構特定代碼的arch/目錄,然後將其抽象到內核的其餘部分,因此,例如,塊存儲層不需要爲每個體系結構重寫。例如,Windows NT最初的目標是DEC Alpha以及x86。

+0

這並不是說驅動程序不存在「核心」系統組件的輔助功能。很好的例子是CPU功率和散熱管理的驅動。 – marko

+0

@Marko true。這只是抽象,每當你想要替換任意一點功能時都會使用它們 - 即Windows稱之爲硬件抽象層。 – 2012-11-11 17:34:05

相關問題