Jei jums patinka dirbti su "Windows" ir mokytis, kaip jūs einate, galbūt pastebėjote, kad "Windows" proceso ir sriegio ID yra vienodo skaičiaus ir keturių kartų. Kodėl tai? Šiandieninė "SuperUser" užklausų ir atsakymų dalis atsako į įdomius skaitytojo klausimus.
Šiandienos klausimų ir atsakymų sesija ateina su meile "SuperUser" - "Stack Exchange", bendruomenės pagrįstos Q & A grupės svetainių dalimi.
"SuperUser" skaitytojas Peteras Hahndorfas nori sužinoti, kodėl nėra nenuoseklių "Windows" proceso ID:
Yra daug būdų pažvelgti į "Windows" proceso ID. "PowerShell" naudojimas:
Aš gaunu šį rezultatą:
Kaip matote, visi proceso ID yra lygiomis, o ne tik, kad jie visi yra keturi. Galite atrodyti taip sunkiai, kaip norite, ir jūs niekada nebūsite nelyginis proceso ID, bent jau bet kuriai versijai, kuri yra "Windows NT".
Kodėl nėra nelyginių numerių Windows proceso ID?
SuperUser autorius DavidPostill mums atsakė:
Kodėl nėra nelyginių numerių Windows proceso ID?
Tas pats kodas, kuris išskiria branduolio rankenas, taip pat naudojamas procesų ir ID kodams paskirstyti. Kadangi branduolio rankenos yra keturios, tai yra procesų ir sriegių ID.
Kodėl procesų ir sriegių ID yra keturi?
"Windows NT" operacinėse sistemose proceso ir sriegio ID visada būna daugybe iš keturių. Ar tai tik atsitiktinumas?
Taip, tai tik atsitiktinumas, ir jūs neturėtumėte pasikliauti tuo, nes tai nėra programavimo sutarties dalis. Pavyzdžiui, "Windows 95" proceso ir temos ID ne visada buvo keturi. Palyginimui, dėl to, kad branduolio rankenos visada yra keturios kartos, yra specifikacijos dalis ir bus užtikrinta artimiausioje ateityje.
Proceso ir sriegio ID yra keturių kartų, kaip šalutinis kodo pakartotinio naudojimo efektas. Tas pats kodas, kuris išskiria branduolio rankenas, taip pat naudojamas procesų ir gijų identifikatorių paskirstymui. Kadangi branduolio rankenos yra keturios, tai yra procesų ir sriegių ID. Tai yra išsami informacija apie įgyvendinimą, todėl neužsirašykite kodo, kuris priklauso nuo jo.
Šaltinis: Kodėl procesų ir temų ID kartoja keturias?
Kodėl visada tvarko branduolį iš keturių?
Kažkas, kas nėra labai gerai. žinoma, kad du apatiniai bitų branduolio rankenėlės visada yra lygios nuliui; kitaip tariant, jų skaitinė vertė visada yra keturių kartų. Atkreipkite dėmesį, kad tai taikoma tik branduolių rankenoms; tai netaikoma pseudo rankenoms ar bet kokiam kitam rankenos tipui (USER rankenos, GDI rankenos, multimedijos rankenos ir kt.). "Kernel" rankenos - tai dalykai, kuriuos galite perkelti į "CloseHandle" funkciją.
Kad bent jau apatinis bitų branduolių rankenas visada lygus nuliui, tai reiškia "GetQueuedCompletionStatus" funkciją, kuri rodo, kad galite nustatyti įvykio rankenos apatinį bitą, kad slopintų užbaigimą pranešimas apie uostą. Kad tai veiktų, apatinis trikdis paprastai turi būti lygus nuliui.
Ši informacija nėra naudinga daugeliui programų rašytojų, kurie ir toliau turėtų elgtis su rankenomis kaip nepermatomos reikšmės. Žmonės, kuriems būtų įdomu žymų bitai, yra tie, kurie įgyvendina žemo lygio klasių bibliotekas arba įterpia branduolio objektus didesnėje sistemoje.
Šaltinis: Kodėl kodeliai visada yra keturi?
Daugiau skaitymas
Senoji nauja tema: praktinis vystymasis per "Windows" evoliuciją Raymondas Čenas ( Pagrindinis programinės įrangos inžinierius, esantis Microsoft )
Ar 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.
Kaip atrakinti failą iš "Windows" "Leidėjas nepavyko patvirtinti" Įspėjimas
Dialogo lange Apsaugos įspėjimas Windows rodomas, kai paleidžiate arba atidarote failą, kurio "Microsoft" neatpažįsta kaip patikimas failas. Failas yra užblokuotas, nebent konkrečiai nurodėte, kad "Windows" failas gali būti paleistas arba atidarytas. Jei jūs atsisiuntėte failą iš patikimo šaltinio ir paleidžiate jį dažnai, galite atblokuoti tą failą, kad negavote saugos įspėjimo dialogo langas kiekvieną kartą paleidus jį.
Kaip ištrinti savo "iOS" įrenginį, kai per daug klaidų bandė naudoti kodą
Kai kas nors bando pasiekti savo "iPhone" ar "iPad", prisimindamas prieigos kodą, iš pradžių jis bus užblokuotas, kiekvieną intervalą padidinsiu kiekvienu nepavykęs bandymas. Tačiau galite jį nustatyti, kad jis visiškai ištrintų jūsų įrenginį po 10 nesėkmingų bandymų. Štai situacija, kurią galime įsivaizduoti.