Linux を実行している 8 コアのシステムがあり、GUI デスクトップを使用していて、10 ~ 20 のターミナルが開いているとします。
何かを入力すると、ユーザー入力が正しい端末に表示されます。それはどのように起こりますか。たとえば、キーボード割り込みはどのCPUにも到達する可能性があります。正しいプロセスにどのようにルーティングされるかが私の質問です(一度に10個のプロセスがユーザー入力を待っていると仮定します)
これは私が知っていることです:
キーボード ドライバーには、入力を読み取り、優先度の高いワークキューによって処理される可能性があるバッファーにコピーする割り込みハンドラーがあります。(必須ではありませんが、それが起こると私は感じています)
このバッファは、現在アクティブなシェルの stdin のファイル記述子のバッファにコピーする必要があります。
わからないこと
work-queue work 関数は、現在アクティブなシェルを実行しているプロセスをどのように判断しますか。