? Siden advent av moderne databehandling , har prosessorer måtte klare kommandoer av flere programmer samtidig . Prosessen manageren benytter algoritmer for å beste planlegge hvilke programmer utføre , og til hvilken tid. Med introduksjonen av hyper - threading av Intel , endret prosessledelse . Prosess ledere må bruke algoritmer som tar to abstrakte prosessorkjerner i betraktning , i stedet for en enkelt - prosess sammenheng. Multi - programmering Systems
I de tidlige dager av databehandling , løp systemer programmer ett om gangen , enten gjennom manuelle program oppføring eller gjennom batch systemer som kjørte programmer etter hverandre i en sekvens . Med oppfinnelsen av stabilt , hurtig -access memory , ble multi- programmering opprettet. Multi - programmering tillater utviklere å ha flere programmer som kjører bosatt i hovedminne , med prosessorer som kan hente kode fra disse programmene til å kjøre til enhver tid . Med flere programmer i minnet , er datamaskinen ikke låst til en fast rutine som i gruppebehandling , men det er i stand til å velge og bestemme hvilke programmer til å kjøre basert på programmererens kommandoer.
Process Planlegging
p Med flere programmer i minnet , kan prosessorer teoretisk kjøre flere programmer samtidig . En enkelt prosessor kan utføre en eneste kommando om gangen. Å kjøre flere programmer samtidig , slår prosessoren kontroll fra ett program til et annet flere ganger per sekund for å gjøre det synes som om programmer kjøres samtidig . For å administrere flere kontekst bytter mellom programmer ble prosessledelse algoritmer utviklet for å kontrollere hvilke programmer fikk tilgang til prosessoren til enhver tid .
Hyper Threading
< p > Hvis du vil tillate prosesser for å kjøre i ekte samtidige tilstander uten behov for prosess -svitsjing, utviklet ingeniører prosessorer som ble delt inn i sub- prosessorer . Hver sub - prosessor kan kjøre en tråd av utførelse . Mens bare én behandling kjerne eksisterer, gjør at hyper -threading en abstraksjon lag å samhandle med programvaren , slik at prosessene opptrer som om to kjerner eksisterer. Dette gjør at å kjøre to tråder , én på hver abstrakt kjerne , på bekostning av prosessorhastighet.
Planlegging Hyper Thread Execution
Hver tråd trenger sin egen planlegging, fordi hver tråd bruker interne sammenheng brytere mellom prosesser løp. Hyper- threading tvunget ingeniører til å revurdere prosessen ledere i form av hyper tråder. Hyper- tråder dele prosessoren , slik at nye planleggere kan gjøre det bedre ved å ta de to trådene i betraktning. Planleggere kan unngå to forskjellige prosess deler minne . Hyper- threading sammenhenger force prosess ledere til å vurdere to tråder av kontekst bytter i stedet for én .