Windows är ett multitasking-operativsystem, medan UNIX är ett multiprogrammeringsoperativsystem.
Multitasking är förmågan hos ett operativsystem att utföra flera uppgifter samtidigt. I en multitasking-miljö har varje uppgift sitt eget minnesutrymme och kan utföras oberoende av de andra uppgifterna. En användare kan till exempel skriva i en ordbehandlare medan ett kalkylblad räknar om i bakgrunden.
Multiprogrammering är förmågan hos ett operativsystem att köra flera program samtidigt. I en multiprogrammeringsmiljö laddas flera program in i minnet samtidigt och processorn är tidsdelad mellan dem. Till exempel kan en server köra en webbserver, en databasserver och en e-postserver samtidigt.
Den största skillnaden mellan multitasking och multiprogrammering är att multitasking tillåter varje uppgift att ha sitt eget minnesutrymme, medan multiprogrammering inte har det. Detta innebär att i en multitasking-miljö kan uppgifter inte störa varandras minne, medan uppgifter i en multiprogrammeringsmiljö kan dela minne och därmed potentiellt störa varandra.
En annan skillnad mellan multitasking och multiprogrammering är att multitasking vanligtvis används för interaktiva applikationer, medan multiprogrammering vanligtvis används för batchbearbetning. Detta beror på att multitasking tillåter användare att interagera med sina datorer i realtid, medan multiprogrammering är mer effektivt för att bearbeta stora mängder data.