Modos de controlar I/O

Hay tres modos:

  • Control por programa

    • Un programa ejecutándose en la CPU tiene acceso al dispositivo

    • Le pregunta al controlador del dispositivo si está disponible

    • La CPU espera hasta que recibe respuesta de que está preparado (espera activa)

  • Control por IRQ

    • El controlador del dispositivo se encarga de avisar a la CPU cuándo está disponible

    • Manda una señal que 'obliga' a la CPU a dejar lo que estaba haciendo (en cuanto pueda) y prestar atención

    • Esas señales se llaman interrupciones hardware

    • Son asíncronas (las interrupciones software y las excepciones son síncronas)

    • Operaciones a hacer

      • cambiar de modo usuario a modo supervisor

      • guardar en memoria los valores de los registros del procesador asociados al programa que se estaba ejecutando

      • identificar la fuente de la interrupción

      • ejecutar la rutina de servicio de la interrupción

      • cargar en los registros del procesador los valores almacenados anteriormente para poder continuarlo

  • Control por DMA

    • Interacción directa entre el dispositivo y la memoria

    • La CPU es 'puenteada' para no darle trabajo. Solo interviene al principio y al final del proceso

    • Hay un hardware que la ayuda, el controlador DMA

    • Al terminar el proceso, el controlador DMA genera una interrupción para ser atendido

    • Aunque libera a la CPU, compite con ella por el bus de datos. Hay distintas estrategias DMA para coordinar el controlador y la CPU su uso

  • Por procesador auxiliar para hacer canales I/O

Última actualización