短い答え
両方のキーボードは、ユーザーレベルのコードに対してまったく同等に機能します。デバイスドライバーを作成する場合、わずかな違い(最新のPCではナノ秒からマイクロ秒)が発生する場合があります。システムがハングした場合、両方のキーボードで問題は解決しません。ハードリブートに進みます。
ロングアンサーTL; DR;
割り込みとは何ですか?
ハードウェア(またはカーネルなどのOS内部ソフトウェアの重要な部分)がプロセッササービスを必要とする場合、メッセージまたは割り込みを起動し、プロセッサに実行中の処理を延期し、この要求を処理するよう要求します。
使い方?
ハードウェアが割り込み(キーを押すなど)を生成すると、この要求は割り込みコントローラーに入ります。その後、コントローラーはマシンコードの1行でCPUを直ちに中断します(CPUは引き続きこの最後の行を実行します)。プロセッサがこの要求を処理する準備ができると、割り込みコントローラに割り込み要求(IRQ)と処理ルーチンを要求します。割り込みコントローラーには、内部データ構造があります- 特定のIRQに対してCPUによって実行されることになっているルーチンへのポインターを含む割り込みディスパッチテーブル。
すべての異なる割り込みは、明確に制限された割り込み要求レベル(IRQL)に対応しています。たとえば、x86システムでは32個のIRQLがあり、x64およびIA64では実際には16個のIRQLがあります。明らかに、IRQLよりも多くのハードウェアデバイスとソフトウェアサービスがあるため、一部のシステムオブジェクトはすべてIRQLを共有します。
x64のIRQLテーブル
IRQL | 説明
--------------------------------------------
15 | 人目を引く
14 | プロセッサ間割り込み/電源
13 | 時計
12 | 同期する
11 | デバイスN
.. | ...
3 | デバイス1
2 | ディスパッチ/ DPC
1 | APC
0 | パッシブ/ロー
IRQLが大きい(数値が大きい)ほど、優先順位が高くなります。システムのすべてのコンポーネントは、プロセッサの現在のIRQLを可能な限り低いレベル-0に維持しようとします。高レベルの割り込みが発生すると、プロセッサの現在のIRQLレベルが上がり、低レベルの割り込みは処理されません。より高いレベルの割り込みはすべて解決されます。IRQスケジューラがプロセッサ実行のために同じレベルの複数のIRQをキューに入れることができる場合、IRQはバッチ処理できます。
ポイントは?
これはすべて、エンドユーザーをハードウェアの複雑さから切り離し、多くのタイプのハードウェア/ソフトウェアで動作できるユニバーサルアーキテクチャを作成するように本当にうまく設計されています。
ユーザーレベルのコード(カーネルレベルではない)は、プロセッサがパッシブ/低(0)IRQLの場合にのみ実行されます。ポイントは、すべてのIRQLが処理された後にのみ、アプリケーションでキー押下イベントを処理できることです。したがって、キーボードの場合、どのIRQLがハードウェア割り込みに割り当てられているかは関係ありません。
IRQLはOSの抽象化にすぎず、明確に設定されていません。対応するIRQとIRQLはWindowsレジストリに保存され(たとえば)、熱狂的なユーザーは手動で変更できます。
結論
質問からの引用
USBキーボードは、いくつかのIRQチャネルにしかアクセスできないUSB汎用ドライバーとアーキテクチャに依存しているため、他の(PS2などの)コントローラーのように優先度が高いIRQへのキーボードアクセスを与えることはできません。
おそらく著者は、より少ないIRQチャネルではなく、より低いIRQLを意味していました。とにかく、最近のPCではユーザーには表示されないため、実際には問題ではありません。可能な違いはナノ秒からマイクロ秒のレベルであり、カーネルレベルでのみ発生します。どちらの場合も、ユーザーレベルのコードはOSカーネルによってブロックされます。
これは(もしそうなら)USBキーボードが別のポートタイプに接続されたキーボードよりも応答性が低いことを意味しますか?
OSの設計方法のせいではありません。OSが何かでビジーで「遅い」場合、両方のキーボードは同じように動作します。
たとえば、別の中優先度割り込みルーチンでスタックしている障害のあるシステムで、中優先度IRQにマップされたUSBキーボードを使用します。
この場合、システムはBSODになり、IRQ処理ルーチンは特定の標準(高速、同期、非ブロッキングなど)に合わせて設計する必要があります。これとカーネルからの逸脱はBSODになります。
優先度が比較的高いため、キーボードイベントは無視され、Ctrl-Alt-delまたはその他の緊急キーストロークを送信することはできません。
システムがハングした場合、多くの問題が発生する可能性がありますが、ほとんどの場合、キーストロークIRQLはドライバーレベルで処理されます。問題は、OSが他の処理を実行しているため、そのような通知をサブスクライブしたアプリケーションに配信されないことです。