COMUNICACIÓN CON CPU ¿Qué es un controlador? ¿Por qué tipo de registros está formado?
Es un programa que permite la comunicación entre el sistema operativo y un dispositivo de hardware.
Traduce las órdenes y gestiona las señales.
⚠️ ¡CUIDADO! Es una parte de circuitería
control: le dicen al dispositivo qué hacer (por ejemplo: empezar, parar, reiniciar).estado: muestran cómo está el dispositivo (por ejemplo: listo, ocupado, error).datos: sirven para enviar o recibir información (por ejemplo: las letras que escribes en un teclado).Es lo que contiene la lógica de entrada y salida.
COMUNICACIÓN CON CPU ¿Cuál es la diferencia principal entre controlador y driver?
controlador es la circuitería que gestiona la comunicación interna del periférico.driver es el software que permite que el sistema operativo use el dispositivo.COMUNICACIÓN CON CPU ¿De que tres maneras mantenemos actualizado un controlador?
driver desde la web oficial del fabricante.firmware del dispositivo si es necesario.actualización automática del sistema operativo.COMUNICACIÓN CON CPU Define IRQ, ISR, PIC, vector OFFSET, tabla de vectores y drivers
IRQ: (Interruption Request); Son señales que envían los dispositivos para pedir atención al CPU.
ISR / INTERRUPT HANDLER (Interrupt Service Routine): Rutina que se ejecuta cuando la CPU recibe una IRQ, procesando la interrupción.
PIC (Programmable Interrupt Controller): Chip que gestiona las IRQ y las asigna a un vector OFFSET.
vector OFFSET: Es un número que indica la dirección donde está la ISR correspondiente en la tabla.
tabla de vectores: Contiene las direcciones de todas las ISR, cada una identificada por su vector OFFSET.
driver: Software que registra su ISR en la tabla para que el sistema pueda atender las interrupciones del dispositivo.
🩷🩷🩷
Cuando un dispositivo necesita atención envía una IRQ al CPU; el PIC recibe esa señal y la traduce en un vector OFFSET, que apunta a la dirección de la ISR (Interrupt Service Routine) en la tabla de vectores; el driver del dispositivo ya ha registrado su ISR ahí, de modo que cuando la CPU consulta ese vector, ejecuta la rutina correspondiente para procesar la interrupción.”
COMUNICACIÓN CON CPU ¿Qué ocurre cuando la CPU está procesando una instrucción y recibe una IRQ? ¿Y qué pasa al final?
IRQ mientras ejecuta una instrucción, guarda el estado actual (contexto) para no perder la ejecución.ISR indicada en la tabla de vectores y atiende la interrupción.ISR, la CPU restaura el estado guardado y continúa la instrucción que estaba ejecutando.COMUNICACIÓN CON CPU ¿Qué tres tipos de interrupciones existen? ¿Son 🟢síncronas o 🔴asíncronas?
🔴 Interrupciones de hardware → asíncronas.
- Vienen de dispositivos externos (teclado, ratón, red…).
- Son asíncronas porque llegan en cualquier momento, sin relación con la instrucción que ejecuta la CPU.
- Ejemplo: el teclado genera una IRQ al pulsar una tecla.
🟢 Interrupciones de software → síncronas.
- Generadas por el propio programa al ejecutar una instrucción especial (int).
- Son síncronas porque ocurren justo al ejecutar esa instrucción.
- Ejemplo: una llamada al kernel para abrir un archivo.
🟢 Excepciones → síncronas.
- Son eventos producidos por errores o condiciones internas de la CPU.
- También son síncronas porque dependen directamente de la instrucción que se ejecuta.
- Ejemplo: división por cero o fallo de página.
📌 Diferencia clave:
- 🔴Síncronas = ligadas a la instrucción que corre la CPU.
- 💚Asíncronas = externas, pueden llegar en cualquier momento.”
COMUNICACIÓN CON CPU ¿Qué son las interrupciones 0x21H y 0x80H?
0x21H: Interrupción usada en DOS¹ para acceder a servicios del sistema operativo (leer teclado, escribir en pantalla, gestionar archivos).0x80H: Interrupción usada en Linux para pedirle algo al kernel (hoy en día es mucho más usadajsyscalls).¹ DOS (Disk Operating System): sistema operativo antiguo, de línea de comandos, usado antes de Windows para ejecutar programas y gestionar archivos.
COMUNICACIÓN CON CPU ¿Para qué sirve el chip DMA?
El chip DMA (Direct Memory Access) permite que ciertos dispositivos accedan directamente a la memoria sin pasar por la CPU.
- Libera a la CPU de tareas de transferencia de datos.
- Aumenta la eficiencia en operaciones como mover datos entre disco y memoria o entre tarjetas de red y memoria.
EJEMPLOS 🧠
Cuando escuchamos un 💽 cd de música en el ordenador o transferimos 📸📹 fotos o videos de un usb directamente.
COMUNICACIÓN CON CPU ¿Qué son las instrucciones IN y OUT? ¿Y los puertos?
INSTRUCCIONES IN y OUT sirven para mover datos entre la CPU y los puertos de entrada/salida (E/S)PUERTOS de E/S son direcciones especiales que conectan la CPU con los periféricos (distintas de la memoria).La CPU usa:
- IN → lee datos de un puerto.
- OUT → envía datos a un puerto.
COMUNICACIÓN CON CPU ¿En qué consisten las técnicas Port-mapped y Memory Mapped?
Port-mapped: dispositivos usan puertos hardware separados y se accede con instrucciones especiales (IN, OUT).
Memory-mapped: los dispositivos se controlan usandodirecciones de memoria normales, como si fueran parte de la RAM.
Ejemplo Port-mapped: impresora con puerto propio.
Ejemplo Memory-mapped: tarjeta gráfica controlada como memoria.
PERIFÉRICOS ¿Qué son los adaptadores U.2?
Los adaptadores U.2 son conectores que permiten usar discos SSD rápidos (generalmente NVMe) para SERVIDORES.
RAID Define RAID 0. ¿Cómo se le conoce? ¿Cuál es su capacidad neta? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta? ¿Cuál es su fórmula?
Striping: porque los datos se dividen en “tiras” (stripes) y se escriben repartidos entre los discos.Mínimo: 2 discos → se necesitan al menos dos unidades para poder repartir la información en paralelo.redundancia, ni es tolerante a fallos → si un disco falla, se pierde toda la información porque cada archivo está partido en todos los discos.0 fallos → basta que un disco falle para que el RAID completo quede inutilizable.tiras, mejorando el rendimiento → al escribir/leer en varios discos a la vez, la velocidad de lectura y escritura aumenta.Fórmula: n × capacidad del disco más pequeño → la capacidad útil es la suma de todos los discos, limitada por el de menor tamaño (si usas discos de 1 TB + 2 TB → 2 TB útiles, porque el de 2 TB se ajusta al de 1 TB).RAID Define RAID 1. ¿Cómo se le conoce? ¿Cuál es su capacidad neta? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta? ¿Cuál es su fórmula?
Mirroring: porque los datos se escriben idénticos en dos discos → uno es el espejo del otro.Mínimo: 2 discos → hace falta al menos uno para los datos y otro para su copia exacta.paridad, pero es tolerante a fallos → RAID 1 no calcula bits de paridad; la tolerancia se logra porque si un disco falla, el otro conserva todos los datos.1 fallo → si se rompe un disco, el otro mantiene la información íntegra.Fórmula: (n × capacidad disco) ÷ 2 → la mitad del espacio se pierde porque un disco es copia del otro; ej: 2 discos de 1 TB → 1 TB útil.RAID Define RAID 2. ¿Que tipo de código utiliza? ¿Como es su paridad? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta?
Hamming-Code para corregir errores → emplea códigos de corrección de errores (ECC) basados en Hamming para detectar y corregir fallos en los bits leídos.paridad → se necesitan discos adicionales que solo almacenan la información de paridad, que sirve para reconstruir los datos originales si ocurren errores.Mínimo: 3 o más discos → al menos 1 disco para los bits de paridad y 2 discos para los datos.capacidad depende del código Hamming → parte de los discos se dedica únicamente a paridad, por lo que la capacidad útil es menor y varía con el número de discos de paridad requeridos.RAID Define RAID 3. ¿Cómo es su Paridad ? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta? ¿Cuál es su fórmula?y
Byte-level: reparte cada byte de los datos entre los discos, lo que permite leer/escribir varias partes de un mismo dato en paralelo.1 disco dedicado a paridad: uno de los discos se usa únicamente para guardar la información de paridad que sirve para reconstruir datos en caso de fallo.Mínimo: 3 discos → hacen falta al menos 2 discos para los datos y 1 disco extra solo para la paridad.1 fallo → si un disco se estropea, la información puede reconstruirse con los demás discos y el de paridad.paridad distribuida, usa un disco específico para ello, lo que simplifica la recuperación pero crea un posible cuello de botella en ese disco.Fórmula: (n − 1) × capacidad disco más pequeño → porque un disco completo se dedica a la paridad y no aporta capacidad neta, quedando la suma del resto como espacio útil.RAID Define RAID 4.¿Cómo es su paridad? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta? ¿Cuál es su fórmula?
Block-level → los datos se parten en bloques completos y cada bloque se escribe en un disco distinto, lo que permite lecturas en paralelo.1 disco dedicado a paridad → un disco se reserva exclusivamente para almacenar la información de paridad.Mínimo: 3 discos → se necesitan al menos 2 discos para los datos y 1 disco adicional solo para la paridad.1 fallo → si un disco de datos falla, la información puede reconstruirse utilizando el disco de paridad y los demás discos sanos.Fórmula: (n − 1) × capacidad disco más pequeño → la capacidad útil se reduce porque uno de los discos se dedica por completo a la paridad.RAID Define RAID 5. ¿Cómo es su paridad ? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta? ¿Cuál es su fórmula?
Block-level: reparte los bloques de datos entre todos los discos, lo que permite lecturas en paralelo y mejora el rendimiento.entre todos los discos: en lugar de usar un único disco para paridad (como en RAID 4), la información de paridad se reparte entre todos los discos, evitando un cuello de botella.Mínimo: 3 discos → se necesitan al menos 2 discos para los datos y 1 para la paridad distribuida.1 fallo → si un disco se daña, los datos se pueden reconstruir gracias a la paridad almacenada en los demás discos.Fórmula: (n − 1) × capacidad del disco más pequeño → se pierde el espacio equivalente a un disco porque esa parte se usa para la paridad; ej: 3 discos de 1 TB → 2 TB útiles.RAID Define RAID 6. ¿Cómo es su paridad? ¿Cuántos discos tiene como mínimo? ¿Cuántos fallos soporta? ¿Cuál es su fórmula?
Block-level: reparte los bloques de datos entre todos los discos, lo que permite lecturas en paralelo y mejora la velocidad de acceso.DOBLE paridad distribuida: guarda dos conjuntos de información de paridad repartida entre todos los discos, lo que aumenta la seguridad.Mínimo: 4 discos → se necesitan al menos dos discos para los datos y otros dos para las paridades.2 fallos → aunque fallen dos discos al mismo tiempo, los datos pueden reconstruirse gracias a la doble paridad.Fórmula: (n − 2) × capacidad disco más pequeño → se utilizan dos discos para paridad, por lo que el espacio útil es el total menos la capacidad de dos discos.RAID ¿Cuáles son las fórmulas para calcular la capacidad neta en cada RAID?
0: n × capacidad disco más pequeño.1: (n × capacidad disco más pequeño) / 2.2: depende del código Hamming.3: (n − 1) × capacidad disco más pequeño.4: (n − 1) × capacidad disco más pequeño.5: (n − 1) × capacidad disco más pequeño.6: (n − 2) × capacidad disco más pequeño.RAID ¿En qué consiste RAID 0+1?
striping y mirroring.striping, luego espejo de los conjuntos.Mínimo: 4 discos.RAID ¿En qué consiste RAID 1+0?
espejos, luego se hace striping entre ellos.Mínimo: 4 discos.RAID ¿En qué consiste la técnica JBOD?
RAID: discos independientes agrupados como uno solo.redundancia ni mejora de rendimiento.Mínimo: 1 disco.fallos.VISUALIZACIÓN Y DIGITALIZACIÓN ¿Qué tipos de pantallas hay? Explica brevemente cada una.
CRT (Cathode Ray Tube): Tubo de rayos catódicos. Voluminosas y con alto consumo.LCD (Liquid Crystal Display): Pantalla de cristal líquido. Finas y ligeras.LED (Light Emitting Diode): Variante de LCD con retroiluminación LED. Mejor brillo.OLED (Organic Light Emitting Diode): Cada píxel emite luz. Mejor contraste y colores.VISUALIZACIÓN Y DIGITALIZACIÓN ¿En qué consiste trabajar con imágenes usando las técnicas raster scan o vectorial?
Raster scan: para dibujar imágenes en un monitor usando píxeles, recorriendo línea por línea (fotos y vídeos).
Vectorial: para dibujar imágenes en un monitor usando formas geométricas (líneas, curvas y polígonos), ideal para gráficos precisos como planos y logos.