cs.phhsnews.com


cs.phhsnews.com / Proč neexistují žádné ID procesů Windows s lichým číslem?

Proč neexistují žádné ID procesů Windows s lichým číslem?


Pokud máte rádi přecházení se systémem Windows a učení, můžete si všimnout, že ID procesů a podprocesů systému Windows jsou sudé a násobky čtyř. Proč je to tak? Dnešní příspěvek SuperUser Q & A má odpovědi na zvědavé čtenářské otázky.

Dnešní dotazovací a odpověď se koná s laskavým svolením SuperUser - subdivize Stack Exchange, komunitní skupiny webových stránek Otázky a odpovědi

Otázka

Čtecí zařízení SuperUser Peter Hahndorf chce vědět, proč neexistují liché ID procesů systému Windows:

Existuje mnoho způsobů, jak se podívat na procesní ID v systému Windows. Použití funkce PowerShell:

Získám tento výsledek:

Jak vidíte, všechny ID procesů jsou sudé, nejen to, že jsou všechny násobky čtyř. Můžete vypadat tak tvrdě, jak chcete, a nikdy nenajdete ID nepárného procesu, přinejmenším ne na žádné verzi, která je založena na systému Windows NT. Jaký je důvod pro to?

Proč neexistují žádné liché ID procesů systému Windows?

Odpověd:

Odpověď

přispěvatel SuperUser DavidPostill má pro nás odpověď:

Proč neexistuje žádný lichý proces systému Windows ID?

Stejný kód, který alokuje jádra, se používá také k přidělování identifikátorů procesů a podprocesů. Jelikož jádra jsou více než čtyři, tak se jedná o ID procesů a podprocesů.

Proč jsou ID procesů a podprocesů násobeny čtyřmi?

V operačních systémech se systémem Windows NT se ID procesů a podprocesů vždy jedná o vícenásobné ze čtyř. Je to jen náhoda?

Ano, je to jen náhoda a neměli byste se na to spoléhat, protože není součástí programovací smlouvy. Například proces Windows 95 a ID vlákna nebyly vždy násobky čtyř. Pro srovnání je důvod, že jádra jsou vždy násobkem čtyř, je součástí specifikace a bude zajištěno v dohledné budoucnosti.

ID procesů a podprocesů jsou násobky čtyř jako vedlejší efekt opakovaného použití kódu. Stejný kód, který přiděluje jádra klíče, se také používá k přidělování identifikátorů procesů a podprocesů. Jelikož jsou jádra klíče násobena čtyřmi, tak se jedná o ID procesů a podprocesů. Jedná se o detaily implementace, takže nepíšte kód, který se na ně spoléhá. Proč jsou ID procesů a podprocesů násobky čtyř?

Proč jsou jádra klíče vždy násobkem čtyř?

Něco, co není moc dobré je známo, že spodní dva bity jaderných úchytů jsou vždy nulové; jinými slovy, jejich číselná hodnota je vždy násobkem čtyř. Všimněte si, že to platí pouze pro jádra jádra; nevztahuje se na pseudo-rukojeti ani na jakýkoli jiný typ rukojeti (rukojeti USER, rukojeti GDI, multimediální rukojeti atd.). Jádra jádra jsou věci, které můžete přenést na funkci CloseHandle.

To, že nejméně spodní bit jádra úchytů je vždy nula, je naznačena funkcí GetQueuedCompletionStatus, což znamená, že můžete nastavit spodní bit popisovače událostí k potlačení dokončení oznámení portu. Aby to fungovalo, spodní bit musí být normálně nulový.

Tato informace není užitečná pro většinu spouštěčů aplikací, které by měly zacházet s handley jako neprůhledné hodnoty. Lidé, kteří by se zajímali o tagy, jsou ti, kteří implementují knihovny tříd nízké úrovně nebo obklopují jádro objekty uvnitř většího rámce.

Zdroj: Proč jsou jádra držadla vždy násobkem čtyř?

Další čtení

Stará novinka: praktický vývoj v průběhu vývoje systému Windows od Raymonda Chena Hlavní inženýr designu softwaru u společnosti Microsoft


Musíte něco přidat k vysvětlení? Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.


Jak snadno deaktivovat načtení obsahu online při vyhledávání v Ubuntu 14.10

Jak snadno deaktivovat načtení obsahu online při vyhledávání v Ubuntu 14.10

Při hledání pomocí jednotného pomlčka si můžete všimnout online obsahu zobrazovaného ve výsledcích vyhledávání. Vaše vyhledávací dotazy se odesílají na produktsearch.ubuntu.com a třetím stranám, jako jsou Amazon a Facebook, a slouží k tomu, aby kromě místních výsledků poskytovali výsledky vyhledávání online.

(how-to)

Myslíte si dvakrát o získání Microcell (nebo T-Mobile CellSpot), pokud žijete v městské oblasti

Myslíte si dvakrát o získání Microcell (nebo T-Mobile CellSpot), pokud žijete v městské oblasti

Mnoho buněčných nosičů nabízí zařízení "microcell" - T-Mobile jim říká "CellSpot" zařízení, ale jsou to stejné. Tyto funkce fungují jako malé buněčné věže, ale používají domácí připojení k internetu a k nim se může kdokoliv připojit. Neříkáme, že by se všichni měli vyhnout těmto zařízením, ale mnoho lidí by mělo.

(how-to)