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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Capitulo 6: Entrada e Saída
Transmissão de pacotes
Arquitetura de Computadores
Sistema Operacional Introdução
A Interface entre Processadores e Periféricos
DESENVOLVIMENTO DE SISTEMAS PARA INTERNET
Noções de Sistemas Operacionais
Sistemas operacionais
Barramentos Introdução.
Entrada e Saída Introdução.
Técnicas para operações E/S
Informática Aplica Prof.: Bruno Rafael de Oliveira Rodrigues.
4. Input / Output.
Entrada e Saída Ambientes Operacionais Prof. Simão Sirineo Toscani
Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Introdução à Informática
Chapter 4: Threads.
Sistemas Operacionais
Problemas com Entrada e Saída
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.
Maria Aparecida Castro Livi
Device Drivers no Windows e Linux Visão Geral e Boas Práticas
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Estudo de Caso 1: UNIX e LINUX
Sistemas Operacionais
Estruturas de Controle
09/03/10 20:13 Claudio de Oliveira – 1/21.
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
Sistemas Operacionais
Arquitetura de Computadores
Capítulo 5 - Entrada/Saída
Sistemas Operacionais I
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
9º ANO INTRODUÇÃO ÀS TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO
Sistemas Operacionais
Capítulo 13: Sistemas de E/S
Noções de Software Escola Almirante Soares Dutra
Entrada e Saída (E/S ou I/O)
Infra-Estrutura de Software
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Sistema de Entrada e Saída
Sistemas Operacionais
Entrada e Saída (E/S).
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 10: Interface de Sistemas de Arquivos.
Subsistema de Entrada e Saída do Kernel
Processador 2014/2015 Comunicação de Dados Ricardo Bento 12ºL.
SISTEMAS OPERACIONAIS
ORGANIZAÇÃO DA UNIDADE
Estrutura de Interconexão
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Disciplina: Organização de Computadores PROF: REGINALDO A. ANDRADE TURMA:
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Arquitetura de computadores
Disciplina: Sistema Operacional Professor: Luciano Ricardi Scorsin.
Sistemas Operacionais IV – Gerenciamento de E/S
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Modos de Transferência Acesso Direto à Memória (DMA) ARQUITETURA DE COMPUTADORES II Prof. César Augusto M. Marcon.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Gerência de Entrada e Saída (Aula 24). 2 Sistemas Operacionais LPRM/DI/UFES Dispositivos de Entrada e Saída (1) Constituídos de 2 partes: Mecânica Eletrônica.
Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 1981. 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

Referências Jonathan Corbet, Alessandro, Rubini, and Greg Kroah-Hartman “LINUX DEVICE DRIVERS”, 3rd Edition, editora O’REILLY http://lwn.net/images/pdf/LDD3/ LPRM/DI/UFES Sistemas Operacionais