A többprogramozás több program végrehajtásának megszervezésének módja egy számítógépen.
Külön multiprogramozás kötegelt rendszerekben, valós idejű rendszerekben és időmegosztó rendszerekben.
A kötegelt feldolgozást a számítógépes erőforrások maximális hatékonyságának eléréséhez használják számítási feladatok végrehajtása során az összetevők, például az ALU és az IUV kiegyensúlyozott betöltésével . A végrehajtásra ütemezett feladatokat csomagnak nevezzük. A kötegelt módban a feladatok közötti váltást az éppen végrehajtott feladat kezdeményezi, így egy adott feladat végrehajtási időközei nincsenek meghatározva.
Az időmegosztó rendszereket több program "egyidejű" interaktív futtatására használják. A kötegelt módtól eltérően minden programnak meghatározott ideig futnia kell, majd a rendszer váltást kezdeményez. A kiosztott időintervallumok minden feladatnál azonosak lehetnek, vagy a prioritásuk alapján határozhatók meg.
A valós idejű rendszerek abban különböznek az időmegosztó rendszerektől , hogy a következő helyzetekben előre láthatóknak kell lenniük [1] :
Ezenkívül egy valós idejű rendszer több erőforrást pazarolhat el (kevésbé hatékony vagy kisebb a sávszélessége ) a magasabb feladatütemezési követelmények miatt [2] , valamint átlagos terhelés esetén nem használja ki teljesen az erőforrásokat [3] .