A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerência de Entrada e Saída (Aula 24)

Apresentações semelhantes


Apresentação em tema: "Gerência de Entrada e Saída (Aula 24)"— Transcrição da apresentação:

1 Gerência de Entrada e Saída (Aula 24)

2 Dispositivos de Entrada e Saída (1)
Constituídos de 2 partes: Mecânica Eletrônica – Controladora ou Adaptadora Controladora Placa ligada a um slot livre, ou inserida diretamente na placa-mãe LPRM/DI/UFES Sistemas Operacionais

3 Dispositivos de Entrada e Saída (2)
Controladora (cont.) Implementa um conjunto de funções básicas para o dispositivo Também tratar o acesso do dispositivo ao barramento Tarefas típicas Converter fluxo serial de bits em bloco de bytes Correção de erros Tornar o bloco disponível para ser copiado para a memória principal Possui registradores usados para comunicar com o SO Seqüência e/ou valores armazenados nestes registradores determina a operação sendo realizada Tipicamente tem memória interna (buffer) Compatibilizar velocidades LPRM/DI/UFES Sistemas Operacionais

4 Princípios Básicos de Hardware
Tipos de conexão e transferência de dados Serial versus paralela Barramentos Técnicas para realização de E/S E/S programada, E/S orientada a interrupções, acesso direto a memória Mapeamento de endereços Em espaço de E/S e em espaço em memória Controladoras LPRM/DI/UFES Sistemas Operacionais

5 Tipos de interfaces (dados)
Define o modo como os dados são transferidos: Serial – bits transmitidos seqüencialmente em uma linha de dados Paralela – vários bits transmitidos simultaneamente (múltiplo de 8) Barramentos: Efetua a ligação com o dispositivo de E/S Porta Serial, Porta Paralela, USB, PS/2 PCI,AGP, PCI-E, SCSI, IDE, SATA, O barramento PCI (é paralelo) veio para substituir o barramento ISA, PCI Express (Peripheral Component Interconnect Express), officially abbreviated as PCIe (or PCI-E, as it is commonly called), designed to replace the older PCI, PCI-X, and AGP (paralelo). É SERIAL IDE = Parallel ATA Vários tipos de scsi, além disso: Traditional (Parallel) SCSI / Serial SCSI LPRM/DI/UFES Sistemas Operacionais

6 Mapeamento de Endereços
Mapeamento em espaço de entrada e saída Instruções especiais da CPU para E/S Opcodes separados (IN reg, [end16], OUT [end16], reg) Cada registrador está associado a uma porta de E/S Mapeamento em espaço de memória Associa um espaço de endereços de memória aos registradores Leitura/Escrita neste espaço realizam a operação sobre os registradores LPRM/DI/UFES Sistemas Operacionais Motorola Intel

7 Técnicas para realização de E/S (1)
Determina a forma de interação entre dispositivos e processador Três técnicas usadas: E/S Programada Interrupção Acesso Direto à Memória. LPRM/DI/UFES Sistemas Operacionais

8 Técnicas para realização de E/S (2)
E/S Programada Interação com o dispositivo é responsabilidade do programador Ciclo de funcionamento Envio do comando ao dispositivo Espera pela realização do comando A CPU deve aguardar o término da operação Controladora atualiza bits nos seus registradores de status Processador espera término da operação Desvantagem Desperdício do processador (verificando estado da operação) Solução: Inserir operações entre operações (polling) ... mas em que freqüência? LPRM/DI/UFES Sistemas Operacionais

9 Técnicas para realização de E/S (3)
E/S Orientada a Interrupção O processador é apenas responsável por iniciar uma operação de E/S O dispositivo interrompe a CPU quando necessário ou quando a operação de E/S terminar Requer hardware especial: Controlador de interrupções: Identifica o dispositivo que gerou a interrupção Define a prioridade das interrupções Define quais serão atendidas (mascaramento) LPRM/DI/UFES Sistemas Operacionais

10 Técnicas para realização de E/S (4)
E/S Orientada a Interrupção (cont.) LPRM/DI/UFES Sistemas Operacionais

11 Técnicas para realização de E/S (5)
Acesso direto à memória (DMA) Em grandes quantidades de dados, gasta-se tempo do processador transferindo dados entre a memória e o dispositivo Controlador de DMA: Realiza a transferência sem o processador O processador fornece a posição inicial, quantidade, origem e destino ao controlador de DMA O processador é liberado para outras tarefas O controlador compartilha o barramento e realiza a transferência Terminando a transferência, o controlador gera uma interrupção LPRM/DI/UFES Sistemas Operacionais

12 Técnicas para realização de E/S (5)
LPRM/DI/UFES Sistemas Operacionais

13 Subsistema (Software) de Entrada e Saída (1)
Objetivos Fornecer uma interface “amigável” para utilização dos dispositivos de E/S Uniformizar o tratamento dos dispositivos “Esconder” detalhes de mais “baixo nível” Permitir a inclusão de novos dispositivos Facilitar a correção de erros gerados pelo dispositivo Explorar eficientemente os dispositivos de E/S Desempenho Compartilhamento dos dispositivos de E/S Alocação dos dispositivos Escalonamento de requisições LPRM/DI/UFES Sistemas Operacionais

14 Subsistema (Software) de Entrada e Saída (2)
LPRM/DI/UFES Sistemas Operacionais

15 Subsistema (Software) de Entrada e Saída (3)
LPRM/DI/UFES Sistemas Operacionais

16 Subsistema (Software) de Entrada e Saída (4)
Software de E/S de usuário: Realiza chamadas de alto nível ao software de E/S independente de dispositivo: Wrappers para chamadas de sistema Abrir/fechar arquivo, ler/escrever dados, etc. LPRM/DI/UFES Sistemas Operacionais

17 Subsistema (Software) de Entrada e Saída (5)
Interface do subsistema de E/S dispositivos “abstratos” de E/S Cada representa uma classe de dispositivos de E/S Dispositivos “abstratos” Orientado a bloco (block device) Orientado a caractere (stream, character device) Rede LPRM/DI/UFES Sistemas Operacionais

18 Subsistema (Software) de Entrada e Saída (6)
Interface do subsistema de E/S (cont.) Dispositivos Orientado a bloco Organiza dados em blocos de tamanho fixo Acessa diretamente um bloco de dados Blocos são identificados por endereços (número do bloco) ex: blocos de disco Operações típicas: open( ), read( ), write( ) e close( ) Disponibilizadas aos usuários via sistema de arquivos LPRM/DI/UFES Sistemas Operacionais

19 Subsistema (Software) de Entrada e Saída (7)
Interface do subsistema de E/S (cont.) Dispositivos Orientado a caractere Controla dispositivos que produzem ou consomem conjunto de dados de tamanho arbitrário Operações típicas: put( ) e get( ) ex: teclado, vídeo, mouse, impressora, etc... Operações específicas (inversão de cores, bip, inicialização, etc) são fornecidas por uma função genérica io_control( ) LPRM/DI/UFES Sistemas Operacionais

20 Subsistema (Software) de Entrada e Saída (8)
Interface do subsistema de E/S (cont.) Dispositivos Orientado a rede Controle e acesso a dispositivos que estão fisicamente instalados em outros equipamentos Necessário estabelecimento de conexões Interface típica são sockets Operações típicas: open( ), close( ), create( ) Suporte a serviços: orientado a conexão: connect( ), accept( ), read( ), write( ) sem conexão: send( ) e recv( ) Existem outras formas de se classificar modulos de drivers ortogonais à class. Acima. Algums tipos de drivers funcionam com camadas adicionais de funcoes de suporte do kernael p/ um dado tipo de dispositivo. Por exemploe, Modulo USB... Todo dispositivo USB é dirigido por um módulo USB que fucina c/ o sub sistema USB, mas o dispositivo em si pode “aparecer” no sistema como um char device (porta serial USB), um block device (um cartao de memoria) ou um network device (USB Ethernet interface) LPRM/DI/UFES Sistemas Operacionais

21 Subsistema (Software) de Entrada e Saída (9)
Software de E/S independente de dispositivo Implementa funções gerais comuns a todos os dispositivos Atribuição uniforme do nome independente do dispositivo O UNIX é um exemplo clássico: Nome do dispositivo é um string LPRM/DI/UFES Sistemas Operacionais

22 Subsistema (Software) de Entrada e Saída (10)
Software de E/S independente de dispositivo Implementa os serviços de: Escalonamento de E/S: reordena as requisições para melhorar desempenho Identificação (denominação) : nome lógico no SO Bufferização: área de memória para armazenamento temporário de dados. Ajusta velocidade entre as camadas Cache de dados: área de memória para armazenar dados usados com mais freqüência, melhorando desempenho Direitos de Acesso Tratamento de erros LPRM/DI/UFES Sistemas Operacionais

