Чому в диспетчері завдань Windows немає процесів 1, 2 або 3?
Коли ви знайдете час, щоб подивитися на всі маленькі деталі в Windows, ви часто знаходите маленькі цікавості. Наприклад, наприклад, це ідентифікаційні номери процесів 1, 2 і 3, які ніколи не призначалися нічого в диспетчері завдань Windows?
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Питання
Читач Superguer Agovizer довго переглядав таблицю відображення процесу в диспетчері завдань Windows і повертався з деякими запитаннями, зокрема:
Які процеси, якщо такі є, існують між PIDs 0 і 4 у Windows 7? Тільки з цікавості, які процеси між 0 і 4, а також між 4 і 200 щось.
Ми переїхали в диспетчер завдань на нашій машині і впевнені, що в слотах 1, 2 і 3 не було призначено жодних процесів, хоча наші PIDs підскочили з 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 Межі ручки від Марка Русиновича
Більше про «кратні чотири» у ПІД
Все, що він пропонує, перевіряє: ми втрачаємо 1, 2 і 3 (не кратні 4) і кожне значення PID в нашому списку від 340 до 13136 ділиться на 4.
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.