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:
- Finalizar la ejecución de la instrucción en curso.
- Guardar la dirección de retorno.
- Deshabilitar la llegada de nuevas interrupciones.
- Identificar la interrupción y el servicio asociado.
- Ejecutar la rutina de servicio de interrupción.
- Habilitar la llegada de nuevas interrupciones.
- 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 comandocat
. - Redirección de salida del comando
wc
al ficheron_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:
- El programa se está ejecutando.
- Se realiza la llamada al sistema.
MODO NÚCLEO:
- Se identifica el servicio solicitado.
- Se ejecuta el servicio solicitado.
- Se obtienen los datos solicitados o el resultado del servicio.
MODO USUARIO:
- Se continúa con la siguiente instrucción del programa.