Multikörning
system som gör det möjligt för ett operativsystem att köra flera processer samtidigt / From Wikipedia, the free encyclopedia
Multikörning (engelska multitasking) gör det möjligt för ett operativsystem att genom tidsdelning köra flera processer samtidigt.[förtydliga]
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2022-09) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Traditionella processorer saknar möjlighet till verklig parallellkörning, det vill säga de kan inte utföra flera instruktioner samtidigt, utan måste utföra dem efter varandra. Därmed kan de bara köra en programprocess eller en tråd vid varje ögonblick. Emellertid kan datorn växla mellan flera programprocesser genom tidsdelad multikörning, så att operativsystemet växlar mellan olika processer, ofta tiotals gånger i sekunden eller oftare. Detta ger, så länge datorn inte är överlastad, att en mänsklig användare upplever att trådarna körs samtidigt.
Syftet med multikörning kan dels vara att betjäna flera användare samtidigt (i så kallade fleranvändarsystem), dels att möjliggöra för en användare att starta och växla mellan flera olika program eller instanser av programmet (till exempel flera ordbehandlingsdokument i olika fönster), dels att effektivt utnyttja processorn genom att sätta den i andra arbetsuppgifter i väntan på svar från bland annat hårddisk och användare. Dessutom kan ett och samma program delas upp på flera samtidiga programprocesser, och en programprocess kan i sin tur kan delas på flera samtidiga trådar. Ett exempel kan vara en webbserver som betjänar flera webbläsare samtidigt, ett annat ett ordbehandlingsprogram som väntar med att göra lågprioriterad rättstavningskontroll och sidbrytningsberäkning tills mer högprioriterade uppgifter (att behandla de tecken användaren skriver in) är färdiga. Det är komplicerat att åstadkomma denna funktionalitet utan att utnyttja operativsystemets stöd för multikörning. Det hade krävt att programmet hade delats upp i flera starkt tidsbegränsade arbetsuppgifter som utförs i tur och ordning utan avbrott enligt ett komplicerat kösystem.
Datorer med flera (central)processorer eller processorkärnor, eller hårdvarustöd för flera parallella trådar, kan köra flera processer eller trådar sant parallellt, utan att växla mellan dem, men använder i allmänhet därtill den ovan beskrivna tidsdelade multikörningen.