Sistema de Entrada e Saída Prof. Alexandre Monteiro Recife ‹#› Contatos Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/gtalk: [email protected] [email protected] Site: http://www.alexandrecordel.com.br/fbv Celular: (81) 9801-1878 Considerações Gerais Objetivo primeiro do computador é solucionar problemas. É necessário que algum tipo de mecanismo exista para informar esse problema ao computador e recuperar a sua solução. A esses mecanismos denominamos DISPOSITIVOS DE ENTRADA E SAÍDA Dispositivos de Entrada e Saída Periférico: qualquer 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 de hardware denominado de interface As interfaces são interconectadas aos barramentos internos de um computador Interfaces se utilizam de um processador dedicado a realização e controle das operações de entrada e saída Controladoras: função é implementar conjunto de operações genéricas do tipo “ler dados”, “escrever dados”, “reinicializar”, “ler status”. Necessita saber como o periférico funciona. Exemplo: controle do disco rígido. Dispositivos de Entrada e Saída Comunicação do homem com o computador: Teclado, mouse, monitores de vídeo ... Comunicação entre computadores: Modens, placas de rede ... Armazenamento de informações: Disco rígido (HD), pendrive, cd-rom, dvd ... Classificação de acordo com fluxo de dados: Entrada, Saída ou Entrada e Saída Tipos de Conexões Os dispositivos de E/S são classificados segundo o tipo de conexão e de transferência de dados com a interface. Essa característica está relacionada aà maneira pela qual os dados são transferidos entre os dispositivos e a interface. SERIAL: existe apenas uma via para os dados. Os bits são enviados um após o outro, bit a bit. PARALELO: possui várias linhas para os dados, permitindo que vários bits sejam transmitidos simultaneamente (em paralelo) Tipos de Conexões USB (Universal Serial Bus - Barramento Serial Universal ): facilitar a conexão (1994-consórcio da Microsoft, Apple, Hewlett-Packard, NEC, Intel e Agere) 1996-v.1.0 - Tx.Transf: 1,5 Mbps – 2009-v.3.0 - 4,8 Gbps Padrão de conexão, Plug-and-Play (plugar e Usar) Alimentação elétrica: a maioria dos dispositivos que usam USB não precisa ser ligada a uma fonte de energia, já que a própria conexão USB é capaz de fornecer eletricidade. Conexão de vários aparelhos ao mesmo tempo. Ampla compatibilidade: o padrão USB é compatível com diversas plataformas e sistemas operacionais Podem ser conectados e desconectados a qualquer momento Como controladoras e sistema operacional interagem? Controladora é programada via registradores. Registradores são "vistos" como posições de memória Recebem ordens do processador Fornecem estados de operação Leitura e escrita de dados do periférico Objetivos da gerência de entrada e saída Eficiência. Generalidade é importante Desejável que dispositivos sejam tratados da forma mais uniforme possível Esconder os detalhes do serviço de entrada e saída em camadas de mais baixo nível. Fornecer ao alto nível abstrações genéricas como read, write, open e close Envolve aspectos de hardware e de software Princípios básicos de software de entrada e saída Subsistema de entrada e saída é software bastante complexo devido a diversidade de periféricos Objetivo é padronizar as rotinas de acesso aos periféricos de E/S de forma a reduzir o número de rotinas Permite inclusão de novos dispositivos sem alterar “visão” do usuário (interface de utilização) Para atingir esse objetivo o subsistema de E/S é organizado em camadas D E/S nível de usuário C E/S independente do dispositivo B A Software Sistema operacional Estrutura em camadas do subsistema de E/S Interface padrão para drivers de dispositivos (API) driver driver driver driver driver SCSI EIDE floppy rede teclado Hardware Drivers de Dispositivos A camada inferior de software – drivers de dispositivos B (device drivers) – é composta por um conjunto de módulos de software para fornecer os mecanismos de acesso a um dispositivo de entrada e saída especifico. Objetivo: “esconder” as diferenças entre os vários dispositivos de entrada e saída fornecendo à camada superior uma “visão uniforme” desses dispositivos Funcionalidades básicas do subsistema de E/S C Escalonamento de E/S Determinar a melhor ordem para o atendimento de requisições de E/S Dividir de forma justa o acesso a periféricos. Bufferização Área de armazenamento temporário de dados Cache Permitir o acesso rápido aos dados Spooling Controlar acesso a dispositivos que atendem apenas uma requisição por vez (gerencia alocação, liberação e uso) Tratamento de Erros Fornece a capacidade de manipular erros,informando fracasso/sucesso da operação a camada superior E/S nível de usuário D Disponibiliza a processos usuário (aplicação) operações de E/S através de bibliotecas ou chamadas de sistema Dispositivos Periféricos Típicos Dispositivos de E/S são fundamentais para que um sistema seja utilizável Existe uma grande gama de dispositivos de E/S Impossível de analisar todos Princípio de funcionamento tem uma base comum Periférico mais importante é o disco por desempenhar um papel fundamental em diversos aspectos do sistema operacional Armazenamento de dados Suporte a implementação de memória virtual Características Um disco de plástico, ou metal, recoberto de material magnético Pratos Dados são gravados e, posteriormente, recuperados através de um "mola" condutora (cabeçote de leitura e gravação) Cabeçote R/W (1 por superfície) Prato Superfície Braço mecânico Características Cada superficie é dividida em Cilin d ro Im a g i n á r i o circunferências chamadas trilhas. Cada trilha é dividida em setores (em geral de mesmo tamanho), constituindo-se na unidade mínima de leitura e gravação. O conjunto de todas as trilhas formam o cilindro. Trilh a S e to r Acesso a Dados Menor unidade de transferência é um bloco lógico. Composto por um ou mais setores físicos Dois métodos de acesso Método CHS (Cylinder, Head, Sector) – necessário informar trilha, superfície e setor. Método LBA (Linear Block Addressage) – o disco é " visto" como um conjunto de blocos, no qual cada bloco é um ou mais setores. Desempenho do Disco Para ler/escrever dados é necessário que o cabeçote de leitura e escrita esteja posicionada na trilha e no ínicio do setor desejados. Esse procedimento de posicionamento implica um certo tempo, denominado tempo de acesso Três tempos envolvidos: Tempo de posicionamento (seek time) - Tempo necessário para posicionar o cabeçote de leitura/escrita na trilha desejada Tempo de latência rotacional - Tempo necessário para atingir o início do setor a ser lido/escrito. Tempo de transferência - Tempo para escrita/leitura efetiva dos dados Temporização de acesso ao disco Transfer Trilha time Seek time Setor Cabeçote leitura/ escrita Latency time tacesso tseek tlatência ttrasnf . Formatação Física É a definição de trilhas e de setores de um disco, procedimento realizado pelo fabricante. Os setores de trilhas mais externos são mais longos que os das trilhas internas. A densidade de gravação nos setores externos é menor que nos internos, levando a um desperdício da capacidade de gravação. Algumas controladoras corrigem essa distorção mantendo a densidade de gravação constante e aumentando o número de setores das trilhas mais externas. Formatação Lógica e Partição Formatação Lógica consiste em gravar informações no disco de forma que arquivos possam ser escritos. Partição é a capacidade de dividir logicamente um disco em vários outros discos. Ambos conceitos estão mais relacionados ao sistema de arquivos. Entrelaçamento Outro fator relacionado com a redução do tempo de acesso é o entrelaçamento (interleaving). É comum o acesso a vários setores contíguos em uma trilha do disco. Trilha com 16 setores Fator de entrelaçamento = 0 - Ler setores 4 e 5 - SO envia comando - Cabeçote é posicionado - Efetua leitura setor 4 - Na saída do setor 4 os dados são transferidos - Executa interrupção para Informar o término da leitura 15 0 14 1 13 2 12 3 4 11 10 5 9 6 8 7 Entrelaçamento Para resolver o problema realiza-se o entrelaçamento. Com isso, os setores são númerados não de forma contígua, mas com um espaço entre eles. Fator de entrelaçamento = 2 Fator de entrelaçamento = 0 15 0 14 10 1 13 2 12 3 4 11 10 5 9 6 8 7 5 0 11 15 4 9 6 1 12 14 7 3 8 13 2 Referências Sistemas Operacionais Modernos – 3ª Edição. A. Tanenbaum, 2008. Modern Operating Systems 3 e. Prentice-Hall, 2008.