Prévia do material em texto
UNIVERSIDADE FEDERAL DO OESTE DO PARÁ DISCIPLINA: SISTEMAS OPERACIONAIS CAPÍTULO 5: ENTRADA/SAÍDA Equipe: Cezar Augusto F. da Rocha Darlan Albuquerque Gilnei Samuel Souza Cardoso Pablo da Silva Oliveira Raíssa Katrine Serrão Entrada e saída - E/S Uma função do SO é controlar todos os dispositivos de E/S de um computador. Ele deve emitir comandos para os dispositivos, interceptar interrupções e tratar os erros. Deve fornecer uma interface (simples e fácil de usar) entre os dispositivos e o restante do sistema. Princípios do hardware de E/S Taxas de dados típicas de dispositivos, redes e barramentos Controladores de dispositivo • Componentes de dispositivos de E/S – mecânico – eletrônico • O componente eletrônico é o controlador do dispositivo – pode ser capaz de tratar múltiplos dispositivos • Tarefas do controlador – converter fluxo serial de bits em bloco de bytes – executar toda correção de erro necessária – tornar o bloco disponível para ser copiado para a memória principal E/S mapeada na memória (1) a) Espaços de memória e E/S separados b) E/S mapeada na memória c) Híbrido E/S mapeada na memória (2) (a) Arquitetura com barramento único (b) Arquitetura com barramento dual Acesso Direto à Memória (DMA) Operação de uma transferência com DMA Interrupções Revisitadas Como ocorre uma interrupção. Conexões entre dispositivos e controlador de interrupção usam linhas de interrupção no barramento em vez de fios dedicados. Princípios do Software de E/S Objetivos do Software de E/S (1) • Independência de dispositivo – Programas podem acessar qualquer dispositivo de E/S sem especificar previamente qual (disquete, disco rígido ou CD-ROM) • Nomeação uniforme – Nome de um arquivo ou dispositivo pode ser uma cadeia de caracteres ou um número inteiro que é independente do dispositivo • Tratamento de erro – Trata o mais próximo possível do hardware Objetivos do Software de E/S (2) • Transferências Síncronas vs. Assíncronas – transferências bloqueantes vs. orientadas a interrupção – utilização de buffer para armazenamento temporário – dados provenientes de um dispositivo muitas vezes não podem ser armazenados diretamente em seu destino final • Dispositivos Compartilháveis vs. Dedicados – discos são compartilháveis – unidades de fita não são E/S Programada (1) Passos da impressão de uma cadeia de caracteres E/S Programada (2) Escrita de uma cadeia de caracteres para a impressora usando E/S programada E/S Orientada à Interrupção • Escrita de uma cadeia de caracteres para a impressora usando E/S orientada à interrupção a) Código executado quando é feita a chamada ao sistema para impressão b) Rotina de tratamento de interrupção E/S Usando DMA • Impressão de uma cadeia de caracteres usando DMA a) Código executado quando quando é feita a chamada ao sistema para impressão b) Rotina de tratamento de interrupção DISCOS (HARDWARE) Existe uma série de tipos de discos. Os mais comuns são: discos rígidos magnéticos, discos ópticos (DVDs e Blu-ray) e discos de estado sólido são cada dia mais populares à medida que eles são rápidos e não contêm partes móveis. Discos magnéticos / SSD são cilíndricos contém trilhas (de acordo com o números de cabeçotes verticalmente)(1/16) trilhas (setores) (8/32 em discos flexíveis)(centenas em HD) controlador: circuito que permite a comunicação UCP/HD RAID (arranjo redundante de discos independente): dispositivo de processamento paralelo para melhorar o desempenho do disco RAID (DESEMPENHO - CPU / HD) Situação Hipotética: 4 GB RAM CPU octa core HD 1TB (90% de uso) Qual alocação de arquivos seria conveniente para um bom desempenho? alocação contígua / alocação encadeada / encadeada com lista de memoria / i-nodes FORMATACAO DO DISCO Formatacao de baixo nivel: para iniciar uso do dsico / software Preambulo: possui bytes para o HW reconhececer o comeco Dados: ECC: possuem informacoes que pode ser usadas em erros de leitura. ESCALONAMENTO DE BRAÇO DE DISCO LER/ESCREVER (TEMPO) (EFICIÊNCIA) tempo de busca atraso de rotação tempo de transferência real dos dados deslocamento do braço na busca: a)FCFS: aceita a solicitação e atende b)Busca curta: atende a solicitação mais próxima (centralização do braço) c) Algoritmo do elevador: algoritmo de direção sobe e desce. TRATAMENTO DE ERROS Blocos defeituosos: Armazenamento estável: criam ações (leitura, escrita, e recuperação) paralelas em blocos RELOGIOS (TEMPORIZADORES) Função: gerar interrupções na UCP a intervalos conhecidos. Outras ações: 1. Manter o horário do dia. 2. Evitar que processos sejam executados por mais tempo do que o permitido. 3. Contabilizar o uso da CPU. 4. Tratar a chamada de sistema alarm feita pelos processos do usuário. 5. Fornecer temporizadores watch dog para partes do próprio sistema. 6. Gerar perfis de execução, realizar monitoramentos e coletar estatísticas. 5.4.2 Formatação de disco Antes que o disco possa ser usado, cada prato deve passar por uma formatação de baixo nível feita por software. A formatação consiste em uma série de trilhas concêntricas, cada uma contendo uma série de setores, com pequenos intervalos entre eles. O tamanho da porção de dados é determinado pelo programa de for matação de baixo nível. INTERFACES COM USUÁRIO: TECLADO,MOUSE,MONITOR Todo computador de propósito geral tem um teclado e um monitor. Embora o teclado e o monitor sejam dispositivos tecnicamente separados, eles funcionam bem juntos. Teclado Mouse Monitor SOFTWARE DE ENTRADA As informações do usuário vêm fundamentalmente do teclado e do mouse. Em um computador pessoal,o teclado contém um microprocessador embutido que em geral comunica-se por uma porta serial com um chip controlador na placa-mãe.Uma interrupção é gerada sempre que uma tecla é pressionada e uma segunda é gerada sempre que uma tecla é liberada. Em cada uma dessas interrupções, o driver do teclado extrai as informações sobre o que acontece na porta de E/S associada com o teclado. . SOFTWARE DO TECLADO O número no registrador de E/S é o número da tecla,chamado de código de varredura, não o código de ASCII. Características: Teclados normais têm menos de 128 teclas, então apenas 7 bits são necessários para representar o número da tecla. O oitavo bit é definido como 0 quando a tecla é pressionada e 1 quando ela é liberada. SOFTWARE DE MOUSE A maioria dos PCs tem um mouse, ou às vezes um trackball. Um tipo comum de mouse tem uma bola de borracha dentro. O movimento na direção leste-oeste faz girar o bastão paralelo ao eixo y; o movimento na direção norte-sul faz girar o bastão paralelo ao eixo x. Mouses podem ter um, dois, ou três botões, Os mouses wireless. O mouse indica apenas mudanças na posição, não a posição absoluta em si. Muitas interfaces gráficas fazem distinções entre cliques simples e duplos. . SOFTWARE DE SAÍDA JANELAS DE TEXTO: A saída é mais simples do que a entrada quando a saída está sequencialmente em uma única fonte, tamanho e cor. Na maioria das vezes, o programa envia caracteres para a janela atual e eles são exibidos ali. SISTEMA X WINDOW Quase todos os sistemas UNIX baseiam sua interface de usuário no Sistema X Window. desenvolvido no MIT,como parte do projeto Athena na década de 1980. Quando o X está executando em uma máquina, o software que coleta a entrada do teclado e mouse e escreve a saída para a tela é chamado de servidor X. Clientes X. O X é apenas um sistema de gerenciamento de janelas.TERMINAIS DE REDE X WINDOWS Algumas taxas de transferência típicas ● Existe uma grande quantidade de software relacionado à E/S com objetivos bastante definidos (e distintos dos hardwares) ● Independência de dispositivo: Programas de usuários devem ser capazes de acessar qualquer classe de dispositivo de E/S de uma mesma maneira (ex: disco, pen-drive, DVD etc) ● Nomeação uniforme: Dispositivos de uma mesma classe devem ter “nomes” semelhantes (ex: c:\, d:\ ) ● Tratamento de erros: Erros devem ser tratados tão “próximo” do hardware quanto possível (controlador do dispositivo, seu driver, outras partes do SO). Apenas em último caso um erro deve ser informado aos programas dos usuários ● Tipo de transferência: Que pode ser síncrona ou assíncrona ● Camadas do software de E/S ● Em boa parte dos sistemas operacionais, o software de E/S é dividido em quatro camadas ● Cada uma das camadas possui funções e interfaces bem definidas, para as camadas adjacentes ● Camadas do software de E/S ● Tratadores de interrupção : É a parte de mais baixo nível do tratamento de E/S (escrita em linguagem assembly); Executa sempre que um dispositivo gera uma interrupção; Normalmente, ao final do seu trabalho, o tratador de interrupção põe em execução o driver do dispositivo; Por estar muito “próximo” do hardware, seu trabalho envolve diversas questões de baixo nível, e está longe de ser literal ● Camadas do software de E/S ● Drivers de dispositivos: É um código (escrito em linguagem C) que controla o funcionamento de um dispositivo ou conjunto deles ● Um único driver pode controlar vários discos SATA, no entanto, uma placa de som e uma de rede serão certamente controlados por drivers distintos: O driver acessa diretamente o hardware, sendo considerado parte do sistema operacional ● Drivers normalmente são escritos por terceiros e seus bugs são a maior causa de crashs dos SOs O sistema operacional deve deter minar o que um driver pode fazer, e como ele interage com o seu restante. ● Camadas do software de E/S ● Software de E/S independente de dispositivo – Esta terceira camada, entre outras funções, “tenta” oferecer aos programas de usuário uma interface única e independente do dispositivo que está sendo acessado – Outras funções desta camada incluem ● Disponibilização de buffers para leitura e escrita em dispositivos ● Disponibilização de relatórios de erros ocorridos nos dispositivos ● Alocação e liberação de dispositivos “dedicados”. Ex: gravador de DVD (só podem ser utilizados por um programa por vez) ● Camadas do software de E/S ● Software de E/S do espaço do usuários; A maior parte do software de E/S está no interior do SO, mas uma pequena parte é constituída de bibliotecas; Programas de usuários normalmente fazem uso das funções disponibilizadas nestas bibliotecas, que por sua vez realizam as chamadas reais ao sistema ● Um exemplo clássico são as bibliotecas C padrão existentes nos sistemas operacionais: Suas funções permitem, aos programas de usuários, abrir, fechar, ler e escrever em arquivos, imprimir algo na tela etc ● Camadas do software de E/S ● Relacionamento entre camadas CLIENTES MAGROS(thin clients) Ao longo dos anos, o paradigma do computador principal oscilou entre a computação centralizada e a descentralizada. Os primeiros computadores, como o ENIAC, eram na realidade computadores pessoais, pois apenas uma pessoa podia usar um de cada vez.Então vieram os sistemas de tempo compartilhado, nos quais muitos usuários remotos em terminais simples compartilhavam de um grande computador central. Consumo de energia de várias partes de um computador laptop • Execução em velocidade máxima do relógio • Cortando a voltagem pela metade – corta a velocidade do relógio também pela metade, – consumo de energia cai para 4 vezes menos • Dizer aos programas para usar menos energia – pode significar experiências mais pobres para o usuário • Exemplos – muda de saída colorida para preto e branco – reconhecimento de fala reduz vocabulário – menos resolução ou detalhe em uma imagem image13.jpg image2.png image14.png image11.png image5.png image1.png image6.png image4.png image15.png image17.png image18.png image16.png image12.png image10.png image19.png image7.png image9.png image3.png image8.png image23.png image25.png image20.png image26.png image22.png image21.png image24.png image27.png