Bacharelado em Ciência da Computação Sistemas Operacionais

Documentos relacionados
Sistemas de Entrada e Saída

Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006

Entrada e Saída e Dispositivos

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 19. Sistema de Entrada/Saída

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Gerência de Entrada e Saída

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

SSC0640 Sistemas Operacionais I

Organização de Computadores

Sistemas de Entrada e Saída

Sistemas Operacionais. Sistema de entrada e Saída

Sistemas de Entrada e Saída

Sistemas Opera r cionais Sistemas de E/S 1

Gerenciamento de Entrada e Saída. Ciclo 6 AT1. Prof. Hermes Senger

Cap. 12 Gerência de Dispositivos 1

Fundamentos de Sistemas Operacionais

PCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca

SSC0611 Arquitetura de Computadores

Organização e Arquitetura de Computadores I

Arquitetura de Computadores. Revisão Volnys Bernal. Agenda. Revisão: Arquitetura de Computadores. Sobre esta apresentação

Periféricos possuem características diferentes. Periféricos são mais lentos que UCP e Memória Necessita-se de módulos de Entrada/Saída


Problemas com Entrada e Saída

Organização e Arquitetura de Computadores I

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Dispositivos de Entrada e Saída

Sistemas Operacionais

Arquitetura de Computadores

Aula 03 - Concorrência. por Sediane Carmem Lunardi Hernandes

Notas da Aula 14 - Fundamentos de Sistemas Operacionais

Entrada. Saída. Entrada e Saída. Sistemas Operacionais

Entrada e Saída (E/S)

Dispositivos de Entrada e Saída

Introdução ao Gerenciamento de Entrada e Saída (E/S)

Entrada e Saída. Tópicos de E/S

Barramento. Prof. Leonardo Barreto Campos 1

Capítulo 13: Sistemas de E/S. Operating System Concepts 8 th Edition

Organização de Computadores 1

Revisão Ultimas matérias

Capítulo 13: Sistemas de E/S. Operating System Concepts 8th Edition

ENSINO À DISTÂNCIA UNIDADE IV

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Entrada e saída Introdução hardware de E/S

Arquitetura e organização de computadores

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

Introdução a Tecnologia da Informação

Estrutura de Sistemas Operacionais. Capítulo 1: Introdução

Aula 25: E/S: Controladoras, Mapeamentos e Técnicas

Gerência de Dispositivos. Adão de Melo Neto

Sistemas Operacionais. Entrada/Saída

Curso Técnico de Nível Médio

BARRAMENTO DO SISTEMA. Adão de Melo Neto

Arquitetura e Organização de Computadores

Gerência de Dispositivos. Adão de Melo Neto

Estrutura Básica de um Computador

Sistemas Operacionais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Barramentos. Alguns sistemas reutilizam linhas de barramento para múltiplas funções; Dados Endereços Controle

Sistemas Operacionais. Rodrigo Rubira Branco

ENTRADA E SAÍDA (I/O)

O Sistema de Computação

Parte I Multiprocessamento

DSC/CEEI/UFCG. Introdução à Computação

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ENTRADA E SAÍDA PROFESSOR CARLOS MUNIZ

Introdução à Computação: Arquitetura von Neumann

4.3 - DMA & Chipset. CEFET-RS Curso de Eletrônica. Profs. Roberta Nobre & Sandro Silva. e

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Hardware. Componentes Básicos e Funcionamento

Disciplina de. Organização de Computadores Digitais

ci212 E/S (i): interface com CPU e SO Entrada e Saída

Organização de Computadores II

Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Sistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia

2ª Lista de Exercícios de Arquitetura de Computadores

Estruturas de Sistemas Operacionais

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Organização de Computadores

Capítulo 7 - Interfaces de Entrada e Saída. Conceito

BARRAMENTOS. Adão de Melo Neto

Módulo 3 - Estrutura e configuração de Sistemas Operativos monoposto

Barramentos. Alberto Felipe Friderichs Barros

Sistemas Operacionais

Sistemas Operacionais

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

Os textos nestas caixas foram adicionados pelo Prof. Joubert

Capítulo 5 Entrada/Saída

