-1
所以我很困惑我們作爲程序員如何與計算機上的設備交談。現在我不是在說大的想法。我知道有些設備驅動程序位於硬件之上,因此不同的程序可以使用這些功能。程序如何與設備驅動程序對話?
但是總的來說,究竟是誰在與司機談話?程序員是否編寫負責調用驅動程序功能的應用程序?或者程序員通過操作系統調用函數,然後操作系統調用驅動程序?正如你所看到的,我真的對於驅動程序,操作系統和你的應用程序如何組裝在一起的細節感到困惑。
所以我很困惑我們作爲程序員如何與計算機上的設備交談。現在我不是在說大的想法。我知道有些設備驅動程序位於硬件之上,因此不同的程序可以使用這些功能。程序如何與設備驅動程序對話?
但是總的來說,究竟是誰在與司機談話?程序員是否編寫負責調用驅動程序功能的應用程序?或者程序員通過操作系統調用函數,然後操作系統調用驅動程序?正如你所看到的,我真的對於驅動程序,操作系統和你的應用程序如何組裝在一起的細節感到困惑。
應用程序不直接調用驅動程序 - 這會違反用戶模式和內核分離的整個想法。相反,操作系統將相關ABI公開給用戶模式程序,使應用程序能夠調用公開的功能(關於應該記錄的預定義限制)。
https://msdn.microsoft.com/en-us/library/jj919267.aspx下面是一個很好的圖表,從窗口的味道。 – JCx