Jämförelsediagram
Grunder för jämförelse | Göra flera saker samtidigt | multitrådning |
---|---|---|
Grundläggande | Multitasking låter CPU att utföra flera uppgifter samtidigt. | Multithreading låter CPU att utföra flera trådar av en process samtidigt. |
Växlande | I multitasking växlar CPU mellan program ofta. | I multithreading CPU växlar ofta mellan trådarna. |
Minne och resurs | I multitasking-systemet måste allokeras separat minne och resurser till varje program som CPU körs. | I multithreading-systemet måste allokera minne till en process delar flera trådar av den processen samma minne och resurser som tilldelas processen. |
Definition av multitasking
Multitasking är när en enda CPU utför flera uppgifter (program, process, uppgift, trådar) samtidigt. För att utföra multitasking växlar CPUen mycket ofta mellan dessa uppgifter, så att användaren kan interagera med varje program samtidigt.
I ett multitasking-operativsystem kan flera användare dela systemet samtidigt. När vi såg att CPU snabbt växlar mellan uppgifterna, så behövs lite tid för att byta från en användare till nästa användare. Detta ger ett intryck på en användare som hela datorsystemet är tillägnad honom.
Definition av multithreading
Multithreading skiljer sig från multitasking på så sätt att multitasking tillåter flera uppgifter samtidigt, medan multithreading tillåter flera trådar av en enda uppgift (program, process) som ska behandlas av CPU samtidigt.
Innan vi studerar multithreading låt oss prata om vad som är en tråd? En tråd är en grundläggande exekveringsenhet som har sin egen programräknare, uppsättning av registret, stapel men den delar koden, data och fil av processen som den tillhör. En process kan ha flera trådar samtidigt, och CPU växlar mellan dessa trådar så ofta att det blir ett intryck på användaren att alla trådar körs samtidigt och detta kallas multithreading.
Viktiga skillnader mellan multitasking och multithreading i OS
- Den grundläggande skillnaden mellan multitasking och multithreading är att i multitasking gör systemet det möjligt att exekvera flera program och uppgifter samtidigt, medan i multithreadning exekverar systemet flera trådar av samma eller olika processer samtidigt.
- Vid multitasking måste CPU växla mellan flera program så att det verkar som flera program körs samtidigt. På andra händer måste multifreading CPU växla mellan flera trådar för att få det att se ut att alla trådar körs samtidigt.
- Multitasking allokerar separat minne och resurser för varje process / program, medan i multithreadingsgängor som hör till samma process delar samma minne och resurser som processen.
Slutsats:
Multitasking liknar multiprogrammering, medan Multithreading är trådbaserad multitasking. Multithreading är mindre kostnadskrävande än multitaskings eftersom trådar är lätta att skapa då en process.