Linux
什麼是設備控制器,它在核心和設備之間的位置是什麼?
有人可以解釋一下設備控制器(硬碟控制器、NEC PD765 兼容控制器等)的概念嗎?
以下是解釋可能需要的關鍵術語的一些定義。只是為了保持術語同步:)
Kernel - 為訪問硬體設備提供抽象的軟體
驅動程序- 由硬體製造商編寫的低級程序,作為核心模組載入並為核心提供有關如何控制設備的知識
韌體- 定義硬體內部邏輯的硬體特定程序。核心通常與它們無關,除了每次啟動時將韌體上傳到設備的情況,在這種情況下,核心會進行上傳
設備控制器安裝在哪裡?它位於設備本身還是主機板上?
驅動程序是否為核心提供了與控制器的介面,而不是直接與設備本身的介面?
控制器背後的想法是能夠使用相同的驅動程序控制來自不同製造商的設備嗎?
控制器背後的想法是能夠使用相同的驅動程序控制來自不同製造商的設備嗎?
不,主要目的是提供設備和處理器之間的部分介面。控制器有自己的驅動程序;這是連接到它的設備所需的任何驅動程序的補充。
需要介面的原因是處理器高度專業化。控制器是從處理器的專業世界到設備多元世界的某種翻譯器。處理器與外部的物理數據連接只有一個(匯流排),而不是多種,實際上,控制器和處理器之間的中介通常是連接處理器和主機板的*橋樑。*然後設備控制器連接到主機板並通過網橋進行通信。所以鏈中有四個離散的物理實體:處理器 -> 橋 -> 控制器 -> 設備,所有其中涉及他們自己的軟體驅動程序(處理器的驅動程序,橋晶片組的驅動程序,然後是每個控制器的驅動程序,以及每個設備的驅動程序)。
如果您查看此維基百科文章中的下圖,底部的藍色框代表設備控制器。
$$ By Alexander Taubenkorb, Creative Commons Attribution-Share Alike 3.0 $$