Modos de Ejecución del Procesador y Llamadas al Sistema en Sistemas Operativos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,82 KB

Modos de Ejecución del Procesador y su Importancia en Sistemas Operativos

Justificación de los Modos de Ejecución del Procesador

Los procesadores que soportan los sistemas operativos requieren al menos dos modos de funcionamiento para garantizar la seguridad y la eficiencia del sistema. Estos modos son:

  • Modo Núcleo o Protegido: En este modo, se pueden ejecutar todas las instrucciones disponibles. El sistema operativo opera en este modo, teniendo control total sobre el hardware.
  • Modo Usuario o Regular: En este modo, ciertas instrucciones están restringidas, como el control de interrupciones, el acceso a áreas específicas de la memoria y ciertos registros del procesador. Los programas de usuario se ejecutan en este modo, con acceso limitado al hardware.

Esta separación permite al sistema operativo gestionar los recursos del sistema de manera segura, evitando que los programas de usuario interfieran con operaciones críticas.

Acciones Desencadenadas por una Interrupción y su Relación con los Modos de Funcionamiento

La llegada de una interrupción desencadena una serie de acciones:

  1. Finalizar la ejecución de la instrucción en curso.
  2. Guardar la dirección de retorno.
  3. Deshabilitar la llegada de nuevas interrupciones.
  4. Identificar la interrupción y el servicio asociado.
  5. Ejecutar la rutina de servicio de interrupción.
  6. Habilitar la llegada de nuevas interrupciones.
  7. Retornar al programa de usuario interrumpido.

Las acciones 2, 3, 4, 5 y 6 se realizan dentro del contexto del sistema operativo. Los manejadores de dispositivos, el vector de interrupciones y las rutinas de interrupción residen en el espacio de memoria reservado para el sistema operativo, siendo accesibles solo por él. Por lo tanto, es necesario un cambio de modo, de modo usuario a modo núcleo, para que estas acciones se realicen correctamente.

Comandos de Shell UNIX y su Funcionamiento

Análisis de la Orden $cat <lista | grep "Sistema" | wc -l >n_sistema

Comandos y Procesos Involucrados

En la orden $cat <lista | grep "Sistema" | wc -l >n_sistema intervienen los siguientes comandos:

  • cat
  • grep
  • wc

Se generan tres procesos, uno por cada comando. Estos procesos se ejecutan concurrentemente.

Redirección de Entrada y Salida

En esta orden, existe:

  • Redirección de entrada del fichero lista al comando cat.
  • Redirección de salida del comando wc al fichero n_sistema.

Los tubos (pipes) son archivos sin nombre. La salida de cat se redirige al primer tubo (tubo-1). grep lee de tubo-1 y redirige su salida al segundo tubo (tubo-2). wc lee de tubo-2.

Resultado de la Orden

Si el archivo n_sistema no existe, se crea. Si existe, se sobrescribe. Tras la ejecución, n_sistema contendrá un número que representa el total de líneas en el archivo lista que contienen la cadena "Sistema".

Llamadas al Sistema y el Rol del Shell

Relación entre el Shell y las Llamadas al Sistema

Las llamadas al sistema son el mecanismo que permite a las aplicaciones acceder a los servicios del sistema operativo y a los recursos de la máquina. El shell es una herramienta básica de los sistemas UNIX. Tanto el shell como las órdenes que ejecuta son programas de usuario que utilizan llamadas al sistema para proporcionar servicios a los usuarios. Las órdenes se invocan generalmente desde el shell o desde un script de shell. El shell está al mismo nivel que estas órdenes, y las llamadas al sistema forman parte de su código.

Instrucciones Privilegiadas y Protección de Hardware

Las instrucciones privilegiadas son aquellas que solo están disponibles en modo núcleo y no en modo usuario. Estas instrucciones están asociadas a la protección de:

  • Entrada/Salida
  • Memoria
  • Procesador

Secuencia de Acciones en una Llamada al Sistema

Cuando una aplicación de usuario solicita una llamada al sistema, se lleva a cabo la siguiente secuencia de acciones:

MODO USUARIO:

  1. El programa se está ejecutando.
  2. Se realiza la llamada al sistema.

MODO NÚCLEO:

  1. Se identifica el servicio solicitado.
  2. Se ejecuta el servicio solicitado.
  3. Se obtienen los datos solicitados o el resultado del servicio.

MODO USUARIO:

  1. Se continúa con la siguiente instrucción del programa.

Entradas relacionadas: