Többfeladatosság

Ebben a cikkben elmélyülünk a Többfeladatosság lenyűgöző világában, egy izgalmas témában, amely minden korosztály és hátterű ember figyelmét felkeltette. A Többfeladatosság megjelenése óta élénk érdeklődést váltott ki különböző területeken, legyen az akadémiai, tudományos, kulturális vagy társadalmi szféra. A történelem során a Többfeladatosság jelentős hatással volt arra, ahogyan megértjük a minket körülvevő világot, és hatása ma is aktuális. Ebben a cikkben megvizsgáljuk a Többfeladatosság-hez kapcsolódó különféle szempontokat és perspektívákat, hogy jobban megértsük annak fontosságát és relevanciáját társadalmunkban.

A többfeladatos (angolul: multitask, multitasking) kifejezést a számítástechnikában operációs rendszerekre használják, melyek látszólag képesek egyszerre több programot (folyamatot vagy más néven processzt), programszálat futtatni. Ezek a folyamatok folyamatosan versengenek a CPU-ért, mely egy olyan erőforrás, amelyet egyszerre csak egy folyamat használhat. (Egyprocesszoros rendszer esetén természetesen.)

Az egyszerre történő végrehajtás azért csak látszólagos, mivel egy fizikai processzor (általános esetben) egy időben csak egyetlen utasítást képes végrehajtani, pontosabban egy adott időben egyetlen programfolyamat utasításait hajtja végre. Emiatt a látszólagosan egyszerre futó programok valójában felváltva, nagyon gyorsan váltakozva futnak: egy kicsit fut az egyik, majd megáll, és fut a másik, majd a harmadik, és egy idő múlva ismét az első. Ha ez a váltakozás elég gyors (akár másodpercenkénti több ezer) akkor látszólag a programok egyszerre futnak, mindegyikben „történik valami”.

A folyamatok együttműködése alapján megkülönböztetünk környezetváltásos, preemptív és kooperatív többfeladatos rendszert.

A környezetváltásos mód egy nagyon egyszerű feladatkezelés, melyben csak az előtérben lévő alkalmazás kap feldolgozási időt. Ilyenkor egy háttérben lévő feladat aktiválásához a felhasználónak előre kell hoznia a megfelelő ablakot.

Kooperatív esetben (például a Macintosh vagy a Windows 3.0 operációs rendszereknél) a több program futása úgy valósul meg, hogy minden program bizonyos időnként lemond a CPU használatáról, átengedve azt egy másiknak. Semmi sem kötelezi azonban arra, hogy ezt megtegye, tehát tetszőleges ideig lefoglalhatja az erőforrást, a többi folyamatot várakozásra kényszerítve.

A preemptív esetben az operációs rendszer magja, a kernel képes arra, hogy egy megadott idő után a CPU használati jogát elvegye az éppen futó folyamattól és egy várakozónak adja át.