假设我们有一个运行 linux 的 8 核系统,您正在使用 GUI 桌面并打开 10-20 个终端。
当您键入内容时,用户输入会出现在正确的终端上。怎么会这样。例如,键盘中断可以到达任何 cpu,它如何路由到正确的进程是我的问题(假设一次有 10 个进程正在等待用户输入)
这是我所知道的:
键盘驱动程序将有一个中断处理程序,它读取输入并将其复制到可能由某些高优先级工作队列处理的缓冲区。(没有必要,但这就是我觉得会发生的事情)
必须将此缓冲区复制到当前活动 shell 的标准输入文件描述符的缓冲区中。
我不知道的
工作队列工作函数如何确定哪个进程正在运行当前活动的 shell。