sisop2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - vetor de interrupção: contém ponteiros...
TRANSCRIPT
![Page 1: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/1.jpg)
268
270
![Page 2: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/2.jpg)
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
![Page 3: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/3.jpg)
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; } } }
![Page 4: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/4.jpg)
287
http://www.ranish.com/part/primer.htm
![Page 5: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/5.jpg)
http://www.sm.luth.se/csee/courses/smd/149/05-06/
291 292
293
![Page 6: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/6.jpg)
296
297 298
299 300
![Page 7: SisOp2012 - inf.pucrs.brzorzo/so/so-aula1920.pdf · - Vetor de interrupção: contém ponteiros para as rotinas que são executadas quando uma interrupção é gerada 275 . E/S independente](https://reader035.vdocuments.pub/reader035/viewer/2022070716/5eda72d9b3745412b5715bf3/html5/thumbnails/7.jpg)
301 302
303 304