E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO



Documentos relacionados
SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

Sistemas Operacionais Gerência de Dispositivos

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Sistemas Operacionais

SW DE E/S INDEPENDENTE DE DISPOSITIVO

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

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

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Sistemas Operacionais

6 - Gerência de Dispositivos

Sistemas Operacionais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Gerência de Entrada/Saída

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Mecanismo de Interrupção

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Fundamentos de Sistemas Computacionais Introdução

Organização e Arquitetura de Computadores

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Operacionais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

ENTRADA E SAÍDA DE DADOS

Dispositivos de Entrada e Saída

5 Entrada e Saída de Dados:

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Estruturas do Sistema de Computação

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Processos e Threads (partes I e II)

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Arquitetura de Computadores. Tipos de Instruções

ARQUITETURA DE COMPUTADORES

ESTUDO DE CASO WINDOWS VISTA

Uso de interrupções de BIOS/DOS

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

SISTEMAS OPERACIONAIS 2007

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

Sistemas de Arquivos. Arquivos Diretórios Implementação do sistema de arquivos Gerenciamento de espaço em disco

Sistemas Operacionais Processos e Threads

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Arquitetura de Computadores II

Arquitetura e Organização de Computadores I

Sistemas Operacionais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Projeto: Camada Independente de Dispositivo

Introdução aos Sistemas

SISTEMAS OPERACIONAIS

Arquitetura e Organização de Computadores

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Sistemas Operacionais. Prof. André Y. Kusumoto

Visão Geral de Sistemas Operacionais

Geral: Manual de Utilização do Software de Teste Gradual Windows

GUIA DE INSTALAÇÃO PARA DRIVER DE COMUNICAÇÃO USB Versão 2.0 IF ST120 IF ST200 IF ST 2000 IF ST 2500

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Figura 01 Kernel de um Sistema Operacional

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operacionais Cap 2 Estruturas de Sistemas Computacionais

Princípios de funcionamento dos computadores

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Sistema Operacional. Prof. Leonardo Barreto Campos 1

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura Exemplo

Entrada e Saída. Prof. Leonardo Barreto Campos 1

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES DISPOSITIVOS DE ENTRADA E SAÍDA. Prof. Dr. Daniel Caetano

4 Estrutura do Sistema Operacional Kernel

Entrada e Saída (Input/Output)

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Sistemas Operacionais

Organização de Computadores 1

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE

7 Processos. 7.1 Introdução

Sistemas Operacionais

Arquitetura de Sistemas Operacionais

Infraestrutura de Hardware. Entrada/Saída: Comunicação Processador, Memória e E/S

Conceitos de Entrada e Saída

Guia para o Google Cloud Print

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Manual Equipamento ST10 Flasher Rev. 1

Fundamentos de Sistemas Operacionais

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Sistemas Operacionais

Guia de início rápido do Powersuite

Organização e Arquitetura de Computadores

Sistemas Distribuídos

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Computadores - Revisão -

Como obter Ajuda. Mensagens do sistema. Acessar. Ícones do painel de controle

Sistema Operacional Ex: Complexo Computador multiusuário com vários terminais Tem que administrar todos os pedidos de usuários e assegurar que eles

Sistemas Operacionais 2014 Sistema de E/S. Alexandre Augusto Giron

Transcrição:

