no.phhsnews.com


no.phhsnews.com / Hvorfor er det ingen merkelige Windows-prosess-ID?

Hvorfor er det ingen merkelige Windows-prosess-ID?


Hvis du elsker å tinkere med Windows og lære når du går, har du kanskje lagt merke til at Windows-prosess- og tråd-ID-er er jevnt nummerert og multipler av fire. Hvorfor det? Dagens SuperUser Q & A-post har svar på spørsmål fra en nysgjerrig leser.

Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppe av Q & A-nettsteder.

Spørsmålet

SuperUser-leser Peter Hahndorf vil vite hvorfor det ikke finnes merkelige nummerprosesser for Windows:

Det er mange måter å se på prosess-IDene i Windows. Bruke PowerShell:

Jeg får dette resultatet:

Som du ser, er alle prosess-IDene like nummererte, ikke bare det, de er alle fire ganger fire. Du kan se så hardt du vil, og du vil aldri finne en merkelig prosess-ID, i hvert fall ikke på noen versjon som er Windows NT-basert. Hva er årsaken til dette?

Hvorfor er det ingen merkelige Windows-prosess-ID?

Svaret

SuperUser-bidragsyteren DavidPostill har svaret for oss:

Hvorfor er det ingen merkelig nummerert Windows-prosess IDs?

Den samme koden som allokerer kjernelhåndtak brukes også til å tildele prosess- og tråd-IDer. Siden kjernehåndtak er et flertall på fire, er det også prosess- og tråd-ID.

Hvorfor er prosess- og tråd-IDer flere enn fire?

I Windows NT-baserte operativsystemer er prosess- og tråd-IDer alltid en multiple av fire. Er dette bare en tilfeldighet?

Ja, det er bare en tilfeldighet, og du bør ikke stole på det, siden det ikke er en del av programkontrakten. For eksempel var Windows 95-prosess- og tråd-IDer ikke alltid flere ganger fire. Til sammenligning er årsaken til at kjernen håndterer alltid flere enn fire, en del av spesifikasjonen og vil bli garantert i overskuelig fremtid.

Prosess- og tråd-ID er multipliser på fire som en bivirkning av kodeutnyttelse. Den samme koden som tildeler kjernehåndtak brukes også til å tildele prosess- og tråd-IDer. Siden kjernehåndtakene er flere ganger fire, er det også prosess- og tråd-IDer. Dette er en implementerings detalj, så skriv ikke kode som er avhengig av den. Jeg er bare å fortelle deg å tilfredsstille din nysgjerrighet.

Kilde: Hvorfor er prosess- og tråd-IDer flere ganger fire?

Hvorfor er kjernehåndtak alltid et flertall på fire?

Noe som ikke er veldig bra kjent er at de to biter av kjernehåndtakene alltid er null; med andre ord, deres numeriske verdi er alltid et flertall på fire. Vær oppmerksom på at dette bare gjelder for kjernelhåndtak; Den gjelder ikke for pseudohåndtak eller andre typer håndtak (USER-håndtak, GDI-håndtak, multimediehåndtak, etc.). Kjernelhåndtak er ting du kan overføre til CloseHandle-funksjonen.

At minst den nederste delen av kjernehåndtakene alltid er null, impliseres av GetQueuedCompletionStatus-funksjonen, som indikerer at du kan angi nederste bit av hendelseshåndtaket for å undertrykke ferdigstillelse portvarsling. For at dette skal fungere, må bunnbiten normalt være null.

Denne informasjonen er ikke nyttig for de fleste programforfattere, som bør fortsette å behandle håndtak som ugjennomtrengelige verdier. Personene som vil være interessert i tagbiter, er de som implementerer klassebibliotek på lavt nivå eller pakker inn kjerneobjekter i et større rammeverk.

Kilde: Hvorfor er kjernehåndtak alltid flere enn fire?

Videre lesing

Den gamle nyheten: Praktisk utvikling gjennom utviklingen av Windows av Raymond Chen ( Hoveddesigner av programvaredesigner i Microsoft )


Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Se hele diskusjonstråden her.


4 måter å finne GPS koordinater for hvilken som helst plassering

4 måter å finne GPS koordinater for hvilken som helst plassering

Det er enkelte anledninger når du trenger nøyaktige koordinater for et bestemt sted, men de fleste kartapplikasjoner viser ikke den typen data foran og midtpunkt fordi det ikke er noe som trengs veldig ofte. Jeg har lært at å få GPS-koordinatene kan være veldig nyttig hvis GPS-enheten din ikke finner en bestemt adresse.Hvis

(How-to)

Er du syk av Kodis YouTube-plugin, krasjer du kontinuerlig og gir deg krypterte feilmeldinger som

Er du syk av Kodis YouTube-plugin, krasjer du kontinuerlig og gir deg krypterte feilmeldinger som "Unntak i ContentProvider" og "Quota Exceeded"? Slik løser du dette problemet med bare noen få minutter med arbeid.

Men i det siste er YouTube på Kodi buggy, med feilmeldinger dukker opp når jeg prøver å gjøre grunnleggende ting. Problemet ser ut til å være relatert til API-nøklene som brukes av tilleggsprogrammer. Google (som eier YouTube) caps API-bruk, og Kodis raskt voksende brukerbase betyr at YouTube-plugin treffer den cap hver dag, vanligvis lenge før jeg begynner å se videoer om kvelden på vestkysten.

(how-to)