時間をかけて少しずつ見てみるとWindowsの詳細については、ほとんど好奇心がありません。たとえば、プロセス識別番号1、2、3がWindowsタスクマネージャーで何にも割り当てられないのはなぜですか?
本日の質疑応答セッションは、コミュニティ主導のQ&A WebサイトのグループであるStack Exchangeの下位部門であるSuperUserのご厚意によるものです。
質問
スーパーユーザーリーダーのAgovizerは、Windowsタスクマネージャーのテーブルプロセス表示テーブルを長い間見てきましたが、具体的にはいくつかの質問がありました。
Windows 7のPID 0と4の間に存在するプロセスはありますか?好奇心から、0から4の間のプロセスと、4から200の間のプロセスとは何か。
私たちはマシンのタスクマネージャーに飛び乗り、スロット1、2、3にプロセスが割り当てられていないことを確認しました。ただし、PIDは4から200ではなく、4から340にジャンプしました。
答え
SuperUserコントリビューターG Koeは、一挙にケースをクローズします。
NTカーネルハンドルテーブルの動作方法のため、プロセスID 1、2、または3はありません。
ハンドルは常に4の倍数です。 カーネルハンドルプロセスオブジェクトは、プロセスハンドルとプロセス/スレッドIDの両方に使用されます。ハンドル値はすべて0x4(ビット2)で始まり、InitialSystemProcessが最初に作成されるプロセスであるため、PIDが4になります。アイドルプロセスは実際にはプロセスではなく、開くことができません。おそらく実際のPIDはありませんが、ほとんどのツールは0と見なします。
NTハンドルテーブルの詳細
Mark RussinovichによるWindows 7/8ハンドル制限の詳細
PIDの「4の倍数」の詳細
彼が提案するすべてがチェックアウトされます。1、2、および3(4の倍数ではない)が欠落しており、リストの340から13136までのすべてのPID値は4で割り切れます。
説明に追加するものがありますか?コメントで鳴り響きます。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらでディスカッションスレッド全体をご覧ください。