Операционната система е най-важният софтуер и сърцето на компютъра, който не само управлява паметта и процесите вътре в компютъра, но също така позволява на потребителите да стартират приложен софтуер. Това е колективен набор от програми, които абстрахират хардуера на системата и представят на потребителите пълна виртуална машина. Освен основните задачи като проследяване на файлове или директории, контрол на периферни устройства, изпращане на изход към екрана на дисплея, ОС служи и за по-високи цели, като мултипрограмиране и многозадачност, за да се уверите, че програмите, работещи едновременно, не се намесват взаимно. Съвременните операционни системи не само улесняват паралелната обработка, но и споделянето на време, което е само концепция за мултипрограмиране. Многозадачността е просто рудиментарна форма на многопрограмиране, използвана в различен контекст.
Мултипрограмирането е възможността повече от един потребител да използва компютъра наведнъж, използвайки един процесор. Идеята е ефективно да се използва процесорът за създаване на множество готови за изпълнение процеси, като всеки процес принадлежи на различен потребител. Ако текущият процес спира по някаква причина, тъй като трябва да изчака дадено конкретно събитие, операционната система разпределя процесора на друг процес на опашката. Цялата операция се улеснява чрез многопрограмиране на операционни системи за максимално използване на процесора, така че да се намали времето на празен ход на процесора. Идеята е процесорът да бъде зает колкото е възможно по-дълго.
Многозадачността означава едновременно изпълнение на множество процеси от един потребител на един и същ компютър, използвайки множество процесори. Например, в многозадачна операционна система можете да работите върху документ с думи с една програма, докато слушате музика, както едновременно с друга програма. Многозадачността е ефективна, когато програмите на компютър изискват висока степен на паралелизъм. Той се основава на концепцията за споделяне на времето, тъй като множество процеси или задачи могат да бъдат превключвани съответно на редовен интервал от време, така че потребителите да добият представа, че се изпълняват едновременно.
Терминът мултипрограмиране е рудиментарна форма на паралелна обработка, което означава, че множество процеси протичат едновременно по едно и също време в един процесор. Терминът се използва в съвременните операционни системи, когато множество програми или процеси работят на един процесор и е задачата на ОС да управлява всички процеси ефективно и ефикасно. Многозадачността се отнася до способността на ОС да изпълнява няколко задачи наведнъж, използвайки множество процесори. Основно използва два или повече процесора в рамките на една система за разпределение на задачи, които споделят общи ресурси, включително CPU и памет.
Мултипрограмирането се основава на концепцията за превключване на контекста, което е стандартна процедура, която улеснява превключването на процесора от един процес на нишка към друг, използвайки един процесор. Той съхранява състоянието на активен процес за процесора в блока за управление на процесите (PCB), така че процесът да се възобнови от същото състояние. От друга страна, многозадачността се основава на концепцията за споделяне на времето, която е техника, използвана за предоставяне на всеки потребител на част от споделената време система, позволяваща на потребителите да споделят едни и същи ресурси едновременно. Това е логично разширение на мултипрограмирането.
И двата термина имат почти едно и също значение и са общи термини, използвани в съвременните операционни системи, но с различни цели. Концепцията за мултипрограмиране се основава единствено на способността на компютъра да съхранява програми или инструкции за по-дълъг период от време, за да се намали времето на празен процесор. Разпределението на процеса се извършва чрез алгоритъм за планиране. ОС изпълнява част от една програма наведнъж, последвана от част от друга програма и така нататък. В многозадачна операционна система процесорът позволява да се стартират множество процеси едновременно чрез споделяне на време и да ги изпълнява съответно.
В операционната система за многопрограмиране идеята е да се осигури пълна прозрачност между потребителите, тъй като множество потребители споделят един и същ процесор, който бързо преминава от един потребител към друг, за да подобри използването на процесора. Той позволява ефективно и ефикасно разпределение на ресурсите без взаимодействие на потребителя със системата. ОС изпълнява част от програма, последвана от друга програма, но изглежда всички програми се изпълняват едновременно. В многозадачната операционна система потребителите се заменят с програми или процеси и всеки процес отнема справедлив отрязък от времето на процесора. Процесът протича толкова бързо, че изглежда, че едновременно се изпълняват множество задачи.
С две думи и двата термина често се използват съвместно помежду си за представяне на съвременни операционни системи, но с различни цели и функционалност. Докато многопрограмна операционна система позволява да се стартира повече от една програма едновременно с помощта на един процесор, многозадачна операционна система позволява да се изпълняват множество процеси или задачи едновременно, използвайки няколко процесора. Мултипрограмирането се основава на контекстна комутация, която не позволява на процесора да седи на празен ход, като по този начин се увеличава максимално използването на процесора, докато многозадачността се основава на споделяне на време, тъй като много задачи могат да се превключват според приоритета през редовни интервали от време за максимална производителност на процесора.