Multiprogramación vs Sistemas de Tiempo Compartido
La multiprogramación es la asignación de más de un programa concurrente en un sistema informático y sus recursos. La multiprogramación permite usar la CPU de manera efectiva al permitir que varios usuarios usen la CPU y los dispositivos de E/S de manera efectiva. La multiprogramación asegura que la CPU siempre tenga algo que ejecutar, por lo que aumenta la utilización de la CPU. Por otro lado, el tiempo compartido es el intercambio de recursos informáticos entre varios usuarios al mismo tiempo. Dado que esto permitirá que una gran cantidad de usuarios trabajen en un solo sistema informático al mismo tiempo, reduciría el costo de proporcionar capacidades informáticas.
¿Qué es el sistema de multiprogramación?
La multiprogramación es el cambio rápido de la CPU entre varios programas. Un programa generalmente se compone de varias tareas. Una tarea generalmente termina con alguna solicitud para mover datos que requeriría la ejecución de algunas operaciones de E/S. La multitarea se realizaba comúnmente para mantener ocupada la CPU, mientras que el programa que se ejecuta actualmente realiza operaciones de E/S. En comparación con otras instrucciones de ejecución, las operaciones de E/S son extremadamente lentas. Incluso si un programa contiene una cantidad muy pequeña de operaciones de E/S, la mayor parte del tiempo que toma el programa se dedica a esas operaciones de E/S. Por lo tanto, usar este tiempo de inactividad y permitir que otro programa utilice la CPU en ese momento aumentará la utilización de la CPU. La multiprogramación se desarrolló inicialmente a fines de la década de 1950 como una característica de los sistemas operativos y se utilizó por primera vez en la computación central. Con la introducción de las tecnologías de memoria virtual y máquina virtual, se mejoró el uso de la multiprogramación.
¿Qué es el sistema de tiempo compartido?
El tiempo compartido, que se introdujo en la década de 1960, consiste en compartir recursos informáticos entre varios usuarios al mismo tiempo. 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 durante un breve período de tiempo, por lo que un usuario en un terminal tiene la sensación de que tiene una CPU dedicada detrás de su terminal. El breve período de tiempo en el que se ejecuta un comando en un sistema de tiempo compartido se denomina segmento de tiempo o cuanto de tiempo. Con el desarrollo de Internet, los sistemas de tiempo compartido se han vuelto más populares, ya que las costosas granjas de servidores pueden albergar una gran cantidad de clientes que comparten los mismos recursos. Dado que los sitios web operan principalmente en ráfagas de actividad seguidas por períodos de tiempo de inactividad, el tiempo de inactividad de un cliente podría ser utilizado de manera efectiva por el otro, sin que ninguno de ellos se dé cuenta de la demora.
¿Cuál es la diferencia entre el Sistema de Multiprogramación y el Sistema de Tiempo Compartido?
La principal diferencia entre la multiprogramación y el tiempo compartido es que la multiprogramación es la utilización efectiva del tiempo de la CPU, al permitir que varios programas usen la CPU al mismo tiempo, pero el tiempo compartido es compartir una instalación informática entre varios usuarios que desean utilizar la misma instalación al mismo tiempo. Cada usuario en un sistema de tiempo compartido obtiene su propia terminal y tiene la sensación de que está usando solo la CPU. En realidad, los sistemas de tiempo compartido utilizan el concepto de multiprogramación para compartir el tiempo de la CPU entre varios usuarios al mismo tiempo.