Interrupciones, Tablas de Páginas, Gestión de Procesos y Caché: Funcionamiento Detallado
Clasificado en Informática
Escrito el en español con un tamaño de 3,23 KB
Interrupciones
Pasos de una interrupción:
- Envío de una señal de interrupción.
- Si no está enmascarada, la CPU la recibe.
- La CPU finaliza la instrucción actual y activa INTA.
- Si es prioritaria, el dispositivo recibe INTA.
- El dispositivo coloca NV en el bus de datos.
- La CPU recibe NV, obtiene V en la tabla de vectores.
- La CPU guarda SR y PC en la pila y copia V a PC.
- Inicia la rutina RTI:
- Enmascaramiento de otras interrupciones si es necesario.
- Comunicación: Entrada y salida por programa utilizando los puertos.
- Desenmascaramiento y retorno del procedimiento RTI.
Gestión de Memoria y Procesos
Tabla de Páginas
Las tablas de páginas se utilizan para realizar las traducciones de direcciones de memoria virtual (o lógica) a memoria real (o física). Generalmente, el sistema operativo mantiene una tabla por cada proceso que se está ejecutando en el sistema. La TLB (Translation Lookaside Buffer) es una memoria caché que contiene partes de la tabla de paginación. Si la dirección buscada no se encuentra en la tabla de paginación, se produce una interrupción conocida como fallo de página.
Gestión de Procesos (Reparto de CPU)
Un proceso es, simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El sistema operativo es responsable de:
- Crear y destruir los procesos.
- Parar y reanudar los procesos.
- Ofrecer mecanismos para que se comuniquen y sincronicen.
Un proceso entra en la CPU cuando es el primero en la cola de prioridades de la CPU. Una vez realizada la tarea, se marca como completada.
Un proceso abandona la CPU cuando se le acaba el quantum (ready), o cuando llega una interrupción o la provoca (blocked). Cuando un proceso intenta realizar una operación de entrada y salida, abandona el estado de ejecución y se pone en bloqueado para no consumir CPU (y no está en la cola). Cuando termina la operación E/S, el sistema operativo lo despierta (wake up) o cuando finaliza su ejecución.
Memoria Caché
Una caché es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales tardan más en ser buscados y encontrados, en comparación con la copia en la caché. Cuando se accede por primera vez a un dato, se hace una copia en la caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor. Si la caché está llena, hay que desalojar otro elemento (el menos usado, el primero que entró o uno al azar). Los datos se etiquetan; por ejemplo, dato 134, línea 13, palabra 4.
Operaciones en la Caché
Lectura: La CPU proporciona la dirección del dato (ej. 134). Se busca en la caché en la línea 13. Si está presente, se busca la palabra 4 y se envía al procesador. Si no está, se busca en la memoria, se copia en la caché y se envía al procesador.
Escritura: Se busca el dato y se reemplaza por el nuevo (solo se puede modificar en la caché).