Kodėl mano "Windows" užduočių tvarkyklėje nėra 1, 2 ar 3 procesų?

Turinys:

Kodėl mano "Windows" užduočių tvarkyklėje nėra 1, 2 ar 3 procesų?
Kodėl mano "Windows" užduočių tvarkyklėje nėra 1, 2 ar 3 procesų?

Video: Kodėl mano "Windows" užduočių tvarkyklėje nėra 1, 2 ar 3 procesų?

Video: Kodėl mano
Video: Ratio hands-on: the ultimate Android launcher - YouTube 2024, Gegužė
Anonim
 Kai pasiimsite laiko pažvelgti į visas mažas detales sistemoje "Windows", dažnai rasite keletą smalsių dalykų. Pavyzdžiui, kodėl, pavyzdžiui, proceso identifikavimo numeriai 1, 2 ir 3 niekada nebuvo priskirti niekam Windows užduočių tvarkyklėje?
Kai pasiimsite laiko pažvelgti į visas mažas detales sistemoje "Windows", dažnai rasite keletą smalsių dalykų. Pavyzdžiui, kodėl, pavyzdžiui, proceso identifikavimo numeriai 1, 2 ir 3 niekada nebuvo priskirti niekam Windows užduočių tvarkyklėje?

Šiandien "Klausimų ir atsakymų sesija" pateikiama su "SuperUser", "Stack Exchange", "Community-driven Q &A" tinklalapių grupe.

Klausimas

"SuperUser" skaitytuvas "Agovizer" ilgai susižadėjo į lentelę "Procesų rodymo lentelė" Windows užduočių tvarkytuve ir sugrįžo su kai kuriais klausimais:

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.

Mes peršokę į užduočių tvarkyklę savo kompiuteryje ir įsitikinę, kad 1, 2 ir 3 lizdai nebuvo priskirti jokiems procesams, nors mūsų PID šoktelėjo nuo 4 iki 340, o ne nuo jo 4 iki 200.

Atsakymas

"SuperUser" autorius G Koe uždarymo bylą uždaro vieną kartą:

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

Viskas, ką jis siūlo, patikrina: mes trūkstame 1, 2 ir 3 (ne kartoja 4), o kiekvienas PID reikšmė mūsų sąraše nuo 340 iki 13136 dalijamas į 4.

Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.

Rekomenduojamas: