Los sistemas por lotes multiprogramados proporcionaron un entorno en el que varios recursos del sistema se utilizaron de manera efectiva, pero no permitieron la interacción del usuario con los sistemas informáticos. El tiempo compartido es una extensión lógica de la multiprogramación. La CPU realiza muchas tareas mediante interruptores que son tan frecuentes que el usuario puede interactuar con cada programa mientras se está ejecutando. Un sistema operativo de tiempo compartido permite que múltiples usuarios compartan computadoras simultáneamente. Con cada acción u orden a la vez, el sistema compartido se vuelve más pequeño, por lo que solo se requiere un poco de tiempo de CPU para cada usuario. A medida que el sistema cambia rápidamente de un usuario a otro, cada usuario tiene la impresión de que todo el sistema informático está dedicado a su uso, aunque se comparte entre varios usuarios. Un sistema operativo de tiempo compartidoutiliza la programación de CPU y la programación múltiple para proporcionar a cada uno una pequeña porción de una computadora compartida a la vez. Cada usuario tiene al menos un programa separado en la memoria. Un programa cargado en la memoria y se ejecuta, realiza un breve período de tiempo antes de completarse o para completar la E/S. Este breve período de tiempo durante el cual el usuario recibe la atención de la CPU se conoce como intervalo de tiempo, intervalo de tiempo o cuántico.Normalmente es del orden de 10 a 100 milisegundos. Los sistemas operativos de tiempo compartido son más complejos que los sistemas operativos multiprogramados. En ambos, se deben mantener múltiples trabajos en memoria simultáneamente, por lo que el sistema debe contar con administración de memoria y seguridad. Para lograr un buen tiempo de respuesta, es posible que los trabajos deban entrar y salir del disco desde la memoria principal, que ahora sirve como almacenamiento de respaldo para la memoria principal. Un método común para lograr este objetivo es la memoria virtual, una técnica que permite la ejecución de un trabajo que puede no estar completamente en la memoria. En la figura anterior, el usuario 5 está en estado activo, pero el usuario 1, el usuario 2, el usuario 3 y el usuario 4 están en estado de espera, mientras que el usuario 6 está en estado listo.
- Estado activo: el programa del usuario está bajo el control de la CPU. Solo un programa está disponible en este estado.
- Estado listo: el programa del usuario está listo para ejecutarse pero está esperando su turno para obtener la CPU. Más de un usuario puede estar en estado listo a la vez.
- Estado de espera: el programa del usuario está esperando alguna operación de entrada/salida. Más de un usuario puede estar en estado de espera a la vez.
Requisitos del sistema operativo de tiempo compartido: un mecanismo de reloj de alarma para enviar una señal de interrupción a la CPU después de cada intervalo de tiempo. Mecanismo de protección de memoria para evitar que las instrucciones y los datos de un trabajo interfieran con otros trabajos.
ventajas :
- Cada tarea tiene la misma oportunidad.
- Menos posibilidades de duplicación de software.
- El tiempo de inactividad de la CPU se puede reducir.
Desventajas:
- Problema de confiabilidad.
- Uno debe tener en cuenta la seguridad y la integridad de los programas y datos del usuario.
- Problema de comunicación de datos.
Publicación traducida automáticamente
Artículo escrito por rajkumarupadhyay515 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA