Multitasking

A HupWiki-ből...

Több program egyidejű futtatására alkalmas rendszer.

Mivel a processzorok száma általában kisebb egy rendszerben mint a rajtuk futtatott programok száma, ezért felmerülhet a kérdés, hogy akkor hogyan futnak mégis "egyszerre" a programok. A megoldás: minden processz kap egy időszeletet, azaz egy időtartamot, amikor futhat, majd az operációs rendszer átveszi az irányítást és másik processznek adja át, ami szintén meghatározott ideig fut. (preemptív multitasking)

Az operációs rendszer azon részét ami ezt a feladatot ellátja szokás scheduler-nek is nevezni (ütemező).

Létezik olyan multitasking megvalósítás (kooperatív multitasking), ahol a kontextusváltást nem az operációs rendszer kényszeríti ki, a processzek önként adják át a vezérlést a soron következőnek. Ezt ma már ritkán alkalmazzák: a kivitelezése nagyon egyszerű, de egyetlen hibás alkalmazás a rendszer instabilitásához, leállásához vezethet. (Példa: RISC OS, Windows 3.11)

Megkülönböztethetjük a multitasking két különböző módját, a valós és az ál-multitaskingot. A valós multitasking esetében (többprocesszoros rendszereknél, elméletben - AFAIK gyakorlatban is: több architektúrán meg lehet adni a "preferált" processzort) lehetséges, hogy egy-egy folyamatot egy bizonyos processzor futtasson. Az ál-multitasking lényege, hogy egy processzor végez több feladatot (lásd fent). Ennek a működésére példa a Windows operációs rendszer. (Meg az egyprocesszoros gépen a Linux is)

FIXME