Du kan
tekniskt Multitask med en enda CPU, men det är inte sant multitasking i den meningen att man kör flera processer samtidigt. Här är varför:
Vad en enda CPU kan göra:
* En enda CPU kan bara utföra en instruktion åt gången .
* För att skapa illusionen av multitasking växlar det snabbt mellan olika processer med en teknik som kallas tidsdelning .
* Denna växling sker så snabbt att det verkar som om processerna körs samtidigt, men i verkligheten tar de turer med CPU.
Hur multitasking fungerar på en enda CPU:
1. Operativsystem (OS) Schemaläggning: OS hanterar tilldelningen av CPU -tid till olika processer.
2. Tidsskivor: OS ger varje process en liten "tidsskiva" att utföra.
3. Kontextväxling: När en processs tidsskiva löper ut växlar operativsystemet till en annan process, vilket sparar tillståndet för den tidigare processen och laddar tillståndet för den nya.
4. Snabbomkoppling: OS fortsätter att växla mellan processer, vilket ger var och en en liten skiva CPU -tid.
Begränsningarna för multitasking på en enda CPU:
* Prestandapåverkan: Att byta mellan processer tar tid, vilket kan bromsa den totala systemets prestanda.
* inte sann parallellism: Även om det verkar som om flera processer körs samtidigt, tar de faktiskt tur, vilket resulterar i en långsammare exekvering jämfört med att ha flera CPU:er.
Sammanfattningsvis är multitasking med en enda CPU möjlig men inte riktigt samtidig. Det är mer som en snabb växling mellan processer, vilket skapar illusionen av samtidig exekvering.
För att uppnå sann parallellism behöver du flera CPU:er eller kärnor, så att flera processer kan köras samtidigt utan tidsdelning.