所以我对程序员与计算机上的设备进行通信的准确程度感到困惑。现在我不是在谈论重要的想法。我知道有些设备驱动程序位于硬件顶部,因此不同的程序可以使用这些功能。
但一般来说谁与司机交谈?程序员编写应用程序负责调用驱动程序上的函数吗?或者程序员是否通过操作系统调用函数,然后操作系统处理对驱动程序的调用?正如您所看到的,我真的只是对驱动程序,操作系统和您的应用程序如何组合在一起的细节感到困惑。
答案 0 :(得分:1)
应用程序不会直接调用驱动程序 - 这会违反用户模式和内核分离的整个想法。相反,操作系统会将相关的ABI公开给用户模式程序,使应用程序能够调用公开的功能(相对于应记录的预定义限制)。