Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS OPERACIONAIS Camadas do Software de Entrada e Saída Ana Cristina A. Oliveira Dantas ana.oliveira@ifpb.edu.br IFPB – Instituto Federal da Paraíba Campus Campina Grande Camadas do software de E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 2 Camadas Hardware Tratadores de interrupções Drivers dos dispositivos Software do SO independente do dispositivo Software de E/S no nível do usuário Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 3 Tratadores de interrupções Nível mais baixo para esconder a chateação das interrupções do resto do sistema O driver que solicitou uma operação de E/S fica bloqueado até que a interrupção chegue O tratador de interrupção trata a interrupção e depois acorda o driver que chamou a operação de E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 4 Algumas tarefas realizadas em software Realiza mudança de contexto Salvar registradores não salvos Copia registradores para a tabela de processos Estabelece um contexto para a rotina de tratamento de interrupção Estabelece uma pilha para a rotina de tratamento de interrupção Executa rotina de tratamento de interrupção Escolhe o próximo processo a executar Muda o contexto para o próximo processo a rodar Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 5 Camadas Drivers dos dispositivos Tratadores de interrupções Software do SO independente do dispositivo Software de E/S no nível do usuário Hardware Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 6 Drivers dos dispositivos Programar a controladora do mouse ≠ programar a controladora do disco!!! O driver do dispositivo conhece o dispositivo suficientemente bem para saber controlá-lo É escrito pelo fabricante para SOs mais populares Faz parte do núcleo do SO SO é preparado para ser estendido através destes códigos de terceiros Interface bem definida Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 7 Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 8 Mais sobre drivers Duas interfaces padrão: Dispositivos de bloco Dispositivos de caracteres Interfaces com procedimentos usados para se comunicar com os drivers Exemplos: leitura de um bloco, escrita de uma cadeia de caracteres Carregados em tempo de execução do SO Oposição ao SO como um único programa binário Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 9 Funções dos drivers Aceitar e executar requisições de alto nível vindas da camada superior Iniciar o dispositivo Programar o controlador do dispositivo adequadamente Tratar erros Serve de interface entre a parte do SO independente de dispositivo e os controladores de dispositivos Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 10 Quando um driver recebe uma solicitação de um serviço... A solicitação não está no formato que o controlador possa executar O driver ... vai verificar os parâmetros de entrada (se houver) O driver ... vai traduzir em comandos concretos que o controlador entenda Com a requisição formada, o driver ... vai trabalhar para que ela seja executada Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 11 Controlando o dispositivo O driver tem que descobrir se o dispositivo está ocioso Se estiver, tem que ver se ele está pronto para realizar a requisição Pode ser preciso ligá-lo Senão enfileira a requisição para atendimento posterior O dispositivo é controlado O driver emite uma seqüência de comandos para ele Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 12 Controlando o dispositivo Escreve nos registradores do controlador do dispositivo a seqüência de comandos Um a um Alguns controladores podem ler e processar uma seqüência de comandos sem ajuda do SO Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 13 Depois que os comandos são executados O driver ... se auto-bloqueia ao emitir a seqüência de comandos e o controlador vai enviar uma interrupção para acordá-lo não se bloqueia pois a operação era muito rápida O driver ... vai verificar se ocorreu erro O driver ... pode passar dados para o software independente de dispositivo O driver ... retorna informação de estado para o processo chamador Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 14 Comandos para o ControladorExistem parâmetros de entrada? Chega uma requisição para o driver Verifica se parâmetros estão OK sim Traduz requisição para seqüência de comandos que o controlador entenda Parâmetros OK? sim não Indica erro para requisitante não Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 15 Comandos para o Controlador Dispositivo ocioso? Envia comando para registradores do controlador sim Dispositivo pronto? Põe seqüência de comandos em fila Realiza tarefas necessárias para que ele esteja pronto não não sim Aguarda interrupção do dispositivo Chega uma interrupção do dispositivo Driver é acordado Driver estava bloqueado? sim Verifica ocorrência de erros não Envia resultado para processo chamador Mais comandos? sim não Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 16 Outras características dos drivers Capaz de lidar com adição/remoção de dispositivos online Software reentrante (execução corrente segura) Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 17 Código não reentrante int g_var = 1; int f() { g_var = g_var + 2; return g_var; } int g() { return f() + 2; } Código Reentrante int f(int i) { return i + 2; } int g(int i) { return f(i) + 2; } Camadas Hardware Software do SO independente do dispositivo Tratadores de interrupções Drivers dos dispositivos Software de E/S no nível do usuário Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 18 Software de E/S independente de dispositivo O driver tem que saber controlar o dispositivo É específico para um certo dispositivo, ou para uma classe de dispositivos Fronteira variável entre software dependente e independente do dispositivo Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 19 Funções do software independente de dispositivo Fornecer interface uniforme para o software no nível do usuário Definir interface padrão para comunicação driver SO Executar tarefas comuns a todos os dispositivos Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 20 Interface não uniforme para drivers O que acontece ao adicionar um novo dispositivo? Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 21 Interface uniforme para drivers O SO já está preparado para lidar com drivers que expõem certa interface Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 22 Atividades comuns Mapeia nomes simbólicos dos dispositivos para os drivers apropriados Protege dispositivos de usuários não autorizados Organiza o uso de buffers que melhoram o desempenho de leitura/escrita em dispositivos Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 23 Entrada com/sem uso de buffers Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 24 Saída com/sem uso de buffers Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 25 Exemplo de operação em rede Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 26 Atividades comuns Tratamento de erros de programação O processo do usuáriopede algo impossível Relatar erro a quem chamou Tratamento de erros de E/S não resolvidos pelos drivers Perguntar ao usuário o que fazer, mostrar mensagem de erro na tela, matar processo chamador, etc. Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 27 Atividades comuns Gerência de dispositivos dedicados Ex. CD-ROM Expõe para camada superior blocos de tamanho uniforme Processos dos usuários lidam com blocos lógicos Ordenação de operações de E/S Para melhorar desempenho Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 28 Ordenação Ex. Programa 1 lê no fim do disco, programa 2 lê no início do disco e programa 3 lê no meio do disco Ordem 2, 3, 1 reduz deslocamento do braço do disco Usa uma fila de requisições para cada dispositivo Cada vez que chega uma requisição a fila é reordenada Não prejudicar processos, prioridade a requisições Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 29 Camadas Hardware Software do SO independente do dispositivo Tratadores de interrupções Drivers dos dispositivos Software de E/S no nível do usuário Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 30 Software de E/S do espaço do usuário Bibliotecas ligadas aos programas dos usuários Realiza spooling Processo especial (daemon) que escreve no diretório de spool Apenas o daemon pode usar o arquivo especial da impressora Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 31 Operação completa de E/S Processo faz read(f) Essa chamada vai gerar uma chamada ao sistema A chamada ao sistema vai primeiramente ser tratada pelo software independente de dispositivo Verifica se a requisição e os argumentos são válidos Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 32 Operação completa de E/S Se estiver OK, o processo chamador é bloqueado A requisição é colocada na fila de requisições para o dispositivo (que pode ser reordenada) Área de armazenamento no núcleo é alocada para armazenamento temporário A requisição chega no driver, que define seqüência de comandos de baixo nível Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 33 Operação completa de E/S Driver transfere comandos para os registradores do dispositivo O dispositivo realiza a operação solicitada e envia uma interrupção O tratador de interrupção é chamado e uma rotina de tratamento é executada O driver é informado sobre término de uma operação solicitada Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 34 Operação completa de E/S O driver identifica a operação realizada e verifica o status da mesma e sinaliza para o núcleo do SO O software independente de dispositivo transfere dados e códigos de erro/sucesso para o espaço de endereçamento do processo chamador Processo chamador é desbloqueado Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 35 Resumo das camadas do sistema de E/S Sistemas Operacionais - E/S - Prof. Ana Cristina Alves 36 • Realizam chamadas de sistema • Formatam E/S • Spooling Processos do Usuário • Nomeação, proteção, bloqueio, buferização, alocação Software independente de dispositivo • Ajuste de registradores • Verificação de estado (status) Drivers de dispositivos • Acordam o dispositivo quando E/S é concluída Tratadores de interrupções • Operações de E/SHardware Bibliografia 37 ANDREW S. TANENBAUM. Sistemas Operacionais Modernos. Editora Prentice-Hall, 2ª Edição, 2003. ISBN: 8587918575 Capítulo 5: Entrada/Saída Sistemas Operacionais - E/S - Prof. Ana Cristina Alves SISTEMAS OPERACIONAIS Camadas do Software de Entrada e Saída Ana Cristina A. Oliveira Dantas ana.oliveira@ifpb.edu.br IFPB – Instituto Federal da Paraíba Campus Campina Grande
Compartilhar