Sistemas operativos modernos

guardada en la memoria, la controladora tendría que ponerla en algún lado. Si el bus está muy ocupado, la controladora tendría que guardar provisionalmente un buen número de palabras y realizar muchas tareas administrativas. En cambio, si el bloque se coloca en un búfer inter­ no, el bus no se requerirá sino hasta que se inicie el DMA, así que el diseño de la controladora es mucho más sencillo porque la transferencia a la memoria por DMA no depende del tiempo de manera crucial. (Algunas controladoras antiguas sí efectuaban ia transferencia directa a la memoria sin usar mucho el pequeño búfer interno, pero cuando el bus estaba muy ocupado po­ día suceder que la transferencia se suspendiera con un error de desbordamiento.) No todas las computadoras usan DMA. El argumento en contra es que la CPU principal a menudo es mucho más rápida que la controladora DMA y puede realizar la tarea en mucho me­ nos tiempo (cuando el factor limitante no es la rapidez del dispositivo de E/S). Si la CPU (rá­ pida) no tiene otra cosa que hacer, no tiene caso hacer que espere a que termine la controladora DMA (lento). Además, prescindir de la controladora DMA y dejar que la CPU realice todo el trabajo en software ahorra dinero, lo cual es importante en las computadoras integradas (en diversos aparatos electrónicos, vehículos, etcétera). 5.1.5 Repaso de interrupciones En la lección 1.4.3 presentamos en forma breve las interrupciones, pero el lema es más extenso. En una computadora personal típica, la estructura de interrupciones se parece a la de la figura 5-5. En el nivel del hardware, las interrupciones operan como sigue. Cuando un dispositivo de E/S termina el trabajo que se le encomendó, causa una interrupción (suponiendo que el sistema operativo ha habilitado las interrupciones). Esto lo hace aplicando una señal a una línea de bus que se le haya asignado. El chip controlador de interrupciones en la tarjeta matriz detecta esta señal y decide qué hacer. CPU 3 La CPU Controladora de 'acusa interrupciones interrupción 1. El dispositivo termina 2. La controladora emite una interrupción L Disco — k Reloj Impresora Bus Figura 5-5. Forma en que se genera una interrupción. Las conexiones entre los dis­ positivos y la controladora de interrupciones en realidad usan líneas del bus en lu­ gar de cables dedicados. Si no hay otras interrupciones pendientes, la controladora de interrupciones procesa la in­ terrupción de inmediato. Si hay otra pendiente, o si otro dispositivo presentó una solicitud si­ multánea en una línea de solicitud de interrupción de más alta prioridad en el bus, el dispositivo

RkJQdWJsaXNoZXIy MjI4NDcx