E/S de Dados, Controladores e Drivers de Dispositivos. Na Aula Anterior... Nesta Aula. Gerência de Entrada e Saída. Gerência de Entrada e Saída

BARRAMENTOS. Adão de Melo Neto

Nível da Arquitetura do Conjunto das Instruções

Infra-Estrutura de Software

PLACA MÃE COMPONENTES BÁSICOS BIOS

Tecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)

Barramentos e interfaces de comunicação Arquitetura e Organização de Computadores Curso de Análise e Desenvolvimento de Sistemas

Aula 09. Módulos de Entrada e Saída

Transcrição:

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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 1 / 33

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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 2 / 33

Visão Geral de I/O diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 3 / 33

Visão Geral Principais 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 de acesso dos dispositivos ao subsistema de I/O diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 4 / 33

Hardware de I/O diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 5 / 33

Hardware de I/O Dispositivo 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 6 / 33

Controladores ou Adaptadores Controlador 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 que a 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 7 / 33

Controladores: Registradores da Porta de I/O Registrador de Dados possuem geralmente de 1 a 4 bytes de tamanho Alguns controladores possuem buffer FIFO para entrada e saída Registrador Uso Reg. Entrada de Dados Lido pelo processador para obter entrada Reg. Saída de Dados Gravado pelo processador para enviar saída Reg. Estado Bits lidos pelo processador que indicam estado: comando corrente foi completado, byte está disponível para ser lido no reg. de entrada, ocorrência de erros no dispositivo Reg. Controle Gravado pelo processador para iniciar comando ou mudar modalidade do dispositivo (configuração) Através deste registradores SO pode comandar o dispositivo para entregar ou aceitar 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 8 / 33

Controladores: I/O Mapeada em Porta (PMIO) Instruções especiais de I/O especificam transferência de byte/palavra para um endereço ou porta de I/O (instruções in, inb, inw, inl e out, outb, outw, outl do assembly 1 ) 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 paralela MOV DX,0378H MOV AL,10H OUT DX,AL Exemplo em C (apenas MS-DOS) #include <dos.h> outportb(0x378,0x10); 1 Ver listagem de portas em http://wiki.osdev.org/i/o_ports diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 9 / 33

Controladores: I/O Mapeada em Memória (MMIO) Registradores do controlador são mapeados no espaço de endereçamento do processador CPU executa solicitação de I/O usando instruções padrão de transferência para ler 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 à uma modificação acidental Risco é reduzido com uso de memória protegida diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 10 / 33

Controladores: PMIO e MMIO juntos Alguns 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údo das 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 emitir milhões de instruções de I/O Outros dispositivos podem tirar vantagem deste mapeamento, como por exemplo dispositivos geradores de som desde que tenham seus buffers mapeados na memória diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 11 / 33

Mecanismos de I/O diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 12 / 33

Mecanismo: Pooling Interação entre processador e controlador é de responsabilidade do programador 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 13 / 33

Mecanismo: Pooling (Exemplo 01) Processador grava string de bytes no dispositivo via controlador usando pooling Registradores: entrada, saída, estado, comandos Registrador de Estado Bit Significado Ocupado Dispositivo ocupado atendendo requisição de I/O Comando-Pronto Comando e argumentos definidos para operar Erro 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 no registrador 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ída para obter byte; executa I/O no dispositivo (6) Controlador desliga bit comando-pronto; desliga bit erro no registrador de estados e desliga bit ocupado diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 14 / 33

