850 likes | 1.01k Views
Sistemas operacionais. Dispositivos de entrada e saída. Dispositivos de entrada e saída. Periféricos: Um periférico pode ser visto como qualquer dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo. Classificação. Orientado a caractere
E N D
Sistemas operacionais www.dutton.com.br/aluno Dispositivos de entrada e saída
Dispositivos de entrada e saída Periféricos: Um periférico pode ser visto como qualquer dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo. www.dutton.com.br/aluno
Classificação • Orientado a caractere • Orientado a bloco www.dutton.com.br/aluno
Dispositivos de entrada e saída Periféricos: De acordo com o sentido do fluxo de dados entre o computador e o dispositivo, esses podem ser divididos em periféricos de entrada, periféricos de saída, ou ainda periféricos de entrada e saída. www.dutton.com.br/aluno
Dispositivos de entrada e saída Periféricos: As interfaces empregam no seu projeto um outro componente de hardware: o controlador. Um controlador nada mais é que um processador projetado especificamente para realizar uma função, como, por exemplo, controlar um disco rígido. www.dutton.com.br/aluno
Dispositivos de entrada e saída Periféricos: Os dispositivos de I/O, dependendo de sua interconexão física às interfaces, podem ser do tipo serial ou paralelo. Essa característica está relacionada à maneira pela qual os dados são transferidos entre os dispositivos de I/O e as interfaces www.dutton.com.br/aluno
Dispositivos de entrada e saída Periféricos: Uma interface serial é aquela que existem apenas uma linha para os dados. Os dados podem trafegar em dois sentidos, mas em apenas um sentido por vez! www.dutton.com.br/aluno
Dispositivos de entrada e saída Periféricos: Uma interface paralela possui várias linhas para os dados, permitindo assim que vários bits sejam transferidos simultaneamente (em paralelo) entre os dispositivos de I/O e a interface. www.dutton.com.br/aluno
Dispositivos de entrada e saída Periféricos: Dispositivos de E/S são dispositivos de hardware bastante variados: • Orientados a caracteres ou a blocos • Síncronos ou não • Compartilhados ou não • Velocidades diferentes www.dutton.com.br/aluno
Dispositivos de entrada e saída O Sistema Operacional deve gerenciar os dispositivos de I/O e ainda abstrair o acesso a todos esses periféricos de E/S para o usuário final. • Independência de dispositivos São dispositivos lentos • O Sis. Op. deve ser eficiente ao usá-los. www.dutton.com.br/aluno
Dispositivos de entrada e saída • Cada driver encapsula as características do dispositivo de Hardware. • Conversa com o controlador do dispositivo; • É a parte mais específica do Sis. Op. • Acompanha o hardware quando da sua aquisição ou vem nativamente no sistema operacional. • Em geral existe uma versão de driver para cada sistema operacional específico. • Poder seguir um padrão (e.g. SCSI, USB...) www.dutton.com.br/aluno
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Orientados a blocos • Acessa-se blocos de bytes de uma vez; • Cada bloco deve ter um endereço; Exemplos: disco, discos removíveis www.dutton.com.br/aluno
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Dispositivos orientados à rede • O tempo de acesso à rede é ainda diferente do tempo de uso de outros devices usuais. • Por isso, costuma-se definir uma interface específica para devices orientados a rede. • A interface típica é o socket www.dutton.com.br/aluno
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Dispositivos orientados à rede • Pode-se criar um socket, abri-lo e fechá- lo; • Quando aberto, pode-se: • Se conectar no socket (connect); • Ouvir no socket até alguma coisa chegar (listen); • Escrever no socket (write) • Pode-se ouvir vários sockets e selecionar (select) uma ação apropriada ao socket de onde veio a informação. www.dutton.com.br/aluno
Dispositivos de entrada e saída Tipos de drivers/dispositivos. Dispositivos orientados à rede Existem vários protocolos de rede suportados pelos sockets: • Fluxo confiável de bytes (pipe); • Fluxo confiável de pacotes; • Fluxo não confiável; www.dutton.com.br/aluno
Dispositivos de entrada e saída Outras formas de classificar: • Compartilháveis ou não: possibilidade de ser acesso por vários processos no mesmo tempo. • Tela vs. Impressora. • Seqüencial ou randômico • Mouse vs. disco • Acessível em leitura só, ou em escrita só, ou em escrita/leitura. • Mapeado na memória / usa registradores www.dutton.com.br/aluno
Dispositivos de entrada e saída O subsistema de E/S Basicamente, ele define interfaces padronizadas em cima dos drivers, para serem usadas pelo núcleo. Possibilita o acesso a vários dispositivos, independente de suas peculiaridades. Exemplos: interface Ethernet para a rede: • Define um endereço IP, um endereço de roteamento (gateway), um prazo máximo de atendimento... • Independente da placa de rede específica! Interface do Mouse: • Vai tratar eventos tais como ‘clic’ ou movimentação. • Independente do tipo de mouse! www.dutton.com.br/aluno
Dispositivos de entrada e saída Funções típicas e genéricas da interface • Buffer e Caches • Tratamento de erros • Escalonamento de dispositivo • Compartilhamento e controle de acesso (Semáforos!) • Mais funções “backdoor” www.dutton.com.br/aluno
Dispositivos de entrada e saída Tratamento de erros O Sistema Operacional deve identificar: • O tipo de erro • Transiente/permanente • SW / HW • Qual dispositivo é à origem do erro • Deve retornar o identificador do erro para o usuário. • Deve logar o erro. www.dutton.com.br/aluno
Dispositivos de entrada e saída Bufferização Buffer não é cache! Buffer = área de armazenamento temporário de dados. Útil para: • Ajustar tamanho de dados - Byte vs. Pacotes • Ajustar velocidades entre dispositivos • Possibilitar o assincronismo Mas cache é um buffer orientado ao desempenho! www.dutton.com.br/aluno
Dispositivos de entrada e saída Bufferização Problemas básicos: • Manutenção da coerência entre o buffer e os dados originais. • tamanho do buffer; • O que fazer quando estoura o buffer? • Aumentar o buffer... • Usar um outro buffer... • Usar vários outros buffers • Sistema de buffers circulares. www.dutton.com.br/aluno
Device Driver • Conjunto de estruturas de dados e funções que controlam um ou mais dispositivos interagindo com o núcleo via um interface bem definia. • Geralmente e fornecido pelo fabricante do periférico. • Vantagens como: • Possui um código especifico para o dispositivo • Facilidade de upgrade • Fabricante não precisa ter acesso ao núcleo do sistema. • O Nucleo tem uma visão uniforme dos dispositivos disponíveis. www.dutton.com.br/aluno
Entrada/Saída • Princípios do hardware de E/S • Princípios do software de E/S • Camadas do software de E/S • Relógios • Gerenciamento de energia
Princípios do Hardware de E/S • Diversidade de dispositivos • Tipos básicos de dispositivos • Arquitetura de E/S • Introdução aos barramentos • Controladores de dispositivos • Comunicação SO (CPU) – Controlador • Controle de interrupção
A Importância de E/S • Tipos de processo: • orientado à CPU (CPU-bound) • orientado à E/S (I/O-bound)
Princípios do Hardware de E/SDiversidade Taxas de dados típicas de dispositivos, redes e barramentos 125MB/s = 1Gb/s, Observe a diferença de Bytes (B) e bits (b)
Tipos básicos de dispositivos • Caracter: transferem bytes um a um. Ex.terminal • Bloco: transferem bytes em bloco. Ex. disco • Sequencial. Tem acesso em ordem fixa. Ex. modem • Acesso randômico: Ordem pode ser alterada. Ex CD-ROM • Síncrono: Tem tempo de resposta previsível. Ex. fita • Assíncrono: Tempo de resposta imprevisível. Ex. teclado • Compartilhável: pode ser usado por vários processos ao mesmo tempo. Ex. teclado • Dedicado. Só pode ser usado por um processo por vez. Ex. Impressora • Read-write, read only e write-only:disco, cdrom, video
Princípios do Hardware de E/S • Diversidade de dispositivos • Tipos básicos de dispositivos • Arquitetura de E/S • Introdução aos barramentos • Controladores de dispositivos • Comunicação SO (CPU) – Controlador • Controle de interrupção
Arquitetura de Entrada/Saída • Portas (ports) • Comunicação ponto a ponto • Ex: Porta serial e paralela • Barramentos (bus) • Conjunto de condutores elétricos e com um protocolo rígido que define como mensagens trafegam sobre esses condutores • Permite a comunicação entre vários componentes • Protocolo é um conjunto de regras que definem como as comunicações no barramento serão efetuadas
Arquitetura de E/S • Controladores • Hw que controla uma porta, barramento ou dispositivo(s)Ex: Controlador da porta serial Controlador SCSI (Small Computer System Interface) Controlador de disco • Device Drivers • Partes do S.O. que fornecem uma interface de acesso uniforme para cada dispositivo • Traduz as chamadas de alto nível (usuário) para o dispositivo específico • Conversão de dados • Detecção e correção de erros
Introdução aos BarramentosComparação EISA - Extended Industry Standard Architecture PCI - Peripheral Component Interconnect VLBUS (ou VLB) - VESA (Video Electronics Standards Association) Local Bus
CPU Barramento PCIPeripheral Component Interconnect Cache Bridge/ Cont. de memória DRAM Controlador de Vídeo AGP PCI bus slots Controlador EIDE Bridge para o ISA ou EISA LAN Controlador SCSI EISA bus ou ISA bus EIDE - Enhanced Integrated Drive Electronics ISA ou EISA slots
Barramentos • Dispositivos • Ativos ou Mestres - dispositivos que controlam o protocolo de acesso ao barramento para leitura ou escrita de dados • Passivos ou Escravos - dispositivos que simplesmente obedecem a requisição do mestre Exemplo: • CPU ordena que o controlador de disco leia ou escreva um bloco de dados A CPU é o mestre e o controlador de disco é o escravo
Princípios do Hardware de E/S • Diversidade de dispositivos • Tipos básicos de dispositivos • Arquitetura de E/S • Introdução aos barramentos • Controladores de dispositivos • Comunicação SO (CPU) – Controlador • Controle de interrupção
Controladores de Dispositivos • 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 blocos de bytes • executar toda correção de erro necessária • tornar o bloco disponível para ser copiado para a memória principal
Interface lógica com dispositivo exerno Interface lógica com dispositivo externo Comunicação S.O.(CPU) – ControladorDiagrama de um controlador Interface para barramento do sistema Interface para dispositivo externo Registrador de dados Dados Status Controle Linhas de Dados Status/Registrador de Controle Linhas de Endereço Linhas de Controle Dados Status Controle Lógica de E/S
Comunicação S.O.(CPU) - Controlador Como a CPU acessa a informação? • E/S isolada • Através de instruções especiais de E/S • Especifica a leitura/escrita de dados numa porta de E/S • E/S mapeada em memória • Através de instruções de leitura/escrita na memória • Híbrido (ex. IBM-PC): • E/S mapeada em memória: memória de vídeo • E/S isolada: dispositivos em geral
Comunicação S.O.(CPU) – Controlador • Espaços de memória e E/S separados - E/S isolada • E/S mapeada na memória • Híbrido
Comunicação S.O.(CPU) – ControladorE/S mapeada na memória (a) Arquitetura com barramento único (b) Arquitetura com barramento duplo (dual)
Comunicação S.O.(CPU) - Controlador Como a CPU sabe que o dispositivo já executou o comando? • E/S Programada • CPU lê constantemente o status do controlador e verifica se já acabou (Polling ou Busy-waiting) • Espera até o fim da operação • E/S por Interrupção • CPU é interrompida pelo módulo de E/S e ocorre transferência de dados • CPU continua a executar outras operações • E/S por DMA - Acesso Direto à Memória • Quando necessário, o controlador de E/S solicita ao controlador de DMA a transferência de dados de/para a memória • Nesta fase de transferência não há envolvimento da CPU • Ao fim da transferência, a CPU é interrompida e informada da transação
Secretária, por favor escreva o contrato agora para que eu possa assiná-lo; estou esperando. Pois não Sr., um momento Programa sem interrupção Contrato pronto, estou enviando Ok, Obrigado Secretária, por favor escreva o contrato agora, quando estiver pronto me avise. Pois não Sr. Programa com interrupção Um momento, estou terminado de escrever um ofício. ... agora pode enviar o contrato, obrigado. (Após receber o contrato, o chefe continua fazendo as outras atividades.....) Contrato pronto, posso enviá-lo? Boy, por favor apanhe os contratos que estão na pasta sobre a mesa do chefe para mim. Por favor não incomode o chefe. Acesso Direto à Memória Preciso enviar os contratos que estáo sobre a mesa do chefe para o correio Obrigada Correio Comunicação S.O.(CPU) – ControladorExemplo de comunicação com dispositivo CPU Ok, obrigado. Chefe, enviei os contratos que estavam sobre sua mesa. (Ao fim da transferência, a CPU é interrompida e informada da transação) Barramento E/S
E/S Programada (1) Passos da impressão de uma cadeia de caracteres
E/S Programada (2) count 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 • Código executado quando é feita a chamada ao sistema para impressão • Rotina de tratamento de interrupção
E/S Usando DMA(Acesso Direto à Memória) • Impressão de uma cadeia de caracteres usando DMA • Código executado quando é feita a chamada ao sistema para impressão • Rotina de tratamento de interrupção
Acesso Direto à Memória (DMA) Operação de uma transferência com DMA
Interrupções: Revisão 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
Controlador de InterrupçãoO 8259A do IBM-PC INT INTA IRQ0 IRQ1 IRQ2IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 ......... RD Controlador de Interrupções CPU WR • Sinais de controle: • IRQx - Interrupt request x • INT (Interrupt) - Houve interrupção • INTA (Int. Acknowledge) - Interrupção recebida • RD (Read) - Leitura • WR (Write) - Escrita • CS (Chip select) - Seleção do chip do controlador CS DADOS