Prečo neexistujú žiadne procesy 1, 2 alebo 3 v Správcovi úloh systému Windows?

Obsah:

Prečo neexistujú žiadne procesy 1, 2 alebo 3 v Správcovi úloh systému Windows?
Prečo neexistujú žiadne procesy 1, 2 alebo 3 v Správcovi úloh systému Windows?

Video: Prečo neexistujú žiadne procesy 1, 2 alebo 3 v Správcovi úloh systému Windows?

Video: Prečo neexistujú žiadne procesy 1, 2 alebo 3 v Správcovi úloh systému Windows?
Video: What are Black Hat, White Hat, and Grey Hat Hackers? [Explained] - YouTube 2024, Smieť
Anonim
 Keď si vezmete čas, aby ste sa pozreli na všetky malé detaily v systéme Windows, často nájdete len málo zaujímavostí. Rovnako ako prečo sú napríklad číslo identifikácie procesov 1, 2 a 3 nikdy priradené k ničomu v Správcovi úloh systému Windows?
Keď si vezmete čas, aby ste sa pozreli na všetky malé detaily v systéme Windows, často nájdete len málo zaujímavostí. Rovnako ako prečo sú napríklad číslo identifikácie procesov 1, 2 a 3 nikdy priradené k ničomu v Správcovi úloh systému Windows?

Dnešná relácia otázok a odpovedí sa k nám dostala s láskavým združením oddeleniu SuperUser - rozdelenie Stack Exchange, skupiny komunitných skupín otázok a odpovedí.

Otázka

Čítačka súborov SuperUser Agovizer sa dlho usilovne pozrela na tabuľku Process table v Správcovi úloh systému Windows a vrátila sa s niekoľkými otázkami, konkrétne:

What processes, if any, exist between PIDs 0 and 4 on Windows 7? Just out of curiosity what are the processes between 0 and 4, and also between 4 and 200 something.

Preskočili sme sa do Správcu úloh na našom stroji a sme si istí, že v slotoch 1, 2 a 3 neboli priradené žiadne procesy, hoci naše PID skočili zo 4 na 340, na rozdiel od jeho 4 až 200.

Odpoveď

Príspevok SuperUser G Koe zatvára prípad v jednom okamihu:

There is no Process ID 1, 2, or 3 because of how the NT kernel handle table works.

Handles are always multiples of four. The Kernel handle process object is used for both process handles and process/thread IDs. It happens that handle values all start at 0x4 (bit 2), and the InitialSystemProcess is the first process to be created, so it gets a PID of 4. Idle process isn’t actually a process and you can’t open it. It probably doesn’t have a real PID but most tools consider it to be 0.

More on the NT handle table here although this is only accurate for NT3-5(xp), as Windows 7 now requires that you only reference kernel handles if attached to PsInitialSystemProcess.

More on Windows 7/8 Handle limits from Mark Russinovich

More on the “multiples of four” in PIDs

Všetko, čo naznačuje, skontroluje: chýbame 1, 2 a 3 (nie násobky 4) a každá hodnota PID v našom zozname od 340 do 13136 je deliteľná 4.

Máte niečo doplniť vysvetlenie? Zvuk vypnúť v komentároch. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.

Odporúča: