Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Multiprogramovanie je možné pomocou jednotky správy pamäte (MMU) , ktorý umožňuje operačnému systému rozdeliť dostupnú pamäť medzi viacero programov. Každý program má svoju vlastnú časť pamäte a MMU zaisťuje, že žiadny program nemá prístup k pamäti iného programu.
Aby multiprogramovanie fungovalo efektívne, operačný systém musí poskytovať aj mechanizmus na plánovanie programy tak, aby boli vykonávané spravodlivým a efektívnym spôsobom. Plánovač zvyčajne používa round-robin algoritmus, ktorý dáva každému programu na vykonanie časový úsek rovnakej dĺžky. Keď uplynie časový úsek programu, bude zrušený a ďalší program vo fronte dostane šancu spustiť sa.
Viacnásobné programovanie má oproti jednoduchému programovaniu niekoľko výhod. Po prvé, zlepšuje celkovú priepustnosť systému, pretože je možné spustiť viacero programov súčasne. Po druhé, znižuje množstvo času, ktorý musí používateľ čakať na spustenie programu, pretože operačný systém dokáže prepínať medzi programami veľmi rýchlo. Po tretie, umožňuje spúšťať viacero programov súčasne, aj keď niektoré programy sú náročnejšie na vstup/výstup ako iné.
Hlavnou nevýhodou multiprogramovania je, že môže zvýšiť množstvo režijných nákladov spojených s operačným systémom, pretože operačný systém musí spravovať pamäť a plánovanie viacerých programov. Táto réžia je však zvyčajne malá a výhody multiprogramovania ďaleko prevyšujú náklady.
Tu je zjednodušený príklad toho, ako funguje multiprogramovanie:
1. Operačný systém prideľuje časť pamäte každému z programov, ktoré sa majú vykonať.
2. Operačný systém umiestni prvý program do frontu pripravených programov.
3. CPU vykoná prvý program počas časového úseku so špecifikovanou dobou trvania.
4. Keď uplynie časový úsek, operačný systém odoberie prvý program a umiestni ho na koniec frontu pripravených programov.
5. Operačný systém potom umiestni ďalší program do frontu pripravených programov na začiatok frontu a pridelí mu časový úsek so zadanou dobou trvania.
6. Proces sa opakuje, kým sa nevykonajú všetky programy.