? Siden fremkomsten af moderne computere har processorer måtte klare kommandoer i flere programmer på samme tid . Processen Manager beskæftiger algoritmer til bedst planlægge hvilke programmer udføre , og på hvilket tidspunkt . Med introduktionen af hyper -threading af Intel , ændrede proces management. Proces ledere skal bruge algoritmer, der tager to abstrakte processorkerner i betragtning , i stedet for en enkelt proces kontekst. Multi- programmering Systems
I de tidlige dage af computere , systemer kørte programmerne et ad gangen, enten via manuel program indrejse eller via batch -systemer, der kørte programmer efter hinanden i en sekvens . Med opfindelsen af stabile, hurtig adgang hukommelse, blev multi- programmering oprettet. Multi- programmering giver udviklere mulighed for at have flere kørende programmer bosiddende i hovedhukommelsen , med processorer , der kan hente kode fra disse programmer til at udføre på et givent tidspunkt . Med flere programmer i hukommelsen , er computeren ikke låst fast i et sæt rutine i batch behandling, men det er i stand til at vælge og bestemme, hvilke programmer til at køre på grundlag af programmørens kommandoer.
Process Planlægning < br >
Med flere programmer i hukommelsen , kan processorer teoretisk køre flere programmer på samme tid . En enkelt processor kan udføre en enkelt kommando ad gangen. At køre flere programmer på samme tid , processoren skifter kontrol fra et program til et andet flere gange i sekundet for at gøre det se ud som om programmer kører samtidig. For at styre de mange kontekst skifter mellem programmerne blev processtyring algoritmer udviklet til at styre, hvilke programmer fået adgang til processoren på et givent tidspunkt .
Hyper Threading
Hvis du vil tillade processer til at køre i ægte samtidige lidelser uden behov for processen switching, ingeniører har udviklet processorer, der var inddelt i sub- processorer. Hver sub- processor kan køre en tråd for henrettelse. Mens kun én behandling kerne eksisterer , hyper -threading giver en abstraktion lag for at interagere med softwaren , så processerne handle, som om to kerner eksisterer. Dette gør det muligt at afvikle to tråde , en på hver abstrakte kerne, på bekostning af processorens hastighed.
Planlægning Hyper Tråd Execution
Hver tråd har brug for sin egen planlægning, fordi hver tråd benytter interne kontekst skifter mellem processer løb. Hyper-Threading tvunget ingeniører til at genoverveje proces ledere i form af hyper tråde. Hyper- gevind deler processor, så nye schedulers kan gøre det bedre ved at tage de to tråde i betragtning. Planlæggere kan undgå to forskellige proces med fælles hukommelse . Hyper-Threading sammenhænge tvinger proces managers til at overveje to tråde af kontekst skifte i stedet for én .