Conceptos Esenciales de Arquitectura y Sistemas Operativos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,13 KB
Jerarquía de Memoria y Memoria Caché
La jerarquía de memoria se estructura de la siguiente manera (de más rápida y costosa a más lenta y barata):
- Registros: En la CPU, acceso inmediato.
- Caché: (L1, L2, L3) Almacenamiento rápido para evitar accesos a RAM.
- Memoria RAM: Almacenamiento temporal de programas y datos en ejecución.
- Memoria Secundaria: Discos SSD/HDD.
- Memoria Externa: Dispositivos USB, almacenamiento en red, etc.
Función de la Memoria Caché
La memoria caché almacena datos e instrucciones de uso frecuente para acelerar el acceso de la CPU y reducir la latencia de acceso a la RAM.
Pasos para Recuperar Contenido de una Dirección de Memoria
El proceso de búsqueda de datos sigue esta secuencia:
- La CPU busca en los registros.
- Si no está ahí, busca en la caché (L1, L2, L3).
- Si no está en la caché, busca en la RAM.
- Si no está en la RAM, accede a la memoria secundaria (disco duro/SSD).
Memoria Virtual vs. Memoria Física
La memoria virtual permite ejecutar programas más grandes que la memoria física utilizando el disco como extensión de la RAM.
Diferencias Clave
- Con Memoria Virtual: Se usa una tabla de páginas para traducir direcciones lógicas a físicas.
- Sin Memoria Virtual: La CPU accede directamente a la memoria física sin necesidad de paginación.
Datos Guardados en la Tabla de Páginas
La tabla de páginas contiene información esencial para la traducción de direcciones:
- Dirección de página en memoria física.
- Bit de validez/invalidez.
- Bit de modificación (dirty bit).
- Bit de acceso (si la página ha sido usada recientemente).
Ciclo de Vida de una Instrucción y Tipos de Interrupciones
Una instrucción en la CPU pasa por los siguientes estados:
- Fetch: Búsqueda de instrucción en memoria.
- Decode: Decodificación de la instrucción.
- Execute: Ejecución en la ALU o FPU.
- Memory Access: Si la instrucción lo requiere (lectura/escritura en memoria).
- Write-back: Almacenamiento del resultado.
Momentos de Detección de Interrupciones
Las interrupciones pueden ocurrir en diferentes puntos:
- Durante la ejecución si ocurre una excepción (ej. división por cero).
- En cualquier momento si hay una interrupción externa (ej. teclado, temporizador).
Tipos de Interrupciones
Existen diversas causas para las interrupciones:
- Interrupciones de Hardware: (teclado, disco, reloj).
- Interrupciones de Software: (llamadas al sistema, excepciones).
- Interrupciones por Fallos de Página: Cuando se requiere cargar una página en memoria.
Control de Procesos y Cambio de Contexto
El Bloque de Control de Procesos (PCB) es una estructura de datos fundamental para la gestión de procesos.
Componentes del Bloque de Control de Procesos (PCB)
El PCB almacena toda la información relevante sobre un proceso:
- Identificación del proceso (PID, proceso padre, usuario propietario).
- Estado del proceso (Ejecutando, Listo, Bloqueado, etc.).
- Contexto de CPU (valores de registros, contador de programa).
- Información de memoria (segmentos, tabla de páginas).
- Información de archivos (archivos abiertos, permisos).
- Información de entrada/salida (dispositivos en uso).
Pasos para un Cambio de Contexto (Cambio de Procesos)
El sistema operativo realiza los siguientes pasos para cambiar la CPU de un proceso a otro:
- Guardar el contexto del proceso actual (en su PCB).
- Seleccionar el próximo proceso a ejecutar.
- Restaurar el contexto del nuevo proceso (desde su PCB).
- Asignar la CPU al nuevo proceso.