lunes, 4 de abril de 2011

MULTIPROGRAMACIÓN Y TIEMPO COMPARTIDO

La idea de la multiprogramación  es la siguiente.  El sistema operativo toma uno de los programas de un grupo de ellos y empieza a ejecutarlo.  Eventualmente, el programa seguramente tendrá que esperar por algún motivo, como por ejemplo que tenga que leer información de un disco, que se teclee un comando en un teclado o que tenga que imprimir algo.  En un sistema sin multiprogramación (monoprogramación), la computadora permanecería inactiva hasta que terminara la operación por la que está esperando. En un sistema con multiprogramación, el sistema operativo sencillamente cambiaría a otro programa y lo ejecutaría. Cuando este último deba esperar, la computadora pasaría a ejecutar otro programa y así sucesivamente. Finalmente, el primer programa habrá acabado su espera y podrá ser ejecutado de nuevo. Los sistemas operativos multiprogramados son sofisticados. Tener varios programas dispuestos para su ejecución, supone mantenerlos simultáneamente en memoria. Tener varios programas en memoria al mismo tiempo requiere una gestión de memoria. Además, Si hay varios programas dispuestos para ejecución al mismo tiempo, hay que tomar alguna decisión para elegir entre ellos. Este proceso, se denomina planificación  de la CPU, consume tiempo de la computadora.
Tiempo compartido
Cuando un usuario está trabajando, generalmente, desea que la respuesta de la computadora sea lo más rápido posible. Antiguamente se empleaban los ” sistema por Lotes “ en donde existía un grupo de programas  de diferentes usuarios  y la computadora los iba ejecutando uno detrás de otro secuencialmente. Entonces para ofrecer tiempos de respuesta más rápidos, se crearon los sistemas de tiempo compartido.
La idea es muy simple, pero no simple de realizar, en vez de dedicarse la computadora a un solo usuario, se divide y atiende por turnos a todos a la vez. En un Sistema de tiempo compartido, si de 20 usuarios conectados 17 están pensando, charlando o tomando un café, el procesador puede dedicarse por turnos a los otros tres trabajos que precisan servicio. Dado que las personas que ponen a punto programas utilizan normalmente comandos de efecto corto (por ejemplo, compilar un programa de cinco paginas), en vez de comandos de efecto largo (por ejemplo, ordenar un millón de registros de un fichero), la computadora puede ofrecer un servicio rápido a cierto número de usuarios y procesar todavía trabajos en los tiempos muertos en que no haya ningún usuario que atender.
Un sistema operativo en tiempo compartido utiliza la planificación de la CPU y la multiprogramación para dotar a cada usuario de una pequeña parte de la computadora compartida. Cada usuario tiene en memoria un programa independiente. Cuando se ejecuta, lo hace normalmente durante un breve periodo de tiempo. Puesto que la entrada de datos se realiza a velocidad humana, puede llevar mucho tiempo completarla. La entrada, por ejemplo, esta limitada por la velocidad de tecleo; cinco caracteres por segundo es un tecleo bastante rápido para una persona, pero muy lento para las computadoras.
En lugar de dejar que la computadora permanezca inactiva cuando esto sucede, el sistema operativo cede rápidamente el control de la computadora al programa de algún otro usuario.

1 comentario:

  1. en tiempo compartido cada usuario no tiene un programa cargado en memoria, tiene al menos uno, puede tener varios.

    ResponderEliminar