我的想法是:
假设两个应用程序在Linux x86 (多任务)中并行运行,并且它们都共享键盘外设。如果我按下键盘上的按钮,中断发生,控制必须切换到相应的中断例程。中断源的中断例程的起始地址从已从0x0000定义的中断向量表中获得。但是对于相同的键盘中断,两个应用程序可能需要不同的例程。因此,要执行的例程应该取决于它实际上是从哪个任务中断的。
因此,这是否意味着必须为两个进程保留两个单独的中断向量表,并且它们在进程打开时间片时由内核加载?
我尝试无限地接受用户的输入,直到用户按下键盘上的end键。输入可以是任何数据类型。例如下面的代码,当按下键盘上的end时,我想退出while循环。
l = []
while 1:
v = input("Enter the list element")
l.append(v)
if int(v)==1: # instead of checking 1 I want to check for "end" key press
break
print("the list is %s" %(l))
如果
我正在阅读Robert编写的,目前正在阅读Linux中的中断处理。它提到,驱动程序可以使用下面的函数注册来处理硬件设备,其中最后的参数dev是唯一的w.r.t到设备。这是否意味着我们不能让两个设备驱动程序服务于同一个硬件设备?如果我想实现与现有驱动程序一起工作的键盘驱动程序,难道不可能吗?我是否需要注销现有的键盘驱动程序并注册我编写的驱动程序?
int request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
const char *name, void *dev)