Multiprogramovanie vs systémy zdieľania času
Multiprogramovanie je pridelenie viac ako jedného súbežného programu do počítačového systému a jeho zdrojov. Multiprogramovanie umožňuje efektívne využívať CPU tým, že umožňuje rôznym používateľom efektívne využívať CPU a I/O zariadenia. Multiprogramovanie zaisťuje, že CPU má vždy čo vykonávať, čím sa zvyšuje využitie CPU. Na druhej strane, zdieľanie času je zdieľanie výpočtových zdrojov medzi viacerými používateľmi súčasne. Keďže to umožní veľkému počtu používateľov pracovať v jednom počítačovom systéme súčasne, znížia by sa tým náklady na poskytovanie výpočtových schopností.
Čo je multiprogramovací systém?
Multiprogramovanie je rýchle prepínanie CPU medzi niekoľkými programami. Program sa vo všeobecnosti skladá z niekoľkých úloh. Úloha zvyčajne končí nejakou požiadavkou na presun údajov, ktorá by si vyžadovala vykonanie niektorých I/O operácií. Multitasking sa bežne robil, aby bol CPU zaneprázdnený, zatiaľ čo aktuálne spustený program vykonáva I/O operácie. V porovnaní s inými vykonávacími pokynmi sú I/O operácie extrémne pomalé. Aj keď program obsahuje veľmi malý počet I/O operácií, väčšinu času, ktorý program potrebuje, strávi týmito I/O operáciami. Preto použitie tohto času nečinnosti a umožnenie inému programu využiť CPU v tomto čase zvýši využitie CPU. Multiprogramovanie bolo pôvodne vyvinuté koncom 50-tych rokov 20. storočia ako súčasť operačných systémov a prvýkrát sa použilo v sálových počítačoch. So zavedením virtuálnej pamäte a technológií virtuálnych strojov sa zlepšilo používanie multiprogramovania.
Čo je systém zdieľania času?
Zdieľanie času, ktoré bolo zavedené v 60. rokoch minulého storočia, je zdieľanie výpočtových zdrojov medzi niekoľkými používateľmi súčasne. V systémoch zdieľania času je niekoľko terminálov pripojených k jedinému dedikovanému serveru s vlastným CPU. Akcie/príkazy vykonávané operačným systémom systému zdieľania času majú veľmi krátke časové rozpätie. Preto je CPU pridelené užívateľom na termináloch na krátku dobu, takže užívateľ v termináli má pocit, že má CPU vyhradené pre neho za svojim terminálom. Krátke časové obdobie, počas ktorého je príkaz vykonaný v systéme zdieľania času, sa nazýva časový úsek alebo časové kvantum. S rozvojom internetu sa systémy zdieľania času stali populárnejšími, pretože drahé serverové farmy by mohli hostiť veľmi veľký počet zákazníkov zdieľajúcich rovnaké zdroje. Keďže webové stránky fungujú hlavne v návaloch činnosti, po ktorých nasledujú obdobia nečinnosti, čas nečinnosti jedného zákazníka mohol efektívne využiť druhý bez toho, aby si ktorýkoľvek z nich všimol oneskorenie.
Aký je rozdiel medzi systémom multiprogramovania a systémom zdieľania času?
Hlavný rozdiel medzi multiprogramovaním a zdieľaním času je v tom, že multiprogramovanie je efektívne využitie času CPU tým, že umožňuje niekoľkým programom používať CPU súčasne, ale zdieľanie času je zdieľanie výpočtového zariadenia niekoľkými používateľmi, ktorí chcú používať to isté zariadenie v rovnakom čase. Každý používateľ systému zdieľania času dostane svoj vlastný terminál a získa pocit, že používa iba CPU. Systémy zdieľania času v skutočnosti používajú koncept multiprogramovania na zdieľanie času CPU medzi viacerými používateľmi súčasne.