在多核CPU中考虑以下情况,为简单起见,请坚持使用linux内核。
wait_char()
{
while (1)
{
ch = readchar();
putchar(ch);
}
}
现在内核是如何判断出B(谁是I / O队列中的后面人员)?
答案 0 :(得分:0)
进程不在队列中等待I / O.当您在终端B上输入内容时,设备驱动程序知道它来自终端B.设备很可能会触发中断。然后,操作系统将数据发送给在终端B上有待读取请求的任何人。
如果您有两个进程从终端B读取,则随机获取该角色。