Conceptos clave de sistemas operativos: máquinas virtuales, shells y modelos de ejecución
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 3,57 KB
Conceptos fundamentales de sistemas operativos
Máquina virtual: Una máquina virtual es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software, en un principio, fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.
Shell
Un shell es una pieza de software que provee una interfaz para usuarios. Generalmente el término se refiere al shell del sistema operativo que proporciona acceso a los servicios del kernel. Los shells de los sistemas operativos generalmente caen en dos categorías según su interfaz:
- Línea de comandos (CLI)
- Gráficos (GUI)
Multiprogramación y monoprogramación
La multiprogramación permite que dos o más procesos residan en la misma unidad de memoria principal y se ejecuten al mismo tiempo (concurrency), compartiendo recursos del procesador según el algoritmo de planificación. Por el contrario, la monoprogramación (o monoproceso) ejecuta un único programa a la vez; no se inicia otro hasta que termine el anterior.
Sistemas operativos por lotes
Los sistemas operativos por lotes procesan una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios y los programas en ejecución. Se agrupan todos los trabajos similares para realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como sucede en el procesamiento en serie. Estos sistemas son de los más tradicionales y antiguos; fueron introducidos alrededor de 1956 para aumentar la capacidad de procesamiento de los programas.
Tiempo compartido
El tiempo compartido se refiere a compartir un recurso de cómputo entre muchos usuarios por medio de la multitarea. Al permitir que un gran número de usuarios interactuara simultáneamente con una sola computadora, se redujo drásticamente el costo del servicio de cómputo, a la vez que la experiencia computacional se volvió mucho más interactiva.
Sistemas en tiempo real
Tiempo real está relacionado con los sistemas, tanto a nivel de soporte físico como de programación, que se ven limitados por restricciones temporales. El software de tiempo real debe necesariamente tener la característica de tiempo de respuesta crítico. Entre sus propiedades destacadas se suelen incluir:
- Determinismo
- Sensibilidad
- Control del usuario
- Fiabilidad
- Tolerancia a fallos
Llamadas al sistema
Cuando se invoca una llamada al sistema, la ejecución del programa que invoca es interrumpida y sus datos son guardados, normalmente en su PCB (bloque de control de procesos, por sus siglas en inglés). Esto permite que pueda continuar ejecutándose luego. El procesador comienza entonces a ejecutar las instrucciones de código con un nivel de privilegios más alto para realizar la tarea requerida. Cuando ésta finaliza, se retorna al proceso original y continúa su ejecución. El retorno al proceso demandante no es necesariamente inmediato: depende del tiempo de ejecución de la llamada al sistema y del algoritmo de planificación.
Determinismo, Sensibilidad, Control del usuario, Fiabilidad, Tolerancia a los fallos.