Post on 31-May-2020
268
270
272
- IRQ (Interruption Request): utilizada para informar o SO (CPU) quando o dispositivo completou alguma operação - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada
275
E/S independente do dispositivo
E/S à nível de usuário
Drivers de dispositivos
driver SCSI
driver IDE
driver rede
Hardware
message msg; /* buffer de msg */ IO_task() { int r, caller; initialize; while (true) { RECEIVE(any, &msg); caller = msg_source(); switch(msg.type) { case read: r = do_read(); break; case write; r = do_write(); break; case other: r = do_other(); break; default: r = error; } } }
287
http://www.ranish.com/part/primer.htm
http://www.sm.luth.se/csee/courses/smd/149/05-06/
291 292
293
296
297 298
299 300
301 302
303 304