设备驱动程序和中断处理程序之间的关系?

relation between device driver and interrupt handler?

看起来很基础的问题,但是我对设备驱动程序和中断处理程序的具体工作感到困惑?

在我的理解中,设备出现中断,CPU 注意到它,CPU 保存状态并跳转到中断处理程序,处理程序为设备服务,CPU 恢复处理之前的工作。如果这个过程是正确的,设备驱动程序的作用是什么?

我是 OS 的新手,非常感谢。

If this procedure is correct ...

是的,没错。

Relation between device driver and interrupt handler?

中断处理程序是设备驱动程序的一部分。

... what is the role of a device driver?

设备驱动程序包含访问特定设备(例如鼠标)所需的所有代码。

我们以PS/2鼠标为例:

只要鼠标有数据,就会触发中断。这意味着 CPU 按照您在问题中描述的方式执行中断处理程序。

中断处理程序是设备驱动程序中的一些代码(例如函数)。

该函数可以从鼠标中读取数据,根据读取的数据计算光标位置,并将该位置存储在变量中。

设备驱动程序还包含另一个函数,每当应用程序向设备请求信息时调用该函数。

此函数然后可以return将在中断处理程序中计算的光标位置提供给应用程序。