Mecanismo: Pooling (Exemplo 02) Processo de usuário deseja gravar ABCDEFGHI na impressora Pooling (1) Processo solicita impressora usando chamada de sistemas. Se estiver livre, processo toma impressora; caso contrário fica bloqueado; (2) SO copia buffer ABCDEFGHI do espaço do usuário para espaço do kernel (pdados) (3) Processo espera impressora ficar disponível (MMIO) (4) SO copia i-ésimo caracter de pdados para registrador de dados da impressora (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(); diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 15 / 33

Mecanismo: Interrupções Pooling é 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 de sinal de interrupção do controlador (2) Quando detectar que algum controlador gerou sinal, CPU salva estado e salta para rotina de tratamento de interrupções em endereço conhecido (3) Manipulador de interrupções determina causa e executa processamento necessário (4) Manipulador de interrupções restaura o estado da CPU e retorna para execuçã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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 16 / 33

Mecanismo: Interrupções Ciclo de I/O dirigido por interrupções Mecanismo básico habilita CPU a responder a eventos assíncronos diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 17 / 33

Mecanismo: Interrupções Computadores 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 ou desabilitar interrupções mascaráveis (ex: seção crítica) IF (interrupt flag) CLI (clear interrupt bit) STI (set interrupt bit) diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 18 / 33

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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 19 / 33

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 sem desmascarar todas as interrupções Interrupção de alta prioridade pode interceptar execução de interrupção de baixa prioridade Resumo: como funcionam as interrupções diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 20 / 33

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 e destino, e contador de bytes a transferir) (2) CPU informa endereço do bloco para o controlador de DMA, e prossegue com 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 principal durante uso do barramento de memória No entanto, CPU ainda pode acessar itens em cache diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 21 / 33

Mecanismo: DMA (Direct Memory Access) Transferência DMA passo a passo diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 22 / 33

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) diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 23 / 33

Interfaces de I/O diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 24 / 33

Interface de I/O da Aplicação Estrutura de I/O do kernel Bloco ou caractere Aleatório ou sequencial Síncrono ou assíncrono Compartilhado ou dedicado 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 25 / 33

Dispositivos de Blocos Transferem 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 interface de sistema de arquivos. No Linux, são dispositivos de bloco comuns (/dev) Arquivo fd0 hda hda3 sda sda1 sr0 Dispositivo Primeira unidade de disquetes Disco rígido IDE / CD-ROM na primeira porta IDE Terceira partição do primeiro disco rígido IDE Disco rígido SCSI Primeira partição do primeiro disco rígido SCSI 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 26 / 33

Dispositivos de Caracteres Transferem 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 interface de sistema de arquivos. No Linux, são dispositivos de caracter comuns (/dev) Arquivo ttys0 psaux lp0 audio Dispositivo Porta serial COM1 Mouse PS/1 Porta paralela LPT1 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 diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 27 / 33

Ciclo de Vida de Solicitação de I/O diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 28 / 33

Ciclo de Vida de Solicitações de I/O Ciclo de I/O típico de leitura com bloqueio, da requisição ao atendimento 1 Processo emite chamada de sistema com bloqueio 2 Kernel verifica se parâmetros estão corretos. Se for entrada com resultado disponível, retorna para processo e encerra 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/O repassa solicitação para o driver. 4 Driver aloca espaço no buffer do kernel para receber os dados. Driver envia comando para controlador de dispositivo através de seus registradores 5 Controlador do dispositivo opera o hardware e transfere dados diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 29 / 33

Ciclo de Vida de Solicitações de I/O Ciclo de I/O típico de leitura com bloqueio, da requisição ao atendimento 6 Driver pode fazer pooling no dispositivo ou solicitar DMA no buffer do kernel, gerando interrupção no término. 7 Interrupt handler recebe interrupção, armazena dados necessários, notifica driver e retorna da interrupção. 8 Driver recebe sinal, encerra a solicitação corrente, informa ao subsistema que I/O terminou. 9 Kernel transfere dados para espaço de endereçamento do processo. Processo volta a fila de prontos. 10 Processo desbloqueado ao retornar para fila de prontos. Quando for escalonado para usar CPU ele retornará a execução no término da chamada de sistema. diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 30 / 33

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 de execução de uma chamada de sistema para enviar dados para a impressora. Localize no diagrama onde se processam as chamadas de sistema, os drivers de dispositivo, a comunicação entre o driver e os controladores, o mecanismo de I/O, e os tratadores de interrupção. 5 Faça um diagrama resumido explicando passo a passo o ciclo de vida de uma requisição de I/O para leitura de um bloco de bytes em um dispositivo de blocos diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 31 / 33

Referências Bibliográficas diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 32 / 33

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. diego.silva@ifmg.edu.br (IFMG) Sistemas Operacionais 27 de março de 2014 33 / 33