Домашняя » как » Почему в диспетчере задач Windows нет процессов 1, 2 или 3?

    Почему в диспетчере задач Windows нет процессов 1, 2 или 3?


    Когда вы уделяете время рассмотрению всех мелких деталей в Windows, вы часто находите маленькие курьезы. Например, например, почему идентификационные номера процессов 1, 2 и 3 никогда не назначаются чему-либо в диспетчере задач Windows?

    Сегодняшняя сессия вопросов и ответов пришла к нам благодаря SuperUser - подразделению Stack Exchange, группе веб-сайтов вопросов и ответов, управляемой сообществом..

    Вопрос

    Читатель SuperUser Agovizer внимательно посмотрел на таблицу отображения процесса в диспетчере задач Windows и задал несколько вопросов, а именно:

    Какие процессы, если таковые имеются, существуют между PID 0 и 4 в Windows 7? Просто из любопытства, каковы процессы между 0 и 4, а также между 4 и 200 чем-то.

    Мы запрыгнули в диспетчер задач на нашей машине и, разумеется, в слотах 1, 2 и 3 не было назначено ни одного процесса, хотя наши PID подскочили с 4 до 340, а не с 4 до 200.

    Ответ

    Участник SuperUser G Koe закрывает дело одним махом:

    Нет идентификатора процесса 1, 2 или 3 из-за того, как работает таблица дескрипторов ядра NT.

    Ручки всегда кратны четырем. Объект процесса дескриптора ядра используется как для дескрипторов процесса, так и для идентификаторов процессов / потоков. Случается, что значения дескриптора начинаются с 0x4 (бит 2), и InitialSystemProcess является первым процессом, который будет создан, поэтому он получает PID 4. Фактически, неактивный процесс не является процессом, и вы не можете его открыть. Вероятно, у него нет реального PID, но большинство инструментов считают его 0.

    Подробнее о таблице дескрипторов NT здесь, хотя это верно только для NT3-5 (xp), поскольку Windows 7 теперь требует, чтобы вы ссылались только на дескрипторы ядра, если они подключены к PsInitialSystemProcess.

    Подробнее о Windows 7/8 Обработка ограничений от Марка Руссиновича

    Подробнее о «кратных четырех» в PID

    Все, что он предлагает, проверяется: нам не хватает 1, 2 и 3 (не кратно 4), и каждое значение PID в нашем списке от 340 до 13136 делится на 4.


    Есть что добавить к объяснению? Звук выключен в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.