我的想法是:
假设两个应用程序在Linux x86 (多任务)中并行运行,并且它们都共享键盘外设。如果我按下键盘上的按钮,中断发生,控制必须切换到相应的中断例程。中断源的中断例程的起始地址从已从0x0000定义的中断向量表中获得。但是对于相同的键盘中断,两个应用程序可能需要不同的例程。因此,要执行的例程应该取决于它实际上是从哪个任务中断的。因此,这是否意味着必须为两个进程保留两个单独的中断向量表,并且它们在进程打开时间片时由内核加载?
在一次家庭作业中,我们被要求向Linux内核(Red Hat 2.4.18)添加一个系统调用。根据赋值,新系统调用的返回值应该为void。系统调用本身非常简单(只有一次赋值),不会出错。根据我所读到的知识,系统调用通常返回一个负值来表示失败,或者返回0来表示成功。我的问题是,这是一种常见的做法还是必须的做法?系统调用可以返回void吗?