33
fig/logo-ifmg Bacharelado em Ciência da Computação Sistemas Operacionais Prof. Diego Mello da Silva Instituto Federal de Minas Gerais - Campus Formiga 27 de março de 2014 [email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 1 / 33

Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

  • Upload
    lydang

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Bacharelado em Ciência da ComputaçãoSistemas Operacionais

Prof. Diego Mello da Silva

Instituto Federal de Minas Gerais - Campus Formiga

27 de março de 2014

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 1 / 33

Page 2: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Sumário

1 Visão Geral de I/O

2 Hardware de I/O

3 Interfaces de I/O

4 Ciclo de Vida de Solicitação de I/O

5 Referências Bibliográficas

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 2 / 33

Page 3: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Visão Geral de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 3 / 33

Page 4: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Visão GeralPrincipais tarefas de um sistema computacional são I/O e processamento

Gerência de I/O: controle de operações e dispositivos de I/O

Dispositivos de I/O variam em função e velocidade

Dispositivos de Armazenamento

Dispositivos de Comunicação

Dispositivos de Interação Humana

São necessários diferentes métodos para controlá-los

Tais métodos foram o subsistema de I/O

Subsistema separa o Kernel dos dispositivos de I/O

Hardware de I/O: portas, barramentos e controladores de dispositivos

Tais elementos suportam grande variedade de dispositivos de I/O

Drivers de dispositivo : módulos que apresentam uma interface uniforme deacesso dos dispositivos ao subsistema de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 4 / 33

Page 5: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Hardware de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 5 / 33

Page 6: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Hardware de I/ODispositivo comunica-se com sistema enviando sinais através de cabos ou ar

Comunicação com a máquina: portas ou barramentos

Barramentos: Conjunto de fios em comum + protocolo de mensagens

Exemplo de Barramento: PCI (Peripheral Component Interconnect) Bus

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 6 / 33

Page 7: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Controladores ou AdaptadoresControlador de Dispositivo: componentes eletrônicos que operam porta ou bus

Composto normalmente por

Processador ou microcontrolador

Microcódigo

Memória

É comum ser encontrado na forma de uma placa de circuito impresso que éinserida em slots de expansão ou embutidos em seus dispositivos de I/O

Processador principal deve enviar comandos e dados a um controlador para quea transferência de I/O se realize

Controlador possui registradores para dados e sinais de controle

Processador lê/escreve padrões de bits nestes registradores

Formas de realizar comunicação (i.e., como processador ‘enxerga’ controlador)

(PMIO) Instruções especiais de I/O para mover byte/palavra para end. de I/O

(MMIO) Mapeando registradores no espaço de endereço do Processador

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 7 / 33

Page 8: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Controladores: Registradores da Porta de I/ORegistrador de Dados possuem geralmente de 1 a 4 bytes de tamanho

Alguns controladores possuem buffer FIFO para entrada e saída

Registrador UsoReg. Entrada de Dados Lido pelo processador para obter entradaReg. Saída de Dados Gravado pelo processador para enviar saídaReg. Estado Bits lidos pelo processador que indicam estado: co-

mando corrente foi completado, byte está disponível paraser lido no reg. de entrada, ocorrência de erros no dis-positivo

Reg. Controle Gravado pelo processador para iniciar comando ou mu-dar modalidade do dispositivo (configuração)

Através deste registradores SO pode comandar o dispositivo para entregar ouaceitar dados, ligar/desligar dispositivo, ou executar tarefas.

Tais registradores são usados nas duas modalidades de comunicação

(PMIO) Instruções especiais de I/O para mover byte/palavra para end. de I/O

(MMIO) Mapeando registradores no espaço de endereço do Processador

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 8 / 33

Page 9: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Controladores: I/O Mapeada em Porta (PMIO)Instruções especiais de I/O especificam transferência de byte/palavra para umendereço ou porta de I/O (instruções in, inb, inw, inl e out, outb,outw, outl do assembly1)

in _Registrador, _Porta ou out _Porta, _Registrador

Instrução aciona linhas do barramento para selecionar dispositivo

Instruções movimentam dados para dentro e para fora dos registradores

Exemplo em ASM:

; Escreve 0x10 porta paralelaMOV DX,0378HMOV AL,10HOUT DX,AL

Exemplo em C (apenas MS-DOS)

#include <dos.h>

outportb(0x378,0x10);1Ver listagem de portas em http://wiki.osdev.org/I/O_Ports

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 9 / 33

Page 10: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Controladores: I/O Mapeada em Memória (MMIO)Registradores do controlador são mapeados no espaço de endereçamento doprocessador

CPU executa solicitação de I/O usando instruções padrão de transferência paraler e gravar nos registradores do controlador. Exemplo:

mov _Endereco, _Valor

onde _Endereco guarda o endereço associado à porta de I/O

Registradores de controle são apenas ‘variáveis’ na memória

Vantagens:

Podem ser endereçados em C da mesma maneira que qualquer variável

Driver de dispositivo de I/O poderia ser escrito totalmente em C

Desvantagem:

Registrador de dispositivo mapeado em memória é vulnerável à umamodificação acidental

Risco é reduzido com uso de memória protegida

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 10 / 33

Page 11: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Controladores: PMIO e MMIO juntosAlguns sistemas usam tanto PMIO quanto MMIO

Exemplo: Personal Computers (PCs) controlando vídeo

Usa portas de I/O para operações básicas de controle

Possui grande região mapeada em memória para armazenar conteúdodas telas (memória de vídeo / frame buffer)

Processo grava dados nesta região mapeada em memória

Controlador gera imagem na tela de acordo com conteúdo desta memória

Vantagem

Técnica simples de usar

Gravar milhões de bytes na memória de vídeo é mais rápido que emitirmilhões de instruções de I/O

Outros dispositivos podem tirar vantagem deste mapeamento, como porexemplo dispositivos geradores de som desde que tenham seus buffersmapeados na memória

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 11 / 33

Page 12: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismos de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 12 / 33

Page 13: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: PoolingInteração entre processador e controlador é de responsabilidade doprogramador

Também conhecido como inquirição ou I/O programada

Ciclo de funcionamento:

(1) Envio de comando ao controlador

(2) Espera operação ser realizada

Usa registrador de estado para verificar operação pendente

Desvantagem

Ocorrência de busy waiting (espera ociosa)

Segura a CPU o tempo todo até a operação de I/O ser realizada

Frequência de pooling alta ∼ desperdício de tempo

Frequência de pooling baixa ∼ esperas desnecessárias/perda de dados

Ineficiente devido à ocorrência de busy waiting enquanto ocorre operação de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 13 / 33

Page 14: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: Pooling (Exemplo 01)Processador grava string de bytes no dispositivo via controlador usando pooling

Registradores: entrada, saída, estado, comandos

Registrador de EstadoBit SignificadoOcupado Dispositivo ocupado atendendo requisição de I/OComando-Pronto Comando e argumentos definidos para operarErro Sinaliza ocorrência de erro no I/O

Handshaking (repetido para cada byte da string)

(1) Processador lê bit ocupado repetidamente até estar desligado (pooling )

(2) Processador seta bit gravar no registrador de comandos e escreve byte noregistrador de saída

(3) Processador seta bit comando-pronto

(4) Controlador lê bit comando-pronto ligado e seta bit ocupado

(5) Controlador lê registrador de comandos e lê gravar ; lê registrador de saídapara obter byte; executa I/O no dispositivo

(6) Controlador desliga bit comando-pronto ; desliga bit erro no registradorde estados e desliga bit ocupado

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 14 / 33

Page 15: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: Pooling (Exemplo 02)Processo de usuário deseja gravar ‘ABCDEFGHI’ na impressora

Pooling

(1) Processo solicita impressora usando chamada de sistemas. Se estiverlivre, processo toma impressora; caso contrário fica bloqueado;

(2) SO copia buffer ‘ABCDEFGHI’ do espaço do usuário para espaço dokernel (pDados)

(3) Processo espera impressora ficar disponível (MMIO)

(4) SO copia i-ésimo caracter de pDados para registrador de dados daimpressora (MMIO)

(5) Processo repete etapa (3) até terminar todos os caracteres

Implementação alto-nível

copy_from_user(buffer, pDados, qtdade);for(i = 0; i < qtdade; i++){

while(*printer_status_reg != READY) { /* Busy Waiting */ }

*printer_data_register[i] = pDados[i];}return_to_user();

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 15 / 33

Page 16: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: InterrupçõesPooling é uma técnica ineficiente em virtude da ocorrência de busy waiting

Interrupção : controlador notificar a CPU quando está disponível para serviço

Funcionamento básico

(1) CPU examina linha de solicitação de interrupções da CPU em busca desinal de interrupção do controlador

(2) Quando detectar que algum controlador gerou sinal, CPU salva estado esalta para rotina de tratamento de interrupções em endereço conhecido

(3) Manipulador de interrupções determina causa e executa processamentonecessário

(4) Manipulador de interrupções restaura o estado da CPU e retorna paraexecução antes da interrupção

Controlador provoca a interrupção

CPU captura interrupção

CPU despacha interrupção para manipulador de interrupções

Manipulador de interrupções desliga interrupção ao atender dispositivo

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 16 / 33

Page 17: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: InterrupçõesCiclo de I/O dirigido por interrupções

Mecanismo básico habilita CPU a responder a eventos assíncronos

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 17 / 33

Page 18: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: InterrupçõesComputadores Modernos: Hardware controlador de interrupções

(1) Retardar manipulação de interrupções em processamento crítico

(2) Despachar manipulador de interrupções eficientemente

(3) Distinguir interrupções de prioridade alta e baixa

(1) Retardar manipulação de interrupções durante processamento crítico

Interrupções mascaráveis e não-mascaráveis

Mascaráveis: desligadas pela CPU durante processamento crítico

Não-Mascaráveis: reservadas para erros irrecuperáveis

Arquitetura Intel x86: registrador de flags e comandos para habilitar oudesabilitar interrupções mascaráveis (ex: seção crítica)

IF (interrupt flag)

CLI (clear interrupt bit)

STI (set interrupt bit)

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 18 / 33

Page 19: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: Interrupções(2) Despacho eficiente (sem inquirir dispositivo)

Endereço associado com interrupção

Vetor de interrupções : ponteiro para manipuladores de interrupção

Exemplo: tabela de vetores de interrupção do Intel Pentium

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 19 / 33

Page 20: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: Interrupções(3) Distinguir interrupções por prioridade

Implementa níveis de prioridade de interrupções

CPU autoriza manipulação de interrupções de baixa prioridade semdesmascarar todas as interrupções

Interrupção de alta prioridade pode interceptar execução de interrupção debaixa prioridade

Resumo : como funcionam as interrupções

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 20 / 33

Page 21: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: DMA (Direct Memory Access)Mecanismo usado para grandes transferências de dados (disco, por exemplo)

Libera CPU de verificar estado e alimentar dados nos reg. do controlador

Funcionamento

(1) CPU grava bloco de comando DMA na memória (ponteiro para origem edestino, e contador de bytes a transferir)

(2) CPU informa endereço do bloco para o controlador de DMA, e prosseguecom outra tarefa

(3) Controlador DMA opera no bus de memória sem ajuda da CPU

(4) No término da transferência controlador DMA interrompe CPU

Handshaking DMA - Controlador de dispositivo

Linha DMA-Request : sinaliza palavra disponível para transferência

Linha DMA-Acknowledge : sinaliza que linha de endereço está preenchida

Roubo de ciclos : impedimento momentâneo para acessar memória principaldurante uso do barramento de memória

No entanto, CPU ainda pode acessar itens em cache

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 21 / 33

Page 22: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Mecanismo: DMA (Direct Memory Access)Transferência DMA passo a passo

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 22 / 33

Page 23: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Exercícios (Para Casa)1 Ler as seções 13.2, 13.2.1, 13.2.2 e 13.2.3 de [Silberschatz]

2 Ler as seções 5.1, 5.1.1, 5.1.2, 5.1.3, 5.1.4 e 5.1.5 de [Tanembaum]

3 Ler a seção 5.1 de [Oliveira]

4 Faça uma breve pesquisa sobre

(a) PCI Bus (Peripheral Component Interconnect)

(b) ISA Bus (Industry Standard Architecture)

(c) Tecnologia Plug and Play

(d) interface SCSI (Small Computer System Interface)

5 Explique os seguintes mecanismos de I/O:

Pooling

Interrupções

Direct Memory Access (DMA)

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 23 / 33

Page 24: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Interfaces de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 24 / 33

Page 25: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Interface de I/O da AplicaçãoEstrutura de I/O do kernel

Bloco ou caractere

Aleatório ou sequencial

Síncrono ou assíncrono

Compartilhado oudedicado

Velocidade de operação

R, W, R/W

Dispositivos de I/O devem ser tratados de modo padrão e uniforme (interfaces )

Drivers encapsulam diferenças, mas exportam interfaces padrão

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 25 / 33

Page 26: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Dispositivos de BlocosTransferem blocos de bytes em uma única operação

Exemplos: discos magnéticos, ópticos, pen drives, floppy (armazenamento)

Aplicações normalmente acessam estes dispositivos através de uma interfacede sistema de arquivos. No Linux, são dispositivos de bloco comuns (/dev)

Arquivo Dispositivofd0 Primeira unidade de disqueteshda Disco rígido IDE / CD-ROM na primeira porta IDEhda3 Terceira partição do primeiro disco rígido IDEsda Disco rígido SCSIsda1 Primeira partição do primeiro disco rígido SCSIsr0 Unidade de CD-ROM SCSI

Chamadas de Sistema (além de open() e close())

read(): leitura de bloco

write(): escrita de bloco

seek(): posiciona em bloco específico

Driver é responsável por mapear chamada em operações no dispositivo físico

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 26 / 33

Page 27: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Dispositivos de CaracteresTransferem bytes um a um, em sequência (orientados a fluxo)

Exemplos: teclados (terminal), impressora, modems, mouses, placas de áudio,portas seriais e paralelas

Aplicações normalmente acessam estes dispositivos através de uma interfacede sistema de arquivos. No Linux, são dispositivos de caracter comuns (/dev)

Arquivo DispositivottyS0 Porta serial COM1psaux Mouse PS/1lp0 Porta paralela LPT1audio Placa de som

Chamadas de Sistema (além de open() e close())

get(): lê um caracter

put() escreve um caracter

Driver é responsável por mapear chamada em operações no dispositivo físico

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 27 / 33

Page 28: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Ciclo de Vida de Solicitação de I/O

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 28 / 33

Page 29: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Ciclo de Vida de Solicitações de I/OCiclo de I/O típico de leitura com bloqueio, da requisição ao atendimento

1 Processo emite chamada de sistema combloqueio

2 Kernel verifica se parâmetros estãocorretos. Se for entrada com resultadodisponível, retorna para processo eencerra I/O

3 Caso contrário, executa I/O físico.Processo vai para fila de espera.Solicitação é incluída no scheduling.Quando atendida, subsistema de I/Orepassa solicitação para o driver.

4 Driver aloca espaço no buffer do kernelpara receber os dados. Driver enviacomando para controlador de dispositivoatravés de seus registradores

5 Controlador do dispositivo opera ohardware e transfere dados

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 29 / 33

Page 30: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Ciclo de Vida de Solicitações de I/OCiclo de I/O típico de leitura com bloqueio, da requisição ao atendimento

6 Driver pode fazer pooling no dispositivoou solicitar DMA no buffer do kernel,gerando interrupção no término.

7 Interrupt handler recebe interrupção,armazena dados necessários, notificadriver e retorna da interrupção.

8 Driver recebe sinal, encerra a solicitaçãocorrente, informa ao subsistema que I/Oterminou.

9 Kernel transfere dados para espaço deendereçamento do processo. Processovolta a fila de prontos.

10 Processo desbloqueado ao retornar parafila de prontos. Quando for escalonadopara usar CPU ele retornará a execuçãono término da chamada de sistema.

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 30 / 33

Page 31: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Exercícios (Para Casa)1 Ler as seções 13.3, 13.3.1 e 13.5 de [Silberschatz]

2 Ler as seções 5.3.1, 5.3.2 e 5.3.3 (opcional) de [Tanembaum]

3 Defina os seguintes conceitos:

(a) Driver de dispositivo

(b) Dispositivo de Blocos

(c) Dispositivo de Caracteres

(d) Interrupt handler (tratadores de interrupção)

4 Replique a figura 5.11 de [Tanembaum] e explique com suas palavras o fluxo deexecução de uma chamada de sistema para enviar dados para a impressora.Localize no diagrama onde se processam as chamadas de sistema, os driversde dispositivo, a comunicação entre o driver e os controladores, o mecanismode I/O, e os tratadores de interrupção.

5 Faça um diagrama resumido explicando passo a passo o ciclo de vida de umarequisição de I/O para leitura de um bloco de bytes em um dispositivo de blocos

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 31 / 33

Page 32: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Referências Bibliográficas

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 32 / 33

Page 33: Bacharelado em Ci ncia da Computa o Sistemas …computacao-ifmg.weebly.com/uploads/5/9/4/6/5946176/os-entrada... · Processador ou microcontrolador ... mando corrente foi completado,

fig/logo-ifmg

Referências Bibliográficas

SILBERSCHATZ, Abraham.

Fundamentos de sistemas operacionais. 8a edição

Editora LTC, 2010. ISBN 9788521617471.

OLIVEIRA, R. S. ; CARISSIMI, A. S.; TOSCANI, S. S.

Sistemas Operacionais. 4a. Edição

Editora Bookman. ISBN: 9788577805211.

TANEMBAUM, A. S.

Sistemas Operacionais Modernos. 3a. edição

Editora Pearson Prentice-Hall, 2009. ISBN 978-85-7605-237-1.

[email protected] (IFMG) Sistemas Operacionais 27 de março de 2014 33 / 33