Operační systém je nejdůležitější software a srdce počítače, které nejen spravuje paměť a procesy uvnitř počítače, ale také umožňuje uživatelům spouštět aplikační software. Jedná se o souhrnnou sadu programů, které abstraktují hardware systému a představují uživatelům úplný virtuální stroj. Kromě základních úkolů, jako jsou sledování souborů nebo adresářů, ovládání periferních zařízení, odesílání výstupu na obrazovku, OS také slouží k vyšším účelům, jako je multiprogramování a multitasking, aby se zajistilo, že programy, které běží souběžně, si vzájemně neinterferují. Moderní operační systémy usnadňují nejen paralelní zpracování, ale také sdílení času, což je pouze koncept multiprogramování. Multitasking je jen základní forma multiprogramování používaná v jiném kontextu.
Multiprogramování je schopnost více počítačů používat počítač najednou pomocí jediného procesoru. Záměrem je efektivně využít procesor k vytvoření více připravených ke spuštění procesů, přičemž každý proces patří jinému uživateli. Pokud se aktuální proces z nějakého důvodu zastaví, protože musí čekat na určitou konkrétní událost, operační systém přiděluje CPU jinému procesu ve frontě. Celá operace je usnadněna multiprogramováním operačních systémů pro maximalizaci využití CPU tak, aby se zkrátila doba nečinnosti CPU. Cílem je udržet CPU co nejdéle obsazené.
Multitasking znamená souběžné provádění více procesů jedním uživatelem na stejném počítači využívajícím více CPU. Například v multitaskingovém operačním systému můžete pracovat na textovém dokumentu s jedním programem, zatímco posloucháte hudbu současně s jiným programem. Multitasking je účinný, když programy na počítači vyžadují vysoký stupeň paralelismu. Je založen na konceptu sdílení času, protože v pravidelném časovém intervalu lze odpovídajícím způsobem přepínat více procesů nebo úkolů, takže uživatelé získají představu, že jsou prováděny souběžně.
Termín multiprogramování je základní forma paralelního zpracování, což znamená, že na jednom procesoru běží současně více procesů současně. Tento termín se používá v moderních operačních systémech, když na jednom procesoru běží více programů nebo procesů a úkolem OS je spravovat všechny procesy efektivně a efektivně. Multitasking označuje schopnost operačního systému provádět více úloh najednou pomocí více procesorů. V zásadě používá dva nebo více procesorů v rámci jediného systému pro přidělování úkolů, které sdílejí společné zdroje, včetně CPU a paměti.
Multiprogramování je založeno na konceptu přepínání kontextu, což je standardní postup, který usnadňuje přepínání CPU z jednoho procesu vlákna na druhý pomocí jediného CPU. Ukládá stav aktivního procesu pro CPU do procesního řídicího bloku (PCB), takže proces pokračuje ze stejného stavu. Multitasking, na druhé straně, je založen na konceptu sdílení času, což je technika používaná k tomu, aby každému uživateli poskytla část systému sdíleného času, což umožňuje uživatelům sdílet stejné zdroje současně. Je to logické rozšíření multiprogramování.
Oba termíny sdílejí téměř stejný význam a jsou běžnými pojmy používanými v moderních operačních systémech, ale s různými cíli. Koncept multiprogramování je založen výhradně na schopnosti počítače ukládat programy nebo instrukce po delší dobu, aby se zkrátila doba nečinnosti CPU. Přidělení procesu se provádí pomocí algoritmu plánování. OS provádí část jednoho programu najednou, následuje část jiného programu atd. V multitasking OS umožňuje CPU současně spouštět více procesů prostřednictvím sdílení času a podle toho je vykonává.
V multiprogramovém operačním systému je myšlenkou zajistit úplnou transparentnost mezi uživateli, protože více uživatelů sdílí stejný procesor, který rychle přepíná z jednoho uživatele na druhého, aby se zlepšilo využití CPU. Umožňuje efektivní a efektivní přidělování zdrojů bez zásahu uživatele do systému. OS provádí část programu následovanou jiným programem, ale zdá se, že všechny programy jsou prováděny současně. Ve vícesložkovém operačním systému jsou uživatelé nahrazeni programy nebo procesy a každý proces má spravedlivý kousek času CPU. Proces probíhá tak rychle, že se zdá, že se provádí více úkolů současně.
Stručně řečeno, oba termíny se často používají ve spojení mezi sebou, aby představovaly moderní operační systémy, ale s různými cíli a funkčností. Zatímco multiprogramovací operační systém umožňuje spuštění více než jednoho programu současně pomocí jediného CPU, operační systém pro více úloh umožňuje provádění více procesů nebo úkolů současně s využitím více CPU. Multiprogramování je založeno na přepínání kontextu, které neumožňuje CPU nečinnosti, a tím maximalizuje využití CPU, zatímco multitasking je založen na sdílení času, protože více úloh lze přepínat podle priority v pravidelných časových intervalech pro maximální výkon CPU.