IV-Gerenciamento de E/S 1. 2. 3. 4. 5. Introdução Subsistema de Entrada e Saída Device Driver Controlador de Entrada e Saída Dispositivos de Entrada e Saída IV-Gerenciamento de E/S IV-Gerenciamento de E/S 1. Introdução Computador: Entrada Problema a ser Resolvido Saída Dispositivos de E/S Mouse Monitor Teclado IV-Gerenciamento de E/S Modens Placa de rede Unidade de fita Unidade de disco Periféricos 1. Introdução IV-Gerenciamento de E/S A gerencia destes dispositivos é uma das principais e mais complexas do S.O. Sua estrutura é em forma de camadas: • Camadas de baixo nível: correspondem às características dos dispositivos. • Camadas superiores: oferecem uma interface simples e confiável ao usuário e suas aplicações. IV-Gerenciamento de E/S 1. Introdução IV-Gerenciamento de E/S A camada Subsistema de E/S possui a função de isolar a complexidade dos dispositivos físicos, permitindo ao S.O. a comunicação com qualquer tipo de periférico. Device driver: é a camada que cuida dos aspectos de velocidade de operação, unidade de transferência, representação dos dados, tipo de operações, etc... • IV-Gerenciamento de E/S Oferece uma interface uniforme entre o Subsistema de E/S todos os dispositivos 1. Introdução IV-Gerenciamento de E/S As camadas são divididas em dois grupos: • Independente do dispositivo: Visualiza os diversos tipos de dispositivos de modo único (é a maior parte); • Dependente do dispositivo: Específica para cada dispositivo. Estudaremos as diversas camadas de E/S bem como os conceitos envolvidos IV-Gerenciamento de E/S 1. Introdução IV-Gerenciamento de E/S IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S Este subsistema isola a complexidade das operações específicas da camada de sistema de arquivos e Sistema Gerenciador de Banco de Dados (SGBD) ou diretamente da aplicação, possibilitando a manipulação dos periféricos com mais simplicidade. • Composição: Conjunto de rotinas que possibilitam a comunicação com qualquer dispositivo a ser conectado ao computador (rotinas de entrada e saída). IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S Permite ao usuário atualizar as operações de E/S sem se preocupar cm detalhes do dispositivo acessado. Exemplo: Acesso em disco. O usuário não se preocupa com a estrutura com que um arquivo está sendo gravado no disco. Esta operação é realizada através de rotinas de E/S, não importando se o acesso é em HD, disquete, pendrive, fita magnética IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S A estrutura de armazenamento dos dados depende do tipo de periférico envolvido: • Armazenamento não Volátil: feito em dispositivos magnéticos ou ópticos. A organização é gerenciada pelo aplicativo. • Armazenamento Volátil: Exemplo: Monitores de vídeo. As operações são ligadas diretamente à rotinas do S.O.. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S As chamadas ao subsistema de E/S podem ser feitas de duas formas: • Chamada explícita: Chamada da rotina do S.O. diretamente do programa de alto nível. • Chamada implícita: Uso de comandos de leitura/gravação e chamada à bibliotecas oferecidas por linguagem de alto nível. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S Consequentemente, a comunicação entre a linguagem de alto nível e as rotinas do S.O. é feita simplesmente através de passagem de parâmetro. O relacionamento entre o comando e a rotina do E/S é criado na geração do código executável. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S As operações de E/S podem ser classificadas pelo sincronismo: • Síncronas: O processo que inicializa a operação aguarda a finalização, permanecendo, portanto, em estado de espera. Ocorre com a maioria das linguagens de alto nível. • Assíncrona: O processo que inicializou a operação continua a execução normalmente. Neste caso, o sistema oferece mecanismo de sinalização que avise o término da operação. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S O Subsistema de E/S realiza funções comuns à todos os tipos de dispositivos, ficando os aspectos específicos para os device drivers. Portanto, este oferece uma interface uniforme às camadas superiores. Cada dispositivo trabalha com unidades de informações diferentes tamanhos. O Subsistema de E/S cria uma unidade lógica de transferência Independente do dispositivo e repassa-o par os níveis superiores, sem conhecimento do conteúdo da informação. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S Exemplo: Sendo a camada superior o sistema de arquivos. A informação é interpretada como um registro lógico de arquivo, obedecendo certa organização de acesso estabelecido IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S Tratamento de erros: • Normalmente é feito pelas camadas mais próximas ao hardware. • Certos erros são tratados pelo sistema de arquivos. Exemplo: gravação em dispositivos de entrada, leitura em dispositivos de saída, operações em dispositivos inexistentes. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S O Subsistema de E/S oferece proteção de acesso aos diversos dispositivos bem como a proteção aos usuários para acesso simultâneo. Também utiliza técnicas de buffering para evitar excesso de acesso aos dispositivos de E/S. Desta forma, não só o dado chamado ocupa o buffer, mas o bloco de dados correspondente. IV-Gerenciamento de E/S 2. Subsistema de Entrada e Saída IV-Gerenciamento de E/S Uma das principais funções do Subsistema de E/S é criar uma interface padronizada com os device drivers. Quando um novo dispositivo é instalado no computador, o subsistema de E/S oferece interface padronizada para permitir a inclusão de novos drivers sem a necessidade de alteração desta camada. IV-Gerenciamento de E/S 3. Device Driver IV-Gerenciamento de E/S Sua função é implementar a comunicação do subsistema E/S com os dispositivos através de seus controladores. • Recebe os comandos gerais ((abstrato) do Subsistema de E/S) Traduz para comandos específicos para que o controlador de dispositivo possa executá-lo. • Também inicializa e gerencia o dispositivo. IV-Gerenciamento de E/S IV-Gerenciamento de E/S 3. Device Driver Controla cada dispositivo ou dispositivos semelhantes Reconhece a particulardade dos dispositivos Exemplo: Leitura síncrona. IV-Gerenciamento de E/S 3. Device Driver Recebe solicitação de leitura de um determinado bloco IV-Gerenciamento de E/S Informa ao controlador: Cilindro, trilha e setor que o bloco se localiza Durante a leitura, o processo que a solicitou permanece em espera. Finalizando a leitura, a CPU recebe a interrupção, através do controlador que ativa novamente o driver IV-Gerenciamento de E/S 3. Device Driver IV-Gerenciamento de E/S Após verificar a inexistência de erros, o driver transfere as informações para a camada superior (subsistema). Com os dados disponíveis, o processo é retirado do estado de espera e retorna ao estado de pronto para continuar executando. IV-Gerenciamento de E/S 3. Device Driver IV-Gerenciamento de E/S IV-Gerenciamento de E/S 4. Controlador de Entrada e Saída Controlador do hardware que diretamente o dispositivos de E/S. IV-Gerenciamento de E/S manipula O S.O. (especificamente os drivers) comunicamse com o dispositivo através dos controladores. Pode ser Placa conectada ao slot Na mesma placa do processador Possui memória e registradores próprios IV-Gerenciamento de E/S 4. Controlador de Entrada e Saída IV-Gerenciamento de E/S IV-Gerenciamento de E/S 4. Controlador de Entrada e Saída IV-Gerenciamento de E/S Em sequência de leitura, armazena em buffer interno, uma sequência de bits, proveniente do dispositivo, até formar um bloco. • Verificando a ocorrência de erro, o bloco pode ser transferido para um buffer de E/S na memória principal. Este processo pode ser controlado pela CPU ou por um controlador DMA (Direct Memory Access). O uso desta técnica evita a ocupação da CPU durante o processo de transferência. IV-Gerenciamento de E/S 4. Controlador de Entrada e Saída IV-Gerenciamento de E/S Em sequência de leitura, armazena em buffer interno, uma sequência de bits, proveniente do dispositivo, até formar um bloco. • Verificando a ocorrência de erro, o bloco pode ser transferido para um buffer de E/S na memória principal. Este processo pode ser controlado pela CPU ou por um controlador DMA (Direct Memory Access). O uso desta técnica evita a ocupação da CPU durante o processo de transferência. IV-Gerenciamento de E/S 4. Controlador de Entrada e Saída IV-Gerenciamento de E/S Passos de leitura através do DMA. CPU, através do driver, inicializa registradores do controlador de DMA; os O DMA, solicita ao controlador de disco, a transferência do bloco de disco para o seu buffer interno; Terminada a transferência, o controlador verifica a existência de erros, não havendo, O DMA transfere o bloco para o buffer de E/S da memória principal. IV-Gerenciamento de E/S 4. Controlador de Entrada e Saída IV-Gerenciamento de E/S Buffer preenchido, DMA sinaliza uma interrupção, avisando o processador que o bloco já se encontra na memória principal. IV-Gerenciamento de E/S 5. Dispositivos de Entrada e Saída Classificação: Entrada de dados: • Teclado • Mouse Saída • Impressora • Monitor de vídeo Entrada e Saída • Modens • Discos IV-Gerenciamento de E/S IV-Gerenciamento de E/S Transferência Ocorre através de blocos de informação por meio dos controladores dos dispositivos. De acordo com os dados armazenados nos dispositivos de E/S, estes podem ser classificados como: 5. Dispositivos de Entrada e Saída IV-Gerenciamento de E/S Dispositivos estruturados (block devices) Armazena informações em blocos de tamanho fixo, cada um com o seu endereço, podendo ser lido ou gravado de forma independente. Exemplo: Discos magnéticos e ópticos Quanto ao acesso, podem ser classificados como acesso direto e sequencial baseado na forma com que os blocos são acessados. IV-Gerenciamento de E/S 5. Dispositivos de Entrada e Saída IV-Gerenciamento de E/S • Acesso direto: um bloco pode ser recuperado diretamente através de um endereço. Exemplo: disco magnético • Acesso sequencial: para acessar um bloco, deve-se percorrer todos os blocos anteriormente sequencialmente. Exemplo: fita magnética IV-Gerenciamento de E/S 5. Dispositivos de Entrada e Saída IV-Gerenciamento de E/S Dispositivos não estruturados (character devices) São os que enviam ou recebem caracteres não estruturados, não sendo endereçável, não permitindo operação de acesso direto. Exemplo: Terminais, impressoras, interface de rede. IV-Gerenciamento de E/S IV-Gerenciamento de E/S IV-Gerenciamento de E/S