Entendiendo el Sistema Operativo: Núcleo, Arquitectura y Gestión de Interrupciones
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,13 KB
Sistema Operativo: Un Entorno de Trabajo Eficiente
Un Sistema Operativo (SO) es un programa que crea un entorno de trabajo para el usuario, dándole la impresión de estar usando una máquina virtual de fácil manejo, en vez de un hardware complejo. Esto se basa en el Principio del Embellecimiento. En segundo término, el SO busca mantener una alta eficiencia, adoptando un enfoque multinivel.
El SO actúa como un director de orquesta, ya que:
- Coordina actividades.
- Gestiona el uso de recursos.
- Controla cómo se usan esos recursos.
El Núcleo del SO es el programa que siempre está ejecutándose (cargado en memoria). El resto son aplicaciones del sistema o de usuario.
Arquitectura Von Neumann y Ejecución de Programas
La Arquitectura Von Neumann se compone de CPU, Memoria Principal y E/S, interconectadas mediante Buses de Datos, Direcciones y Control. Un concepto fundamental es el de programa almacenado.
La ejecución de un programa almacenado en memoria sigue estos pasos:
- Buscar la instrucción que está en memoria, determinar qué hace y con qué datos tiene que trabajar. Localizar los datos.
- Ejecutar la operación indicada con los datos y volver al paso 1.
Este proceso se basa en el Principio de Secuenciamiento, que consta de una Fase de Búsqueda de instrucción y una Fase de Operación (trae operando y opera). La ejecución se realiza en bucle.
Control del Sistema e Interrupciones
El control del sistema se basa en eventos generados por dispositivos o por la ejecución del programa. Las interrupciones son el mecanismo que advierte al sistema de la ocurrencia de eventos.
El tratamiento de interrupciones sigue el Principio del secuenciamiento con tratamiento de interrupciones:
- Fase de Búsqueda
- Fase de Operación
- Si hay interrupción pendiente, tratarla.
- Ejecutar en bucle
Para atender una interrupción, se salva el estado de la máquina para recuperarlo más tarde, puesto que se abandona la tarea que se estaba haciendo. Es como una llamada a procedimiento, pero asíncrona.
El vector de interrupciones es una forma de determinar qué rutina de tratamiento de interrupción hay que ejecutar. Habitualmente se aloja en la parte baja de la memoria, indexado por el número de interrupción. Cada posición almacena la dirección de inicio de la rutina de servicio para el correspondiente dispositivo. La modificación de este vector puede provocar graves daños.
Una Trampa es una interrupción software utilizada para tratar errores en la ejecución o peticiones al SO.
Estructura de E/S y DMA
En la estructura de E/S, el controlador del dispositivo mantiene un buffer local y un conjunto de registros. Transfiere datos entre los dispositivos que controla y su buffer local. El control del proceso se realiza mediante registros mapeados en memoria o instrucciones de CPU específicas. Una operación provoca la carga de registros apropiados en el controlador por la CPU, permitiendo al controlador determinar la acción a realizar. Al acabar la operación, informa a la CPU con una interrupción.
La E/S síncrona no devuelve el control hasta que acaba. Existen dos tipos de espera: Activa (ejecuta un bucle vacío mientras espera hasta la interrupción) y Asíncrona (devuelve el control antes de acabar).
DMA (Direct Memory Access) se utiliza para mejorar la eficiencia de las operaciones de E/S. Se genera una interrupción por bloque (ej., 4096 bytes) en lugar de por carácter. La transferencia se hace por hardware, no por software, y es controlada por un procesador específico del periférico, dejando libre la CPU. Para evitar interferencias entre la CPU y el procesador del periférico, se utiliza la técnica de robo de ciclo.