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.

Entradas relacionadas: