Sistemas Operacionais Entrada e Saída Sistemas Operacionais
Princípios básicos de hardware Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo Os periféricos são conectados ao computador através de um componente denominado interface As interfaces são interconectadas aos barramentos internos do computador As interfaces possuem registradores internos, através dos quais são acionadas Interfaces possuem um microprocessador (controlador ou controladora) dedicado a realização e controle das operações de entrada e saída
Arquitetura de Entrada e Saída Dispositivo de E/S possui uma parte mecânica e outra eletrônica
Arquitetura de Entrada e Saída Tipos de conexão e transferência de dados DISPOSITIVOS I/O INTERFACES DO COMPUTADOR BARRAMENTO INTERCONEXÃO FÍSICA DAS INTERFACES COM DISPOSITIVOS I/O INTERFACE SERIAL TRANSFERÊNCIA DE DADOS INTERFACE PARALELA Apenas com uma linha para transferência de dados (bit a bit) Mais de uma linha para Ex.: n x 8 bits
Dispositivos de Entrada e Saída Classificados de acordo com o tipo de entidade que interagem Comunicação do homem com o computador Teclado, mouse, monitor, etc Comunicação entre computadores Modems, placas de redes, etc Aqueles destinados ao armazenamento de informações Fitas, Discos, CD-Rom, etc
Dispositivos de Entrada e Saída Classificados de acordo com o fluxo de dados De entrada De saída De entrada e saída
Dispositivos de Entrada e Saída Classificados como: Orientados a caractere Unidade de transferência é o caractere Ex. Teclado, interface serial (mouse) Orientados a bloco Unidade de transferência de dados é um bloco de caracteres (tamanho fixo) Ex. disco
Tipos de conexão e transferência de dados Dois tipos de intefaces Interface Serial Apenas uma linha p/ transferência Interface Paralela Mais de uma linha
Dispositivos de Entrada e Saida Apresentam características próprias Taxa de transferência de dados Complexidade de controle Unidade de transferência Tratamento de erros
Como controladores e SO interagem? Controladora é programada via registradores da interface
Espaço de endereçamento Conjunto de endereços de memória que o processador consegue acessar diretamente A forma de acessar os registradores (das interfaces) dos periféricos é definida no projeto do processador
Técnicas para realizar E/S E/S programada E/S orientada à interrupções Acesso direto à memória
E/S programada Toda interação entre o processador e o controlador é de responsabilidade do programador Ciclo de funcionamento Envia comando ao controlador Espera término do comando Processador espera o término da operação
E/S orientada à interrupção Processador inicia a operação de E/S Enquanto interrupção não ocorre, a CPU pode executar outras tarefas (portanto, evita desperdício de tempo de CPU)
DMA – Acesso direto à memória Transfere diretamente um bloco de dados entre o dispositivo E/S e a memória Interrupção só quando acaba a transferência de todo o bloco Processador só se envolve com E/S no início e no fim da transferência
Objetivos da gerência de E/S Eficiência Uniformidade é desejável: Todos dispositivos enxergados da forma mais uniforme possível Esconder os detalhes (estes são tratados pelas camadas de mais baixo nível)
Princípios básicos de sw de E/S Subsistema de E/S é complexo dada a diversidade de periféricos Padronizar ao máximo para reduzir número de rotinas Novos dispositivos não alteram a visão do usuário em relação ao SO Organizado em camadas
Estrutura do subsistema E/S
Visão Geral do software de E/S Tratador de interrupção É acionado ao final da operação de transferência Aciona driver Driver de dispositivo Recebe requisições Configura (aciona) o controlador
Driver de Dispositivo Conjunto de estruturas de dados e funções que controlam um ou mais dispositivos com interface bem definida Fornecido pelo fabricante do periférico Vantagens: Isola código especifico do dispositivo Facilidade de adicionar novos drivers O kernel fica isolado de modificações dos drivers O sistema tem uma visão uniforme dos dispositivos
E/S Independente de dispositivo Escalonamento Determina melhor ordem para atendimento à requisições de E/S Divide de forma justa o acesso a periféricos Manipulação de buffers Área de armazenamento temporária Direitos de acesso Controlar acesso à dispositivos de acordo com as suas permissões Tratamento de erros Informar à camada superior que houve erro
E/S a nível de usuário Implementação, em nível de linguagem de programação, de rotinas que permitem programas fazer acesso à dispositivos Estas rotinas estão em bibliotecas da linguagem Interagem com as funções da API do SO (chamada de sistema)
Disco Dispostos em alturas diferentes com auxílio de um eixo central (spindle). A tecnologia atual permite superpor até 8 discos. As duas superfícies de cada disco são recobertas por uma película magnética na qual os dados são gravados. O eixo gira a uma rotação constante (ex. 5400 rpm) Os cabeçotes de leitura/gravação (um para cada superfície de disco) realizam movimentos de vai-e-vem (seek)
Disco
Disco Tempo de acesso Onde taccess é o tempo de acesso total tseek é o tempo de movimentação do cabeçote tlatency é o tempo de atraso rotacional ttransfer é o tempo para transferir os dados