Sinds de komst van de moderne informatica , hebben processoren gehad om de opdrachten van meerdere programma's te beheren op hetzelfde moment . De procesmanager telt algoritmen om de beste plannen welke programma's uit te voeren , en op welk tijdstip . Met de introductie van hyper - threading door Intel , procesmanagement veranderd . Procesmanagers moeten gebruiken algoritmen die twee abstracte processorkernen in aanmerking nemen , in plaats van een enkel - proces context . Systemen met meerdere programmering In de begindagen van de computer , systemen liep programma's een voor een , hetzij door middel van handmatige programma-invoer of via batch- systemen die liep programma's na elkaar in een volgorde. Met de uitvinding van stabiele , snelle geheugentoegang werd meerdere programma gemaakt . Multi - programmering kunnen ontwikkelaars meerdere actieve programma's die in het hoofdgeheugen met processors kunnen ophalen code van deze programma's uit te voeren op een bepaald moment. Met meerdere programma's in het geheugen , wordt de computer niet opgesloten in een set routine als in batch-verwerking , maar het is in staat om te kiezen en te bepalen welke programma's te draaien op basis van opdrachten van de programmeur . Process Scheduling < br > Met meerdere programma's in het geheugen , kon processoren theoretisch lopen meerdere programma's tegelijk . Een enkele processor kan slechts een enkel commando uit te voeren op een moment . Om meerdere programma's te draaien op hetzelfde moment , de processor schakelt controle van het ene programma naar het andere meerdere keren per seconde dat het lijkt alsof programma's tegelijk draaien . Om de meervoudige context switches tussen programma's te beheren , werden het beheer algoritmen proces ontwikkeld om te bepalen welke programma's kregen toegang tot de processor op een bepaald moment . Hyper Threading om toestaan processen te draaien in ware gelijktijdige omstandigheden zonder de noodzaak voor proces- switching , ingenieurs ontwikkelde processors die werden onderverdeeld in sub - processors . Elke sub - processor kan een draad van executie uitvoeren . Terwijl slechts een processorkern bestaat , hyper - threading maakt een abstractielaag te communiceren met de software , zodat processen handelen alsof twee kernen bestaan. Hierdoor kan twee threads te lopen , een aan elke abstracte kern, ten koste van de snelheid van de processor . Planning Hyper Thread Execution Elke thread heeft zijn eigen plannen , omdat elke draad maakt gebruik van interne context schakelt tussen de processen run . Hyper - threading gedwongen ingenieurs om procesmanagers heroverwegen qua hyper threads . Hyper - threads delen de processor , zodat nieuwe schedulers kunnen beter doen door het nemen van de twee draden in aanmerking . Planners kunnen twee verschillende proces gemeenschappelijk geheugen te vermijden . Hyper - threading contexten kracht procesmanagers te overwegen twee draden van context switching in plaats van een .
|