SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Sistemas de Entrada/Saída   
                            
       Princípios de Hardware
  Visão Geral
         Princípios de Hardware
                 Dispositivos de E/S
                 Estrutura Típica do Barramento de um PC 
                 Controladores de Dispositivos
                 Interrupções
                 Acesso Direto à Memória




Eduardo Nicola F. Zagari
                          2
         Sistemas Operacionais -Entrada e Saída
  Dispositivos podem variar de diversas maneiras:
                       Transf. por caractere (terminal) ou por bloco deles (disco)
                       O acesso aos dados armazenados pode ser seqüencial (modem)
                            ou aleatório (CD-ROM)
                       Os dados podem ser transferidos de forma síncrona (fita) ou
                            assíncrona (teclado)
                       Os dispositivos podem ser restritos a um único processo (fi-ta) ou
                            compartilhados simultaneamente por vários (teclado)
                       O acesso pode ser apenas para leitura (CD-ROM), apenas para
                            escrita (CRT) ou para leitura e escrita (disco)
                       A velocidade de acesso pode variar muito (freqüentemente, estes
                            dispositivos são os mais lentos de um sistema computacional)




Eduardo Nicola F. Zagari
                               3
                     Sistemas Operacionais -Entrada e Saída
  Principais objetivos:
                       estabelecer uma interface que seja a mais simples possível para
                            que as aplicações possam controlar as distintas características dos
                            dispositivos de entrada/saída
                       otimizar a entrada/saída para obtenção de um maior paralelismo,
                            tendo em vista que tais dispositivos são em geral componentes
                            críticos para o desempenho
               Enfim,




           Controlar todos os dispositivos de entrada/saída (E/S) do computador,
                          emitindo comandos para os dispositivos,
                       atendendo interrupções e manipulando erros.


Eduardo Nicola F. Zagari
                              4
                   Sistemas Operacionais -Entrada e Saída
  Estruturação em camadas de HW e SW, a fim de prover uma
                   interface simples e confiável para o usuário e suas aplicações.
               Desta forma, as camadas inferiores escondem das superiores os
                   diversos detalhes (características) de cada periférico e suas
                   diferenças (velocidade de operação, unidade de transferência,
                   representação de dados, tipos de operação etc).




Eduardo Nicola F. Zagari
                      5
                 Sistemas Operacionais -Entrada e Saída
Processos



                            Operações de E/S       Independente do
                                                      dispositivo
            Software




                            Subsistema de E/S


                             Device Drivers
                             Manipuladores
                             de Interrupção
                             Controladores         Dependente do
            Hardware




                                                    dispositivo

                              Dispositivos



Eduardo Nicola F. Zagari
                     6
    Sistemas Operacionais -Entrada e Saída
  Responsáveis pela comunicação entre o computador e o mundo
                   externo.
               Muitos tipos de dispositivos são usados em computadores,
                   como:
                       dispositivos de armazenamento (discos, fitas)
                       dispositivos de transmissão (placas de rede, modems)
                       dispositivos de interface com usuários (tela, teclado, mouse)
               A transferência de dados, realizada por intermédio dos
                   controladores, pode ser através de blocos de informações ou
                   palavra a palavra.




Eduardo Nicola F. Zagari
                          7
                    Sistemas Operacionais -Entrada e Saída
  São classificados em:


                       Dispositivos de blocos:
                             armazenam informações em blocos de tamanho fixo
                              (normalmente entre 128 e 4096 bytes)
                             cada bloco possui seu próprio endereço
                             é possível ler ou escrever cada bloco independentemente
                              (acessando o bloco pelo seu endereço)
                             Podem ser:
                               –  Acesso Direto: p. ex., disco magnético
                               –  Acesso Seqüencial: p. ex., fita magnética




Eduardo Nicola F. Zagari
                             8
                      Sistemas Operacionais -Entrada e Saída
  Dispositivos de caracteres:
                             enviam ou recebem uma seqüência de caracteres sem estar
                              estruturada no formato de blocos
                             seqüência de caracteres não é endereçável (não são possíveis
                              operações de acesso aos dados)
                             Exemplos:
                               –  terminais, impressoras, interfaces de rede e leitoras óticas


                       Existem exceções: 
                             p. ex., relógios (não são endereçáveis e nem geram ou aceitam
                              filas de caracteres): tudo o que fazem é gerar interrupções em
                              intervalos de tempo regulares




Eduardo Nicola F. Zagari
                             9
                     Sistemas Operacionais -Entrada e Saída
  A comunicação de um dispositivo com o sistema computacional
                   é feita através do envio de sinais (cabo ou ar) num ponto de
                   conexão chamado de porta.
               O meio usado por um ou mais dispositivos para conexão com o
                   computador é chamado de barramento.
               Para cada barramento, é definido um protocolo que especifica
                   um conjunto de mensagens que podem ser enviadas pelos fios.




Eduardo Nicola F. Zagari
                     10
                 Sistemas Operacionais -Entrada e Saída
disco




                                                                                  barramento SCSI
                monitor             processador
                                                                                                               disco
                                                       memória
                                                        cache                                                  disco
          Controlador de            Controlador
                                                      memória                                                  disco
          terminal gráfico          de memória
                                                                         Controlador SCSI

                                                  Barramento PCI


                    Controlador                                  Interface do
                    de disco IDE                            barramento de expansão                          teclado


                   disco    disco                                  barramento de expansão


                   disco    disco                                porta paralela                     porta serial

Eduardo Nicola F. Zagari
                             11
                         Sistemas Operacionais -Entrada e Saída
  Unidades de E/S consistem tipicamente de
                 Componentes mecânicos (o dispositivo propriamente dito)
                 Componentes eletrônicos (o controlador)
         Tal diferença deve ser ressaltada, uma vez que o SO vê o
             controlador e não o dispositivo
         Normalmente, mini e microcomputadores usam um barramento
             único para comunicação entre CPU e os controladores (através de
             device drivers)
         Mainframes freqüentemente usam um modelo diferente, no qual
             múltiplos barramentos e computadores especializados de E/S
             (canais de E/S) aliviam parte da carga da CPU




Eduardo Nicola F. Zagari
                       12
                 Sistemas Operacionais -Entrada e Saída
  Como o processador envia comandos e dados a um controlador
             para que seja feita uma transf. de dados?
                 O controlador possui memória e registradores próprios para armazenar
                   dados e sinais de controle, de forma a executar instruções enviadas
                   pelo device driver
                 O SO realiza E/S, escrevendo comandos e seus parâmetros nestes
                   registradores dos controladores.
                      As instruções de E/S especiais podem ser usadas para especificar
                            a transferência de um byte ou palavra para uma porta de E/S, que
                            tem um determinado endereço
                      A instrução de E/S faz com que o dispositivo apropriado seja
                            selecionado de acordo com o sinal transmitido no barramento e que
                            os bits sejam então transferidos para um registrador ou a partir de
                            um registrador do disp.


Eduardo Nicola F. Zagari
                              13
                  Sistemas Operacionais -Entrada e Saída
 Uma alternativa à operação de E/S, é que o controlador forneça
                              suporte à E/S mapeada em memória. Nesse caso, os
                              registradores do controlador correspondem à determinados
                              endereços no espaço de endereçamento do processador. As
                              operações de E/S são, então, executas usando-se instruções
                              normais de transferência de dados, que correspondem a ler ou
                              escrever valores nos registradores do dispositivo. 
                             Alguns sistemas usam ambas as técnicas, como é o caso dos
                              PCs: um controlador de terminal gráfico tem portas de E/S para
                              operações básicas, mas uma região grande de memória é usada
                              para mapeamento do conteúdo de telas.




Eduardo Nicola F. Zagari
                            14
                  Sistemas Operacionais -Entrada e Saída
  Um exemplo: Controlador de Terminal Gráfico
                       trabalha como um dispositivo serial de bits e em baixo nível, ou
                            seja, lê da memória o byte contendo o caractere a ser exibido e
                            gera os sinais usados na modulação do feixe do CRT para causar a
                            escrita na tela
                       o controlador também gera os sinais para o feixe CRT fazer o
                            retraço horizontal após ele ter terminado de esquadrinhar a linha,
                            bem como, sinais para fazer o retraço vertical após a tela toda ter
                            sido esquadrinhada;




Eduardo Nicola F. Zagari
                              15
                    Sistemas Operacionais -Entrada e Saída
Retraço Horizontal



                                                                                Retraço Ve




Eduardo Nicola F. Zagari
              16
   Sistemas Operacionais -Entrada e Saída
  O problema da Espera em Ciclo (CPU x Controlador):
                       Controlador usa bit ocupado no registrador de status
                       CPU usa bit processar no registrador de controle
                       Suponha que a CPU escreva dados em uma porta, comunicando-se
                            com o controlador, da seguinte forma:
                              CPU lê repetidamente o bit ocupado
                              CPU liga o bit escrever no reg. de controle e armazena
                               saída no reg. de saída de dados
                              CPU liga bit processar
                              Quando controlador nota bit processar ligado, ele liga bit
                               ocupado




Eduardo Nicola F. Zagari
                             17
                  Sistemas Operacionais -Entrada e Saída
 Controlador lê registrador de controle e realiza a operação de
                              escrita no dispositivo
                             Controlador desliga bit processar, desliga o bit erro no
                              registrador de status (operação com sucesso) e desliga bit
                              ocupado (operação terminada).
                       Problema: No passo 1, CPU faz espera em ciclo
                             Se tempos da CPU e do controlador forem diferentes...
                             ...CPU deve ser alocada à realização de outras tarefas
                       Problema: p.ex., dados chegando a uma porta serial, teclado etc
                             Solução: exec instr/testa/exec instr/testa...(ineficiente)
                             Então, como avisar à CPU que o controlador está ocioso?


                                    Mecanismo de Interrupções

Eduardo Nicola F. Zagari
                               18
                   Sistemas Operacionais -Entrada e Saída
  Quando um comando é aceito, a CPU é liberada pelo SO para outra
                            tarefa.
                              Não é necessário que a CPU fique testando repetidamente se o
                               dispositivo já está pronto, o que seria muito ineficiente. Isto é
                               possível, através do mecanismo de interrupções.
                       Quando o comando termina de ser executado, o controlador causa
                            uma interrupção, fazendo o SO tomar controle da CPU e testar o
                            resultado da operação.
                       A CPU obtém o resultado lendo um ou mais bytes nos registradores
                            de saída de dados do controlador




Eduardo Nicola F. Zagari
                              19
                    Sistemas Operacionais -Entrada e Saída
  As interrupções são muito usadas em SOs modernos para o tratamento de
             eventos assíncronos (p. ex., um controlador ficar pronto para operações de
             E/S, falhas de hardware ou chamadas a rotinas do sistema), desviando o
             controle para rot. do núcleo.
         Funcionamento:
                 O hardware da CPU tem um fio chamado de linha de requisição de
                   interrupções, que é testado pela CPU depois da execução de cada
                   instrução
                 Quando a CPU detecta que um controlador enviou um sinal na linha de
                   requisição de interrupções (provocou uma interrupção), ela armazena
                   alguns poucos valores referentes ao seu estado na pilha do processo
                   (PC, SP etc) e desvia para uma rotina de tratamento de interrupções
                   em um determinado endereço de memória.




Eduardo Nicola F. Zagari
                       20
                  Sistemas Operacionais -Entrada e Saída
  O tratador de interrupções realiza (trata) o processamento
                            necessário e executa uma instrução de retorno da interrupção, que
                            faz a CPU retornar ao estado anterior à interrupção.
               Recursos mais complexos:
                       Desabilitação de interrupções (em fases críticas)
                              CPU usa 2 linhas de requisição de interrupções: 
                                –  uma para requisições que não podem ser desabilitadas
                                   (erros de memória irrecuperáveis, p.ex.)
                                –  outra para aquelas que podem ser desabilitadas (os
                                   dispositivos fazem suas requisições por estas linhas)




Eduardo Nicola F. Zagari
                              21
                   Sistemas Operacionais -Entrada e Saída
  Vetor de Interrupções
                             Cada interrupção gera um endereço que, na maioria das
                              arquiteturas, é usado como um índice em uma tabela (vetor de
                              interrupções), que contém endereços de memória das rotinas de
                              tratamento de interrupção 




Eduardo Nicola F. Zagari
                           22
                 Sistemas Operacionais -Entrada e Saída
  Níveis de prioridade de interrupções
                             Esse sistema permite à CPU protelar o tratamento de
                              interrupções de baixa prioridade sem desabilitar todas as
                              interrupções e possibilita que o controle da execução de uma
                              interrupção seja interrompido e transferido para uma interrupção
                              de alta prioridade.
                             Exemplos de situações que geram interrupções:
                               –  Operações de E/S
                               –  Tratamento de exceções (div. por zero, end. proteg.)
                               –  Mecanismo de paginação
                               –  Chamadas a rotinas do núcleo (system calls)
                               –  Gerenciamento do fluxo de execução do núcleo (per-mite
                                  que trabalhos urgentes sejam tratados primeiro)




Eduardo Nicola F. Zagari
                             23
                  Sistemas Operacionais -Entrada e Saída
  Operação de leitura em disco sem suporte à DMA:
                       Device Driver executa operação de E/S gravando comando no
                            registrador do controlador
                       Controlador lê o bloco do dispositivo, bit a bit, para seu buffer
                            interno
                       Controlador executa verificação de erros (checksum)
                       Controlador causa interrupção
                       SO reassume CPU e lê o bloco do buffer do controlador para a
                            memória byte a byte (chamado de E/S programada)
                                       »  Isto consome um tempo apreciável da CPU
                                       »  Solução: usar DMA (Direct Memory Access) 




Eduardo Nicola F. Zagari
                                 24
                Sistemas Operacionais -Entrada e Saída
  Controladores que suportam DMA:
                       CPU (SO) fornece, além do endereço do bloco a ser lido:
                              endereço de memória para onde o bloco deve ser copiado
                              número de bytes a serem transferidos
                       Controlador lê bloco
                       Controlador efetua checksum
                       Controlador de DMA copia, via barramento, byte a byte, as
                            informações do buffer para a memória principal
                       Controlador causa interrupção
                       SO reassume CPU com os dados já disponíveis ao processo que
                            os solicitou




Eduardo Nicola F. Zagari
                             25
                     Sistemas Operacionais -Entrada e Saída
processador

                                                           memória
                                                            cache
                    DMA/barramento/
                                      barramento entre
                     controlador de                         memória
                                       memória e CPU
                      interrupções

                                          Barramento PCI


                    Controlador
                    de disco IDE

                                                         Sinais:
                   disco    disco                                  Requisição de DMA
                                                                   Confirmação de DMA
                   disco    disco

Eduardo Nicola F. Zagari
                      26
                    Sistemas Operacionais -Entrada e Saída
  Por que o controlador puro não armazena diretamente os bytes na
             memória, tão logo ele os obtenha? Isto é, por que usar um buffer
             interno?
                 Diferença de velocidade ⇒ vários acessos ao barramento
         Ainda há um problema: enquanto controlador faz transferência de
             dados de/para a memória, próximo setor passa por debaixo da
             cabeça do disco 
                 Solução: intercalação


                   7        0                      7         0                 5     0
               6                1              3                 4         2             3
               5                2              6                 1        7              6
                   4        3                      2         5                 4     1
           Sem Intercalação                Intercalação Simples      Intercalação Dupla

Eduardo Nicola F. Zagari
                              27
           Sistemas Operacionais -Entrada e Saída

Mais conteúdo relacionado

Mais procurados

Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10LucasMansueto
 
Curso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computadorCurso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computadorPerondi15
 
Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadoresPimentel
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaSuzana Viana Mota
 
Aula02 - Componentes de um Computador
Aula02 - Componentes de um ComputadorAula02 - Componentes de um Computador
Aula02 - Componentes de um ComputadorSuzana Viana Mota
 
Partes do Computador
Partes do ComputadorPartes do Computador
Partes do ComputadorAnabelazita
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareSuzana Viana Mota
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoSuzana Viana Mota
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informáticasocrahn
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Sistema operacional windows_10
Sistema operacional windows_10Sistema operacional windows_10
Sistema operacional windows_10Oseas_Lima
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Aula 07 8 periféricos de um
Aula 07  8 periféricos de umAula 07  8 periféricos de um
Aula 07 8 periféricos de umMarcos Basilio
 
Módulo 1 - Noções Básicas de Hardware e Software
Módulo 1 - Noções Básicas de Hardware e SoftwareMódulo 1 - Noções Básicas de Hardware e Software
Módulo 1 - Noções Básicas de Hardware e SoftwarePaulo Guimarães
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorSuzana Viana Mota
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresWellington Oliveira
 

Mais procurados (20)

Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10Aula 01 - Sistemas Operacionais - Windows 10
Aula 01 - Sistemas Operacionais - Windows 10
 
Curso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computadorCurso de Informatica Básica - Noções básicas de um computador
Curso de Informatica Básica - Noções básicas de um computador
 
Pacote office
Pacote officePacote office
Pacote office
 
Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadores
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
 
Aula02 - Componentes de um Computador
Aula02 - Componentes de um ComputadorAula02 - Componentes de um Computador
Aula02 - Componentes de um Computador
 
Partes do Computador
Partes do ComputadorPartes do Computador
Partes do Computador
 
Aula 03 - Hardware e Software
Aula 03 - Hardware e SoftwareAula 03 - Hardware e Software
Aula 03 - Hardware e Software
 
Aula 04 - Medidas de Armazenamento
Aula 04 - Medidas de ArmazenamentoAula 04 - Medidas de Armazenamento
Aula 04 - Medidas de Armazenamento
 
1ª aula introdução a informática
1ª aula introdução a informática1ª aula introdução a informática
1ª aula introdução a informática
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistema operacional windows_10
Sistema operacional windows_10Sistema operacional windows_10
Sistema operacional windows_10
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 07 8 periféricos de um
Aula 07  8 periféricos de umAula 07  8 periféricos de um
Aula 07 8 periféricos de um
 
Módulo 1 - Noções Básicas de Hardware e Software
Módulo 1 - Noções Básicas de Hardware e SoftwareMódulo 1 - Noções Básicas de Hardware e Software
Módulo 1 - Noções Básicas de Hardware e Software
 
Informatica Básica - Sexta Básica
Informatica Básica - Sexta BásicaInformatica Básica - Sexta Básica
Informatica Básica - Sexta Básica
 
Aula 5 bios
Aula 5 biosAula 5 bios
Aula 5 bios
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do Computador
 
Barramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de ComputadoresBarramento do Sistema - Arquitetura e Organização de Computadores
Barramento do Sistema - Arquitetura e Organização de Computadores
 
Informática Básica - Aula 04 - Software
Informática Básica - Aula 04 - SoftwareInformática Básica - Aula 04 - Software
Informática Básica - Aula 04 - Software
 

Destaque

Trabalho sobre periféricos de entrada, saída, entrada e de entrada saída
Trabalho sobre periféricos de entrada, saída, entrada e de entrada saídaTrabalho sobre periféricos de entrada, saída, entrada e de entrada saída
Trabalho sobre periféricos de entrada, saída, entrada e de entrada saídaTaniabastos15
 
periféricos de entrada, saída e mistos
periféricos de entrada, saída e mistosperiféricos de entrada, saída e mistos
periféricos de entrada, saída e mistosRaquel Guimaraes
 
Administracao de edificios (1)
Administracao de edificios (1)Administracao de edificios (1)
Administracao de edificios (1)Arcano Trimegisto
 
Técnicas de analise de risco
Técnicas de analise de risco Técnicas de analise de risco
Técnicas de analise de risco Victor Akuma
 
Apostila Hardware Completa
Apostila Hardware CompletaApostila Hardware Completa
Apostila Hardware CompletaHudson Augusto
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosRobson Ferreira
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesMauro Duarte
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesMauro Duarte
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesMauro Duarte
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosLuiz Arthur
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesMauro Duarte
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadoresMauro Duarte
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos BásicosMauro Duarte
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata Mauro Duarte
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06R D
 

Destaque (20)

Dispositivos de entrada e saída
Dispositivos de entrada e saídaDispositivos de entrada e saída
Dispositivos de entrada e saída
 
Trabalho sobre periféricos de entrada, saída, entrada e de entrada saída
Trabalho sobre periféricos de entrada, saída, entrada e de entrada saídaTrabalho sobre periféricos de entrada, saída, entrada e de entrada saída
Trabalho sobre periféricos de entrada, saída, entrada e de entrada saída
 
SO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: SoftwareSO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: Software
 
io
ioio
io
 
periféricos de entrada, saída e mistos
periféricos de entrada, saída e mistosperiféricos de entrada, saída e mistos
periféricos de entrada, saída e mistos
 
Administracao de edificios (1)
Administracao de edificios (1)Administracao de edificios (1)
Administracao de edificios (1)
 
Técnicas de analise de risco
Técnicas de analise de risco Técnicas de analise de risco
Técnicas de analise de risco
 
Apostila Hardware Completa
Apostila Hardware CompletaApostila Hardware Completa
Apostila Hardware Completa
 
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processosSeminário 1º Tema parte III - Estados de processos e escalonamento de processos
Seminário 1º Tema parte III - Estados de processos e escalonamento de processos
 
Os pássaros
Os pássarosOs pássaros
Os pássaros
 
Otimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril BorgesOtimistas ou pessimistas - Caril Borges
Otimistas ou pessimistas - Caril Borges
 
Perdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril BorgesPerdoando como José perdoou - Caril Borges
Perdoando como José perdoou - Caril Borges
 
As armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril BorgesAs armadilhas de satanás - Caril Borges
As armadilhas de satanás - Caril Borges
 
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando ProcessosSistemas Operacionais - Gnu/Linux Gerenciando Processos
Sistemas Operacionais - Gnu/Linux Gerenciando Processos
 
Porque tanta pressa - Caril Borges
Porque tanta pressa - Caril BorgesPorque tanta pressa - Caril Borges
Porque tanta pressa - Caril Borges
 
00 apresentação desenvolvimento em redes de computadores
00   apresentação desenvolvimento em redes de computadores00   apresentação desenvolvimento em redes de computadores
00 apresentação desenvolvimento em redes de computadores
 
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
01   Desenvolvimento em Redes de Computadores - Comandos Básicos01   Desenvolvimento em Redes de Computadores - Comandos Básicos
01 Desenvolvimento em Redes de Computadores - Comandos Básicos
 
CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata CSS - Folhas de Estilo em Cascata
CSS - Folhas de Estilo em Cascata
 
Apresentacao Aula04 So
Apresentacao Aula04 SoApresentacao Aula04 So
Apresentacao Aula04 So
 
Resumo aula 06
Resumo aula 06Resumo aula 06
Resumo aula 06
 

Semelhante a SO-09 Entrada e Saída: Hardware

Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]SergioSouza
 
Windows7educacao brz-web
Windows7educacao brz-webWindows7educacao brz-web
Windows7educacao brz-webPatibcosta
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamentoJackerCastilho
 
Estrutura básica de um computador
Estrutura básica de um computadorEstrutura básica de um computador
Estrutura básica de um computadorAna Covas Grilo
 
Estrutura Básica de um
Estrutura Básica de um Estrutura Básica de um
Estrutura Básica de um Ana Covas Grilo
 
TIC Unidade 1.3. Estrutura e funcionamento de um computador
TIC Unidade 1.3.   Estrutura e funcionamento de um computadorTIC Unidade 1.3.   Estrutura e funcionamento de um computador
TIC Unidade 1.3. Estrutura e funcionamento de um computadorfilipereira
 
Sistema Operacional - Aula002
Sistema Operacional - Aula002Sistema Operacional - Aula002
Sistema Operacional - Aula002Cláudio Amaral
 
Unidade II - hardware
Unidade II -  hardwareUnidade II -  hardware
Unidade II - hardwareDaniel Moura
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saídaComputação Depressão
 
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12Rodrigo Botelho
 
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12Rodrigo Botelho
 
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12Rodrigo Botelho
 

Semelhante a SO-09 Entrada e Saída: Hardware (20)

Entrada e saida cap 05 (iii unidade)
Entrada e saida  cap 05 (iii unidade)Entrada e saida  cap 05 (iii unidade)
Entrada e saida cap 05 (iii unidade)
 
Entrada Saida
Entrada SaidaEntrada Saida
Entrada Saida
 
Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
 
Windows7educacao brz-web
Windows7educacao brz-webWindows7educacao brz-web
Windows7educacao brz-web
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamento
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
Estrutura básica de um computador
Estrutura básica de um computadorEstrutura básica de um computador
Estrutura básica de um computador
 
Estrutura Básica de um
Estrutura Básica de um Estrutura Básica de um
Estrutura Básica de um
 
TIC Unidade 1.3. Estrutura e funcionamento de um computador
TIC Unidade 1.3.   Estrutura e funcionamento de um computadorTIC Unidade 1.3.   Estrutura e funcionamento de um computador
TIC Unidade 1.3. Estrutura e funcionamento de um computador
 
Hardware parte1
Hardware parte1Hardware parte1
Hardware parte1
 
Hardware parte1
Hardware parte1Hardware parte1
Hardware parte1
 
Sistema Operacional - Aula002
Sistema Operacional - Aula002Sistema Operacional - Aula002
Sistema Operacional - Aula002
 
Sistema Operativo
Sistema OperativoSistema Operativo
Sistema Operativo
 
Unidade II - hardware
Unidade II -  hardwareUnidade II -  hardware
Unidade II - hardware
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Bus ou Barramento
Bus ou BarramentoBus ou Barramento
Bus ou Barramento
 
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
 
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
 
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12Sistemas Operacionais   GerêNcia De Dispositivos De Io   CapíTulo 12
Sistemas Operacionais GerêNcia De Dispositivos De Io CapíTulo 12
 

Mais de Eduardo Nicola F. Zagari

Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasOnix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasEduardo Nicola F. Zagari
 
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSUma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSEduardo Nicola F. Zagari
 
Uma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxUma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxEduardo Nicola F. Zagari
 
Módulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealMódulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealEduardo Nicola F. Zagari
 
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Eduardo Nicola F. Zagari
 
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Eduardo Nicola F. Zagari
 
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Eduardo Nicola F. Zagari
 
Padrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyPadrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyEduardo Nicola F. Zagari
 
Padrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadePadrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadeEduardo Nicola F. Zagari
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorEduardo Nicola F. Zagari
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonEduardo Nicola F. Zagari
 
Padrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodPadrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodEduardo Nicola F. Zagari
 
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryEduardo Nicola F. Zagari
 
Padrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelPadrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelEduardo Nicola F. Zagari
 
Padrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCPadrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCEduardo Nicola F. Zagari
 

Mais de Eduardo Nicola F. Zagari (20)

Classificação de Documentos
Classificação de DocumentosClassificação de Documentos
Classificação de Documentos
 
Uma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDBUma Breve Introdução ao MongoDB
Uma Breve Introdução ao MongoDB
 
Introdução à Linguagem Ruby
Introdução à Linguagem RubyIntrodução à Linguagem Ruby
Introdução à Linguagem Ruby
 
Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes SobrepostasOnix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
Onix: Sistema Integrado de Gerˆencia para Redes Sobrepostas
 
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLSUma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
Uma Plataforma para Engenharia de Tráfego com Qualidade de Serviço em Redes MPLS
 
Uma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes LinuxUma Implementação do MPLS para Redes Linux
Uma Implementação do MPLS para Redes Linux
 
Módulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo RealMódulo de Estudos e Treinamento em Tempo Real
Módulo de Estudos e Treinamento em Tempo Real
 
Módulo de Estudos em Tempo Real
Módulo de Estudos em Tempo RealMódulo de Estudos em Tempo Real
Módulo de Estudos em Tempo Real
 
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
Aproveitamento Funcional de Sistemas Digitais em Subestações: Funções Automát...
 
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
Modernização e Implantação das Funções de Análise de Rede em Tempo Real no Ce...
 
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
Master Thesis - Zagari, Eduardo Nicola Ferraz: Escalonamento em Tempo Real da...
 
Padrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - ProxyPadrões-13 - Padrões Estruturais - Proxy
Padrões-13 - Padrões Estruturais - Proxy
 
Padrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - FacadePadrões-12 - Padrões Estruturais - Facade
Padrões-12 - Padrões Estruturais - Facade
 
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - AdaptadorPadrões-11 - Padrões Estruturais - Adaptador
Padrões-11 - Padrões Estruturais - Adaptador
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - Singleton
 
Padrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory MethodPadrões-09 - Padrões Criacionais - Factory Method
Padrões-09 - Padrões Criacionais - Factory Method
 
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract FactoryPadrões-08 - Padrões Criacionais - Abstract Factory
Padrões-08 - Padrões Criacionais - Abstract Factory
 
Padrões-07 - Padrões Criacionais
Padrões-07 - Padrões CriacionaisPadrões-07 - Padrões Criacionais
Padrões-07 - Padrões Criacionais
 
Padrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - MicrokernelPadrões-06 - Padrões Arquiteturais - Microkernel
Padrões-06 - Padrões Arquiteturais - Microkernel
 
Padrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVCPadrões-05 - Padrões Arquiteturais - MVC
Padrões-05 - Padrões Arquiteturais - MVC
 

SO-09 Entrada e Saída: Hardware

  • 1. Sistemas de Entrada/Saída Princípios de Hardware
  • 2.   Visão Geral   Princípios de Hardware   Dispositivos de E/S   Estrutura Típica do Barramento de um PC   Controladores de Dispositivos   Interrupções   Acesso Direto à Memória Eduardo Nicola F. Zagari 2 Sistemas Operacionais -Entrada e Saída
  • 3.   Dispositivos podem variar de diversas maneiras:   Transf. por caractere (terminal) ou por bloco deles (disco)   O acesso aos dados armazenados pode ser seqüencial (modem) ou aleatório (CD-ROM)   Os dados podem ser transferidos de forma síncrona (fita) ou assíncrona (teclado)   Os dispositivos podem ser restritos a um único processo (fi-ta) ou compartilhados simultaneamente por vários (teclado)   O acesso pode ser apenas para leitura (CD-ROM), apenas para escrita (CRT) ou para leitura e escrita (disco)   A velocidade de acesso pode variar muito (freqüentemente, estes dispositivos são os mais lentos de um sistema computacional) Eduardo Nicola F. Zagari 3 Sistemas Operacionais -Entrada e Saída
  • 4.   Principais objetivos:   estabelecer uma interface que seja a mais simples possível para que as aplicações possam controlar as distintas características dos dispositivos de entrada/saída   otimizar a entrada/saída para obtenção de um maior paralelismo, tendo em vista que tais dispositivos são em geral componentes críticos para o desempenho   Enfim, Controlar todos os dispositivos de entrada/saída (E/S) do computador, emitindo comandos para os dispositivos, atendendo interrupções e manipulando erros. Eduardo Nicola F. Zagari 4 Sistemas Operacionais -Entrada e Saída
  • 5.   Estruturação em camadas de HW e SW, a fim de prover uma interface simples e confiável para o usuário e suas aplicações.   Desta forma, as camadas inferiores escondem das superiores os diversos detalhes (características) de cada periférico e suas diferenças (velocidade de operação, unidade de transferência, representação de dados, tipos de operação etc). Eduardo Nicola F. Zagari 5 Sistemas Operacionais -Entrada e Saída
  • 6. Processos Operações de E/S Independente do dispositivo Software Subsistema de E/S Device Drivers Manipuladores de Interrupção Controladores Dependente do Hardware dispositivo Dispositivos Eduardo Nicola F. Zagari 6 Sistemas Operacionais -Entrada e Saída
  • 7.   Responsáveis pela comunicação entre o computador e o mundo externo.   Muitos tipos de dispositivos são usados em computadores, como:   dispositivos de armazenamento (discos, fitas)   dispositivos de transmissão (placas de rede, modems)   dispositivos de interface com usuários (tela, teclado, mouse)   A transferência de dados, realizada por intermédio dos controladores, pode ser através de blocos de informações ou palavra a palavra. Eduardo Nicola F. Zagari 7 Sistemas Operacionais -Entrada e Saída
  • 8.   São classificados em:   Dispositivos de blocos:  armazenam informações em blocos de tamanho fixo (normalmente entre 128 e 4096 bytes)  cada bloco possui seu próprio endereço  é possível ler ou escrever cada bloco independentemente (acessando o bloco pelo seu endereço)  Podem ser: –  Acesso Direto: p. ex., disco magnético –  Acesso Seqüencial: p. ex., fita magnética Eduardo Nicola F. Zagari 8 Sistemas Operacionais -Entrada e Saída
  • 9.   Dispositivos de caracteres:  enviam ou recebem uma seqüência de caracteres sem estar estruturada no formato de blocos  seqüência de caracteres não é endereçável (não são possíveis operações de acesso aos dados)  Exemplos: –  terminais, impressoras, interfaces de rede e leitoras óticas   Existem exceções:  p. ex., relógios (não são endereçáveis e nem geram ou aceitam filas de caracteres): tudo o que fazem é gerar interrupções em intervalos de tempo regulares Eduardo Nicola F. Zagari 9 Sistemas Operacionais -Entrada e Saída
  • 10.   A comunicação de um dispositivo com o sistema computacional é feita através do envio de sinais (cabo ou ar) num ponto de conexão chamado de porta.   O meio usado por um ou mais dispositivos para conexão com o computador é chamado de barramento.   Para cada barramento, é definido um protocolo que especifica um conjunto de mensagens que podem ser enviadas pelos fios. Eduardo Nicola F. Zagari 10 Sistemas Operacionais -Entrada e Saída
  • 11. disco barramento SCSI monitor processador disco memória cache disco Controlador de Controlador memória disco terminal gráfico de memória Controlador SCSI Barramento PCI Controlador Interface do de disco IDE barramento de expansão teclado disco disco barramento de expansão disco disco porta paralela porta serial Eduardo Nicola F. Zagari 11 Sistemas Operacionais -Entrada e Saída
  • 12.   Unidades de E/S consistem tipicamente de   Componentes mecânicos (o dispositivo propriamente dito)   Componentes eletrônicos (o controlador)   Tal diferença deve ser ressaltada, uma vez que o SO vê o controlador e não o dispositivo   Normalmente, mini e microcomputadores usam um barramento único para comunicação entre CPU e os controladores (através de device drivers)   Mainframes freqüentemente usam um modelo diferente, no qual múltiplos barramentos e computadores especializados de E/S (canais de E/S) aliviam parte da carga da CPU Eduardo Nicola F. Zagari 12 Sistemas Operacionais -Entrada e Saída
  • 13.   Como o processador envia comandos e dados a um controlador para que seja feita uma transf. de dados?   O controlador possui memória e registradores próprios para armazenar dados e sinais de controle, de forma a executar instruções enviadas pelo device driver   O SO realiza E/S, escrevendo comandos e seus parâmetros nestes registradores dos controladores.  As instruções de E/S especiais podem ser usadas para especificar a transferência de um byte ou palavra para uma porta de E/S, que tem um determinado endereço  A instrução de E/S faz com que o dispositivo apropriado seja selecionado de acordo com o sinal transmitido no barramento e que os bits sejam então transferidos para um registrador ou a partir de um registrador do disp. Eduardo Nicola F. Zagari 13 Sistemas Operacionais -Entrada e Saída
  • 14.  Uma alternativa à operação de E/S, é que o controlador forneça suporte à E/S mapeada em memória. Nesse caso, os registradores do controlador correspondem à determinados endereços no espaço de endereçamento do processador. As operações de E/S são, então, executas usando-se instruções normais de transferência de dados, que correspondem a ler ou escrever valores nos registradores do dispositivo.  Alguns sistemas usam ambas as técnicas, como é o caso dos PCs: um controlador de terminal gráfico tem portas de E/S para operações básicas, mas uma região grande de memória é usada para mapeamento do conteúdo de telas. Eduardo Nicola F. Zagari 14 Sistemas Operacionais -Entrada e Saída
  • 15.   Um exemplo: Controlador de Terminal Gráfico   trabalha como um dispositivo serial de bits e em baixo nível, ou seja, lê da memória o byte contendo o caractere a ser exibido e gera os sinais usados na modulação do feixe do CRT para causar a escrita na tela   o controlador também gera os sinais para o feixe CRT fazer o retraço horizontal após ele ter terminado de esquadrinhar a linha, bem como, sinais para fazer o retraço vertical após a tela toda ter sido esquadrinhada; Eduardo Nicola F. Zagari 15 Sistemas Operacionais -Entrada e Saída
  • 16. Retraço Horizontal Retraço Ve Eduardo Nicola F. Zagari 16 Sistemas Operacionais -Entrada e Saída
  • 17.   O problema da Espera em Ciclo (CPU x Controlador):   Controlador usa bit ocupado no registrador de status   CPU usa bit processar no registrador de controle   Suponha que a CPU escreva dados em uma porta, comunicando-se com o controlador, da seguinte forma:  CPU lê repetidamente o bit ocupado  CPU liga o bit escrever no reg. de controle e armazena saída no reg. de saída de dados  CPU liga bit processar  Quando controlador nota bit processar ligado, ele liga bit ocupado Eduardo Nicola F. Zagari 17 Sistemas Operacionais -Entrada e Saída
  • 18.  Controlador lê registrador de controle e realiza a operação de escrita no dispositivo  Controlador desliga bit processar, desliga o bit erro no registrador de status (operação com sucesso) e desliga bit ocupado (operação terminada).   Problema: No passo 1, CPU faz espera em ciclo  Se tempos da CPU e do controlador forem diferentes...  ...CPU deve ser alocada à realização de outras tarefas   Problema: p.ex., dados chegando a uma porta serial, teclado etc  Solução: exec instr/testa/exec instr/testa...(ineficiente)  Então, como avisar à CPU que o controlador está ocioso? Mecanismo de Interrupções Eduardo Nicola F. Zagari 18 Sistemas Operacionais -Entrada e Saída
  • 19.   Quando um comando é aceito, a CPU é liberada pelo SO para outra tarefa.  Não é necessário que a CPU fique testando repetidamente se o dispositivo já está pronto, o que seria muito ineficiente. Isto é possível, através do mecanismo de interrupções.   Quando o comando termina de ser executado, o controlador causa uma interrupção, fazendo o SO tomar controle da CPU e testar o resultado da operação.   A CPU obtém o resultado lendo um ou mais bytes nos registradores de saída de dados do controlador Eduardo Nicola F. Zagari 19 Sistemas Operacionais -Entrada e Saída
  • 20.   As interrupções são muito usadas em SOs modernos para o tratamento de eventos assíncronos (p. ex., um controlador ficar pronto para operações de E/S, falhas de hardware ou chamadas a rotinas do sistema), desviando o controle para rot. do núcleo.   Funcionamento:   O hardware da CPU tem um fio chamado de linha de requisição de interrupções, que é testado pela CPU depois da execução de cada instrução   Quando a CPU detecta que um controlador enviou um sinal na linha de requisição de interrupções (provocou uma interrupção), ela armazena alguns poucos valores referentes ao seu estado na pilha do processo (PC, SP etc) e desvia para uma rotina de tratamento de interrupções em um determinado endereço de memória. Eduardo Nicola F. Zagari 20 Sistemas Operacionais -Entrada e Saída
  • 21.   O tratador de interrupções realiza (trata) o processamento necessário e executa uma instrução de retorno da interrupção, que faz a CPU retornar ao estado anterior à interrupção.   Recursos mais complexos:   Desabilitação de interrupções (em fases críticas)  CPU usa 2 linhas de requisição de interrupções: –  uma para requisições que não podem ser desabilitadas (erros de memória irrecuperáveis, p.ex.) –  outra para aquelas que podem ser desabilitadas (os dispositivos fazem suas requisições por estas linhas) Eduardo Nicola F. Zagari 21 Sistemas Operacionais -Entrada e Saída
  • 22.   Vetor de Interrupções  Cada interrupção gera um endereço que, na maioria das arquiteturas, é usado como um índice em uma tabela (vetor de interrupções), que contém endereços de memória das rotinas de tratamento de interrupção Eduardo Nicola F. Zagari 22 Sistemas Operacionais -Entrada e Saída
  • 23.   Níveis de prioridade de interrupções  Esse sistema permite à CPU protelar o tratamento de interrupções de baixa prioridade sem desabilitar todas as interrupções e possibilita que o controle da execução de uma interrupção seja interrompido e transferido para uma interrupção de alta prioridade.  Exemplos de situações que geram interrupções: –  Operações de E/S –  Tratamento de exceções (div. por zero, end. proteg.) –  Mecanismo de paginação –  Chamadas a rotinas do núcleo (system calls) –  Gerenciamento do fluxo de execução do núcleo (per-mite que trabalhos urgentes sejam tratados primeiro) Eduardo Nicola F. Zagari 23 Sistemas Operacionais -Entrada e Saída
  • 24.   Operação de leitura em disco sem suporte à DMA:   Device Driver executa operação de E/S gravando comando no registrador do controlador   Controlador lê o bloco do dispositivo, bit a bit, para seu buffer interno   Controlador executa verificação de erros (checksum)   Controlador causa interrupção   SO reassume CPU e lê o bloco do buffer do controlador para a memória byte a byte (chamado de E/S programada) »  Isto consome um tempo apreciável da CPU »  Solução: usar DMA (Direct Memory Access) Eduardo Nicola F. Zagari 24 Sistemas Operacionais -Entrada e Saída
  • 25.   Controladores que suportam DMA:   CPU (SO) fornece, além do endereço do bloco a ser lido:  endereço de memória para onde o bloco deve ser copiado  número de bytes a serem transferidos   Controlador lê bloco   Controlador efetua checksum   Controlador de DMA copia, via barramento, byte a byte, as informações do buffer para a memória principal   Controlador causa interrupção   SO reassume CPU com os dados já disponíveis ao processo que os solicitou Eduardo Nicola F. Zagari 25 Sistemas Operacionais -Entrada e Saída
  • 26. processador memória cache DMA/barramento/ barramento entre controlador de memória memória e CPU interrupções Barramento PCI Controlador de disco IDE Sinais: disco disco Requisição de DMA Confirmação de DMA disco disco Eduardo Nicola F. Zagari 26 Sistemas Operacionais -Entrada e Saída
  • 27.   Por que o controlador puro não armazena diretamente os bytes na memória, tão logo ele os obtenha? Isto é, por que usar um buffer interno?   Diferença de velocidade ⇒ vários acessos ao barramento   Ainda há um problema: enquanto controlador faz transferência de dados de/para a memória, próximo setor passa por debaixo da cabeça do disco   Solução: intercalação 7 0 7 0 5 0 6 1 3 4 2 3 5 2 6 1 7 6 4 3 2 5 4 1 Sem Intercalação Intercalação Simples Intercalação Dupla Eduardo Nicola F. Zagari 27 Sistemas Operacionais -Entrada e Saída