E/S PROGRAMADA QUANDO A CPU FAZ TODO O TRABALHO RELACIONADO A UMA OPERAÇÃO DE E/S, NO CASO DO PROCESSO QUERER IMPRIMIR (NA IMPRESSORA) ABCDEFGH : ESTES CARACTERES SÃO COLOCADOS EM UMA ÁREA DE MEMÓRIA DO PROCESSO A IMPRESSORA É REQUISITADA NA ABERTURA DE UM ARQUIVO. SE INDISPONÍVEL, CÓDIGO DE ERRO OU BLOQUEIO (DEPENDE DO S.O. E DOS PARÂMETROS) CHAMADA PARA IMPRIMIR OS CARACTERES OS CARACTERES SÃO COPIADOS EM UM BUFFER NO NÚCLEO E/S PROGRAMADA PROCESSO QUER IMPRIMIR (NA IMPRESSORA) ABCDEFGH. IMPRESSORA NÃO TEM UM BUFFER (PODE SER QUE TENHA): 100 CARACTERES / MIN, OU SEJA, 1 CARACTERE / 10 MSEG S.O. VERIFICA SE IMPRESSORA ESTÁ PRONTA, ATRAVÉS DO REGISTRADOR DE STATUS ISTO PODE TER QUE SE REPETIR SE NÃO ESTIVER PRONTA (ESPERA OCUPADA OU POLLING) S.O. COPIA UM CARACTERE POR VEZ PARA O REGISTRADOR DA IMPRESSORA ATRAVÉS DE E/S MAPEADA EM MEMÓRIA CARACTERE É PRODUZIDO NO PAPEL REPETIÇÃO PARA TODA A CADEIA DE CARACTERES E/S USANDO INTERRUPÇÃO AO INVÉS DO POLLING, A CPU ESCALONA OUTRO PROCESSO E A IMPRESSORA A INTERROMPE ASSIM QUE TIVER IMPRESSO UM CARACTERE E ESTEJA PRONTA PARA O PRÓXIMO A ROTINA DE TRATAMENTO DA INTERRUPÇÃO DA IMPRESSORA CONFIRMA O RECEBIMENTO DA INTERRUPÇÃO (PORQUE?), COLOCA O PRÓXIMO CARACTERE OU DESBLOQUEIA O PROCESSO, E VOLTA A PROCESSAR

E/S USANDO DMA INTERRUPÇÕES REQUEREM TEMPO DE CPU PARA CONSEGUIR GANHAR ESSE TEMPO, PODE-SE USAR UM DMA PARA ALIMENTAR OS CARACTERES PARA A IMPRESSORA, SEM ENVOLVIMENTO DA CPU DIMINUI-SE O NÚMERO DE INTERRUPÇÕES PARA UMA ÚNICA NA MAIOR PARTE DAS VEZES, USAR DMA É VANTOJOSO CAMADAS DE SOFTWARE DE E/S ORGANIZAÇÃO DO SOFTWARE ENVOLVIDO COM E/S COMO UMA SÉRIE DE CAMADAS PERMITE QUE: AS PARTICULARIDADES DO HARDWARE FIQUEM ESCONDIDAS NAS CAMADAS MAIS BAIXAS O USUÁRIO VEJA UMA INTERFACE SIMPLES, PADRONIZADA E LIMPA NA CAMADA SUPERIOR baseado na Figura 5.10, página 215, Tanembaum SOFTWARE NO NÍVEL DO USUÁRIO SOFTWARE INDEPENDENTE DE DISPOSITIVOS ACIONADORES DE DISPOSITIVOS (DRIVERS) HARDWARE

AS ROTINAS DE TRATAMENTO DE INTERRUPÇÕES DEVEM SER ESCONDIDAS A FIM DE QUE APENAS UMA PEQUENA PARTE DO S.O. NECESSITE SABER DE SUA EXISTÊNCIA. UMA MANEIRA SIMPLES PARA CONSEGUIR ESCONDER É: CONSIDERAR UM DRIVER DE DISPOSITIVO BLOQUEÁ-LO QUANDO O COMANDO DE E/S FOR INICIADO QUANDO DA INTERRUPÇÃO, O TRATAMENTO É O DO DESBLOQUEIO DO DRIVER, USANDO SEMÁFOROS, MONITORES OU MENSAGENS. SALVAR REGISTRADORES (INCLUINDO PSW) ESTABELECER UM CONTEXTO PARA A ROTINA DE TRATAMENTO DE INTERRUPCÃO, COM TABELA DE PÁGINAS ESTABELECER UMA PILHA PARA A ROTINA DE TRATAMENTO DE INTERRUPÇÃO SINALIZAR (INTERRUPT ACKNOWLEDGE) AO CONTROLADOR DE INTERRUPÇÃO OU REABILITAR AS INTERRUPÇÕES (EI ENABLE INTERRUPT) COPIAR OS REGISTRADORES DE ONDE ELES FORAM SALVOS PARA A TABELA DE PROCESSOS (SALVA CONTEXTO NO PCB) EXECUTAR A ROTINA DE TRATAMENTO DE INTERRUPÇÃO, QUE VAI VERIFICAR STATUS DA OPERAÇÃO ESCOLHER O PRÓXIMO PROCESSO A EXECUTAR. SE INTERROMPEU UM PROCESSO DE ALTA PRIORIDADE, ESTE DEVERÁ SER O ESCOLHIDO. ESTABELECER O CONTEXTO PARA O PRÓXIMO PROCESSO. CARREGAR OS REGISTRADORES DO NOVO PROCESSO.

INICIALIZAR O NOVO PROCESSO. O TRATAMENTO PODE ENVOLVER A TABELA DE PÁGINAS, O CONTROLE DE SUBSTITUIÇÃO (BITS R E M) E A CACHE. DRIVERS DE DISPOSITIVOS UM DRIVER DE MOUSE DEVE ADQUIRIR INFORMAÇÕES SOBRE O QUANTO O CURSOR FOI MEXIDO NA TELA E QUAL FOI O BOTÃO PRESIONADO. UM DRIVER DE DISCO DEVE CONTROLAR: CILINDROS, CABEÇAS E SETORES; MOVIMENTO DO BRAÇO; CONTROLADOR DE MOTOR; TEMPO DE AJUSTE DA CABEÇA ETC. CADA TIPO DE DRIVER REQUER CÓDIGO ESPECÍFICO PARA O DISPOSITIVO, GERALMENTE FORNECIDO PELO FABRICANTE DO DISPOSITIVO. DRIVERS DE DISPOSITIVOS NORMALMENTE EXISTE UM DRIVER POR TIPO DE DISPOSITIVO OU POR CLASSE DE DISPOSITIVO. TODO O CÓDIGO QUE DEPENDE OU DO QUAL DEPENDA O DISPOSITIVO FAZ PARTE DO DRIVER O DRIVER É A ROTINA ENCARREGADA DA COMUNICAÇÃO COM A CONTROLADORA (COMANDOS E RESULTADOS) O DRIVER DEVE SER A ÚNICA PARTE DO S.O. QUE SABE QUANTOS REGISTRADORES (I/O PORTS) EXISTEM NA CONTROLADORA E PARA QUÊ SERVEM (TEM ACESSO A ELES)

DRIVERS DE DISPOSITIVOS DEVEM SER PARTE DO NÚCLEO DO S.O. OU DEVEM EXECUTAR NO ESPAÇO DO USUÁRIO, COM CHAMADAS AO SISTEMA PARA LER OU ESCREVER NOS REGISTRADORES (PERMITE ISOLAR O S.O.) POSICIONADOS ABAIXO DO RESTANTE DO S.O. OFERECEM UMA INTERFACE PADRÃO POR TIPO DE DISPOSITIVO (ORIENTADO A BLOCO OU CARACTERE) PODEM SER COMPILADOS JUNTO COM O NÚCLEO DO S.O. OU SEREM CARREGADOS DINAMICAMENTE. DRIVERS DE DISPOSITIVOS, FUNÇÕES: ACEITAR E EXECUTAR REQUISIÇÕES DE E/S VINDAS DA CAMADA INDEPENDENTE DE DISPOSITIVO (CID). INICIALIZAR O DISPOSITIVO, SE NECESSÁRIO. TRATAR DAS NECESSIDADES DE ENEGIA DO DISPOSITIVO. REGISTRAR OS EVENTOS. DRIVERS DE DISPOSITIVOS, REQUISIÇÃO DA CID: VALIDA OS PARÂMETROS DE ENTRADA (ISSO NÃO OCORRE GERALMENTE NO RESTANTE DE UM S.O.) PODE SER NECESSÁRIO TRADUZIR A ENTRADA (EXEMPLO, NÚMERO DE BLOCO PARA CHS) VERIFICA SE O DISPOSITIVO ESTÁ EM USO, CASO POSITIVO, ENFILEIRA A REQUISIÇÃO PODE SER NECESSÁRIO LIGAR O DISPOSITIVO OU SEU MOTOR

