Entrada E Saída
Pesquisas Acadêmicas: Entrada E Saída. Pesquise 862.000+ trabalhos acadêmicosPor: abc123 • 3/6/2013 • 1.641 Palavras (7 Páginas) • 518 Visualizações
• As 2 principais tarefas de um computador são operações de entrada e saída e processamento
• O sistema operacional gerencia e controla as operações e os dispositivos de I/O
• Dispositivos de I/O variam em termos de função e velocidade, sendo necessários vários métodos para controlá-los, esses métodos formam o subsistema de I/O do kernel
• A tecnologia de dispositivos de I/O variam em 2 tendências: por um lado vemos uma crescente padronização de interfaces de software e hardware, ajudando a incorporar gerações de dispositivos mais avançados aos computadores e sistemas operacionais existentes, mas por outro lado vemos uma variedade cada vez maior de dispositivos de I/O, alguns sendo muito diferentes que é um desafio incorporá-los aos computadores e sistemas operacionais existentes
o Para encapsular os detalhes e diferenças dos diversos dispositivos, o kernel de um sistema operacional é estruturado para utilizar módulos de driver de dispositivos, estes apresentam uma interface uniforme de acesso a dispositivos para o subsistema de I/O
• O dispositivo se comunica com a máquina através de um ponto de conexão chamado porta, se um ou mais dispositivos usarem um conjunto comum de fios condutores, a conexão é chamada de barramento. Quando o dispositivo A tem um cabo que se conecta ao dispositivo B e o dispositivo B tem um cabo que se conecta ao dispositivo C e o dispositivo C se conecta a uma porta do computador, esse arranjo é chamado de
encadeamento e normalmente opera como um barramento
• Uma controladora é um dispositivo eletrônico que pode operar uma porta, um barramento ou um dispositivo
• Como um processador pode emitir comandos e dados para uma controladora a fim de realizar uma transferência de I/O?
o A controladora tem um ou mais registradores para dados e sinais de controle
o O processador se comunica com a controladora fazendo a leitura e escrita de padrões de bits nesses registradores
• A controladora de dispositivo gera uma interrupção enviando um sinal na linha de solicitação de interrupção, a CPU captura a interrupção e a transfere para a rotina de tratamento de interrupção, e a rotina trata a interrupção efetuando o serviço solicitado pelo dispositivo.
• No hardware de computadores modernos, estes 3 recursos são fornecidos pela CPU e pelo hardware da controladora de interrupções
o Capacidade de adiar o tratamento de interrupções durante um processamento crítico
o Forma eficiente de transferir o controle para a rotina de interrupções adequada a um determinado dispositivo, sem ter de consultar todos os dispositivos para ver qual deles gerou a interrupção
o Interrupções com múltiplos níveis, para que o sistema operacional possa fazer a distinção entre interrupções de alta e baixa prioridades e possa responder com o grau apropriado de urgência
• A maioria das CPU’s tem duas linhas de solicitação de interrupção
o Interrupção não mascarável = reservada para eventos como erro de memória irrecuperável
o Interrupção mascarável = pode ser desativada pela CPU antes da execução de sequencias de instruções críticas que não devem ser interrompidas, usadas para requisitar serviços
• Resumindo, interrupções são usadas nos sistemas operacionais modernos para tratar de eventos assíncronos e para disparar rotinas em modo supervisor no kernel. Para permitir que o trabalho mais urgente seja realizado primeiro, os computadores modernos utilizam um sistema de prioridades de interrupção. Controladoras de dispositivos, falhas de hardware, e chamadas ao sistema geram interrupções para acionar as rotinas do kernel. Como as interrupções são muito utilizadas para processamento sensível ao tempo, o processamento eficiente d interrupção é necessário para um bom desempenho do sistema.
• Para dispositivos que realizam grande transferência de dados, eles passam parte do trabalho para um processador especial chamado controladora de acesso direto à memória (DMA), melhorando o desempenho total do sistema.
• Algumas arquiteturas de computador utilizam endereços de memória física para DMA, mas outras realizam o acesso direto a memória virtual, usando endereços virtuais que passam pela tradução de endereço de memória virtual em endereço de memória física, o DVMA pode realizar uma transferência entre dois dispositivos mapeados em memoria sem intervenção da CPU ou uso da memória principal.
• Nos kernel sem proteção de memória, os processos podem acessar controladoras de dispositivos diretamente, obtendo alto desempenho, mas isso interfere com a segurança e estabilidade do sistema, já que a tendência dos sistemas operacionais de uso geral é proteger a memoria e os dispositivos, de modo que o sistema possa tentar se proteger contra aplicações errôneas e maliciosas.
• Podemos abstrair as diferenças detalhadas em dispositivos de I/O identificando alguns poucos tipos gerais, onde cada um é acessado através de um conjunto padronizado de funções que é a interface. As diferenças de fato estão encapsuladas em módulos do kernel chamados drives de dispositivo que internamente são personalizados para cada dispositivo, mas que exportam uma das interfaces padrão. Assim, novos periféricos podem ser acoplados ao computador sem ter de esperar pelo fornecedor do sistema operacional desenvolver o código de suporte.
• Os dispositivos variam em muitas dimensões:
o Fluxo de caracteres ou blocos = um dispositivo de fluxo de caracteres transfere bytes um por um, enquanto um dispositivo de blocos transfere um bloco de bytes como uma unidade.
o Acesso sequencial ou aleatório = um dispositivo sequencial transfere dados em uma ordem fixa que é determinada pelo dispositivo, enquanto o usuário de um dispositivo de acesso aleatório pode instruir o dispositivo a buscar qualquer uma das posições disponíveis de armazenamento de dados
o Síncrono ou assíncrono = um dispositivo síncrono realiza transferências de dados com tempos de respostas previsíveis, um dispositivo assíncrono apresenta tempos de respostas irregulares ou imprevisíveis
o Compartilhável ou dedicado = um dispositivo compartilhável pode ser usado ao mesmo tempo por vários processos ou threads, um dispositivo dedicado não pode
o Velocidade de operação = as velocidades de dispositivo
...