Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
x86类型的CPU如何知道它正在与正确的Linux IO设备通信?_Linux_Cpu Architecture - Fatal编程技术网

x86类型的CPU如何知道它正在与正确的Linux IO设备通信?

x86类型的CPU如何知道它正在与正确的Linux IO设备通信?,linux,cpu-architecture,Linux,Cpu Architecture,x86类型(32或64位)的CPU如何知道它正在与正确的Linux IO设备通信 例如,如果将SCSI存储设备插入PCI总线。CPU如何检测并与该设备通信正确的命令?了解这个硬件答案将有助于软件编程。设备树告诉内核使用哪个驱动程序,驱动程序知道如何与设备通信。这是否意味着CPU通过IO设备的IO端口与设备驱动程序通信?CPU使用驱动程序与设备通信。设备树是一个告诉内核“我们有什么硬件”的文件,然后内核调用驱动程序的“probe”函数来验证实际硬件的存在,如果“probe”成功,内核将调用驱动程序

x86类型(32或64位)的CPU如何知道它正在与正确的Linux IO设备通信


例如,如果将SCSI存储设备插入PCI总线。CPU如何检测并与该设备通信正确的命令?了解这个硬件答案将有助于软件编程。

设备树告诉内核使用哪个驱动程序,驱动程序知道如何与设备通信。这是否意味着CPU通过IO设备的IO端口与设备驱动程序通信?CPU使用驱动程序与设备通信。设备树是一个告诉内核“我们有什么硬件”的文件,然后内核调用驱动程序的“probe”函数来验证实际硬件的存在,如果“probe”成功,内核将调用驱动程序来执行读/写/控制任务,驱动程序将执行这些任务。因此,只有驾驶员知道如何“实际”与硬件对话。例如,计算机有一个LED。设备告诉内核有一个LED连接到某个GPIO。然后内核将加载GPIO LED驱动程序并将LED暴露给sysfs。当用户试图通过向sysfs节点写入1来打开LED时,将调用驱动程序中的“打开”函数,该函数知道如何打开LED。然而,LED也可以通过I2C或PWM或其他方法控制,因此需要不同的驱动程序,但内核只调用相同的函数,但由不同的驱动程序提供。Linux内核中的设备驱动程序实际上是高度面向对象的,尽管是用C编写的。类似设备的驱动程序共享相同的“接口”(功能类似于C++中的一个,它是纯虚拟类,但以不同的方式实现,但仍然是一个纯抽象接口,声明“实现该接口的人将能够完成这些操作”。。设备树告诉内核使用哪个驱动程序,驱动程序知道如何与设备通信。这是否意味着CPU通过IO设备的IO端口与设备驱动程序通信?CPU使用驱动程序与设备通信。设备树是一个文件,告诉内核“我们有什么硬件”,然后内核调用驱动程序的“probe”函数用于验证实际硬件的存在,如果“probe”成功,内核将调用驱动程序来执行读/写/控制任务,驱动程序将执行这些任务。因此,只有驱动程序知道如何“实际”与硬件对话。例如,一台计算机有一个LED。设备告诉内核有一个LED连接到某个GPIO。然后内核将加载GPIO LED驱动程序并将LED暴露给sysfs。当用户试图通过向该sysfs节点写入1来打开LED时,“打开它”驱动程序中的函数被调用,它知道如何打开。但是LED也可以通过I2C或PWM或其他方法控制,因此需要不同的驱动程序,但内核只调用相同的函数,但由不同的驱动程序提供。Linux内核中的设备驱动程序实际上是高度面向对象的,尽管是用C编写的。simil的驱动程序AR设备共享相同的“接口”(功能上类似于C++中的一个接口,它是一个纯虚拟类,但以不同的方式实现,但仍然是一个纯抽象接口,声明“实现该接口的任何人都能做到”。