La multiprogramación es la asignación de más de un programa concurrente en un sistema informático. La multiprogramación permite utilizar la CPU de manera efectiva al permitir que varios usuarios utilicen la CPU y los dispositivos de E/S de manera efectiva. La multiprogramación se asegura de que la CPU siempre tenga algo que ejecutar.
Por otro lado, el tiempo compartido es el intercambio de recursos informáticos entre varios usuarios al mismo tiempo. Dado que esto permite que una gran cantidad de usuarios trabajen en un solo sistema informático al mismo tiempo, reduce el costo de proporcionar capacidades informáticas.
En los sistemas de tiempo compartido, varios terminales están conectados a un único servidor dedicado que tiene su propia CPU. Las acciones / comandos ejecutados por el sistema operativo de un sistema de tiempo compartido tienen un lapso de tiempo muy corto. Por lo tanto, la CPU se asigna a los usuarios en los terminales por un corto período de tiempo.
La principal diferencia entre la multiprogramación y el tiempo compartido es que la multiprogramación es la utilización efectiva del tiempo de CPU, al permitir que varios programas utilicen la CPU al mismo tiempo, pero el tiempo compartido es la compartición de una instalación informática por parte de varios usuarios que desean utilizar la misma instalación al mismo tiempo.