23 Subsistema (Software) de Entrada e Saída (11)
Software de E/S independente de dispositivo (cont.) Buffer: Área de armazenamento temporário de dados Por que usar? Ajustar velocidades entre produtores e consumidores e.g. transmissão de dados via modem (baixa velocidade) Ajustar unidades de transferência de dados de tamanho diferentes e.g. pilha de protocolo de redes Cache Importante buffer não é sinônimo de cache Embora as caches sejam um tipo de buffer O objetivo de uso de cache é desempenho LPRM/DI/UFES Sistemas Operacionais

24 Subsistema (Software) de Entrada e Saída (12)
Drivers de dispositivo Receber comandos da camada superior (independente de dispositivo) e interagir com os dispositivos Implementa a interface padrão como seqüência de acesso aos registradores LPRM/DI/UFES Sistemas Operacionais

25 Subsistema (Software) de Entrada e Saída (12)
Drivers de dispositivo (cont.) Em geral, devem rodar no modo kernel Desenvolvidos pelo fabricante do dispositivo Dispositivos mais comuns podem ter o driver incluído no Sistema Operacional Vantagens Isolar o código específico a um dispositivo em um módulo aparte Fabricantes ñ precisam mexer no kernel Facilidade de adicionar novos drivers LPRM/DI/UFES Sistemas Operacionais

26 Entrada e Saída no Unix O Unix mapeia os dispositivos de entrada e saída em arquivos especiais Dispositivos localizados no diretório /dev /dev/fd0 Disquete /dev/hda – Mestre do barramento IDE 1 /dev/hdb – Escravo do barramento IDE 1 /dev/hdc – Mestre do barramento IDE 2 /dev/hdd – Escravo do barramento IDE 2 No caso de discos, um número inteiro concatenado ao dispositivo indica a partição /dev/hda1 – Primeira partição do dispositivo mestre do barramento ide 1 O suporte a drives SCSI é usado (com pequenas adaptações) para dar suporte a outros tipos de dispositivos um HD SATA e um pendrive, instalados na mesma máquina o HD será visto como "/dev/sda" (pois é inicializado primeiro, logo no início do boot) e o pendrive como "/dev/sdb" No Linux existe ainda a necessidade de criar uma partição separada para a memória swap. PARTICOES O sistema nunca acessa os dados dentro da partição diretamente. Ao invés disso, ele permite que você "monte" a partição numa determinada pasta e acesse os arquivos dentro da partição através dela, o que é feito usando o comando "mount". A sintaxe básica inclui o dispositivo e a pasta onde ele será acessado, como em: # mount /dev/hda2 /mnt/hda2 O mais comum é que as partições "extras" sejam montadas dentro da pasta "/mnt", que é própria para a tarefa, mas isso não é uma regra; você pode montar as partições em qualquer pasta vazia. Não se esqueça de criar a pasta desejada, se necessário, usando o comando "mkdir". Podemos ter um total de 4 partições primárias ou três partições primárias e mais uma partição estendida, que pode englobar até 255 partições lógicas. É justamente a partição lógica que permite dividir o HD em mais de 4 partições. Esta limitação das 4 partições primárias é uma limitação que existe desde o primeiro PC, lançado em Os projetistas que escreveram o BIOS para ele precisavam economizar memória e chegaram à conclusão que 2 bits (4 combinações) para o endereço das partições seriam suficientes, pois na época os HDs mais vendidos tinham apenas 5 MB e só existia um sistema operacional para PCs (o MS-DOS), de forma que era raro alguém precisar criar mais de uma partição. As coisas mudaram "um pouco" de lá pra cá, mas infelizmente a limitação continua até os dias de hoje. Para amenizar o problema, foi adicionada a possibilidade de criar partições lógicas. Em vez de criar 4 partições primárias e ficar sem endereços para criar novas partições, você cria uma "partição estendida", que é uma espécie de container, que permite criar mais partições. A partição estendida contém uma área extra de endereçamento, que permite endereçar as 255 partições lógicas. É possível criar até 4 partições estendidas, de forma que (em teoria) é possível dividir o HD em até 1020 partições. LPRM/DI/UFES Sistemas Operacionais

27 Referências Jonathan Corbet, Alessandro, Rubini, and Greg Kroah-Hartman “LINUX DEVICE DRIVERS”, 3rd Edition, editora O’REILLY LPRM/DI/UFES Sistemas Operacionais


Carregar ppt "Gerência de Entrada e Saída (Aula 24)"

Apresentações semelhantes


Anúncios Google