/ / Windowsタスクマネージャーにプロセス1、2、または3がないのはなぜですか?

Windowsタスクマネージャーにプロセス1、2、または3がないのはなぜですか?


時間をかけて少しずつ見てみると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ユーザーからの回答をもっと読みたいですか?こちらでディスカッションスレッド全体をご覧ください。