Repaso arquitectura Flashcards
(12 cards)
Componentes Básicos de una Computadora
Definición:
CPU (Procesador): Controla el funcionamiento del computador, procesa datos y ejecuta instrucciones de bajo nivel.
Memoria Principal (RAM): Almacenamiento temporal de datos y programas en ejecución.
Dispositivos de E/S: Permiten la transferencia de datos entre la computadora y el entorno externo.
Bus del Sistema: Comunica el procesador, memoria y dispositivos de E/S.
Nota: La memoria principal siempre es RAM (volátil).
Registros del Procesador
Registros de Uso General (AX, BX, CX, MMX/SSE): Visibles al usuario, modificables y utilizados para cálculos.
Registros de Uso Específico:
Stack Pointer (SP): Apunta al tope de la pila del sistema.
Instruction Pointer (IP) / Program Counter (PC): Dirección de la próxima instrucción a ejecutar.
Instruction Register (IR): Almacena la última instrucción leída.
Program Status Word (PSW): Contiene flags de estado (ej: IF para interrupciones, MODE para modo de ejecución).
Interrupciones
Mecanismo que notifica eventos al procesador, interrumpiendo el flujo normal de ejecución.
puede ser generada por el mismo procesador o por un dispositivo de E/S.
La interrupción es la forma natural que tiene el hardware para pasar de ejecutar una cosa a ejecutar otra.
- Una vez atendida, siempre implica un cambio a modo Kernel.
Tipos de interrupciones
Asíncronas (HW): Generadas por hardware externo (ej: teclado). Ocurren al final del ciclo de instrucción.
Síncronas (SW): Causadas por el procesador (ej: división por cero). Ocurren durante el ciclo de instrucción.
Enmascarables: Pueden ignorarse si el flag IF en el PSW está desactivado.
No Enmascarables: Atendidas inmediatamente (ej: fallas de hardware graves).
Nota: Las interrupciones no enmascarables (como un fallo de hardware) siempre se atienden primero, incluso si el CPU estaba en medio de otra tarea crítica.
Manejo de interrupciones
El PIC (Programmable Integrated Circuit) es el encargado de tomar todas las interrupciones y cargarlas a la CPU para que se encargue de ellas. Cointiene un vector que contiene los bits de prioridad.
El IRQ (Interrupt Request) es una señal de un dispositivo de hardware que viaja a través de las líneas IRQ hasta el PIC, el cual a su vez le asigna la prioridad a cada pedido del IRQ.
Ciclo de instruccion
Fases:
1.Fetch: Lee la instrucción de memoria. 2.Decode: Interpreta la instrucción. 3.Fetch Operands: Busca operandos (si aplica). 4.Execute: Ejecuta la instrucción.
Interrupciones:
Solo se atienden al final del ciclo.
El PC y PSW se guardan en la pila antes de atender la interrupción.
- Finalizado el ciclo, se pregunta si hay interrupciones habilitadas:
- Si no están habilitadas, se continúa con la siguiente instrucción y vuelve a empezar el ciclo.
- Si están habilitadas, se pregunta si hay alguna interrupción.
- Si no hay ninguna, se continúa con la siguiente instrucción y vuelve a empezar el ciclo.
- Si hay una interrupción, se la atiende.
Mecanismos de E/S
Métodos:
Polling: CPU verifica constantemente el estado del dispositivo (ineficiente).
Interrupciones: Dispositivo notifica al CPU cuando está listo.
DMA (Direct Memory Access): Transfiere datos directamente a memoria sin involucrar al CPU (evita robo de ciclos de bus).
Problema DMA: “Robo de ciclo de bus” si el CPU y DMA compiten por el bus.
Modos de Ejecución
Modo Usuario:
- Programas de usuario.
- No ejecuta instrucciones privilegiadas ni accede a memoria protegida.
Modo Kernel:
- Ejecución del SO.
- Acceso total a hardware y instrucciones privilegiadas.
Transiciones:
- Usuario → Kernel: Interrupción, syscall.
- Kernel → Usuario: Instrucción privilegiada o restauración de contexto.
Instrucciones
Es la unidad mínima de ejecución.
Privilegiadas:
Manejan recursos de E/S o son instrucciones críticas IO,CLI,STI
Instrucciones No Privilegiadas:
MOV,ADD,JMP
System Calls (Syscalls)
Mecanismo para que programas soliciten servicios al SO (ej: leer archivos).
Tipos:
- Bloqueantes: el proceso actualmente en ejecución se bloquea (ej: read()).
- No bloqueantes: el proceso actualmente en ejecución no se bloquea (ej: write()).
Wrappers:
- Funciones de biblioteca (ej: malloc()) que abstraen syscalls.
- Ventajas: Portabilidad, seguridad, facilidad de uso.
Procesamiento de Interrupciones
Pasos:
Dispositivo genera interrupción.
CPU termina la instrucción actual.
Guarda PC y PSW en la pila.
Ejecuta la rutina de atención (handler).
Restaura contexto y retoma ejecución.
Prioridad:
Interrupciones anidadas si una nueva es de mayor prioridad.
Componentes de un SO
Se compone de:
- Kernel.
- Syscalls.
- Bibliotecas del sistema: encapsulan las syscalls para no caer en problemas de más bajo nivel.
- Aplicaciones utilitarias: compiladores, debuggers, interfaz gráfica, comandos, etc.
- Aplicaciones de usuario.