ESCREVE NOS REGISTRADORES DO DISPOSITIVO DRIVERS DE DISPOSITIVOS, REQUISIÇÃO DA CID: BLOQUEIA (PARA ALGUNS DISPOSITIVOS EM ALGUMAS SITUAÇÕES, NÃO HÁ NECESSIDADE EXEMPLO SCROLL DE TELA) DEPOIS DO TRATAMENTO DA INTERRUPÇÃO (OU SEM TER SIDO BLOQUEADO), VERIFICA OCORRÊNCIA DE ERRO PODE TENTAR TRATAR O ERRO (EVENTUALMENTE VOLTA A ALGUM PONTO ANTERIOR) RETORNA STATUS PARA A CID VERIFICA REQUISIÇÃO PENDENTE REPETE OU BLOQUEIA DRIVERS DE DISPOSITIVOS, COMPLICAÇÕES: UM DRIVER EM EXECUÇÃO PODE SOFRER UMA INTERRUPÇÃO UMA INTERRUPÇÃO PODE CAUSAR A EXECUÇÃO DE UMA NOVA CÓPIA DO DRIVER (REENTRANTE) EM HOT PLUGGABLE SYSTEMS, PODE OCORRER DO USUÁRIO REMOVER O DISPOSITIVO ENQUANTO O DRIVER ESTÁ SENDO EXECUTADO DRIVERS NÃO SÃO APTOS A FAZER CHAMADAS AO SISTEMA, MAS PERMITEM-SE CHAMADAS A ALGUNS PROCEDIMENTOS DO NÚCLEO: ALOCAR E DESALOCAR BUFFERS, GERÊNCIA DE RELÓGIO, GERÊNCIA DO CONTROLADOR DE DMA ETC.

Exercícios 1. Em qual situação é vantajoso conviver com a espera ocupada de uma E/S programada? 2. O que é polling e em qual situação ela ocorre? 3. Como é que uma rotina de tratamento de interrupção começa a ser executada? 4. Com relação a interrupções: a) A rotina de tratamento de interrupção é executada a partir do acesso ao vetor de interrupções. b) O vetor de interrupções contém interrupções. c) O vetor de interrupções é manipulado pelas rotinas de tratamento de interrupções. d) Pode haver uma troca de contexto quando de uma interrupção. e) Não existe arquitetura de HW que permita a inibição de uma interrupção. 5. Explicar para que servem as instruções EI (enable interrupt), ACK (interrupt acknowledge), DI (disable interrupt), IRQ (interrupt request) 6. Justifique: o uso de um DMA ocasiona a diminuição de interrupções. 7. Qual seria a vantagem de um driver ser executado no espaço do usuário ao invés de deixá-lo no núcleo do S.O.? 8. No passado os drivers eram compilados junto ao restante do S.O. Atualmente, os drivers podem ser dinamicamente carregados no S.O. em tempo de execução. Indique o que é verdadeiro em relação às duas colocações: a) Os problemas causados na situação do passado em nada implicaram na ocorrência da situação atual. b) A geração de um único executável para o S.O. com drivers se deveu a raramente os dispositivos serem trocados. c) Com a grande quantidade de dispositivos existentes na atualidade, fica difícil ter que recompilar o S.O. quando da adição de um novo dispositivo. d) Não é possível recompilar o S.O. e) Poucos usuários são capazes de recompilar um S.O. 9. Qual é o motivo que pode levar a um driver validar os parâmetros de entrada? 10. Qual é a definição para reentrância? Em qual situação um driver necessita ser reentrante? Problemas 4 a 6 (página 265 do livro do Tanembaum).