Gerenciamento de Dispositivos de Entrada e Saída (E/S)

Classificado em Computação

Escrito em em português com um tamanho de 4,83 KB

Dispositivo de blocos: é aquele que armazena informação em blocos de tamanho fixo, cada um com seu próprio endereço; cada bloco pode ser lido ou escrito independentemente de todos os outros. Exemplos: CD-ROM, pendrive.

Dispositivo de caractere: envia ou recebe um fluxo de caracteres, sem considerar qualquer estrutura de blocos; ele não é endereçável e não dispõe de qualquer operação de posicionamento. Exemplos: impressora, mouse.

O mapeamento de E/S em memória utiliza a via de endereços para endereçar tanto a memória quanto os dispositivos de E/S, e as instruções da CPU usadas para acessar a memória também são usadas para acessar os dispositivos. Para acomodar os dispositivos de E/S, áreas do espaço endereçável da CPU devem ser reservadas para E/S.

Acesso Direto à Memória (DMA): Não importa se a CPU tem ou não E/S mapeada na memória: ela precisa endereçar os controladores dos dispositivos para poder trocar dados entre eles. A CPU pode requisitar dados de um controlador de E/S, um byte de cada vez, mas, fazendo isso, desperdiça muito tempo da CPU, de modo que um esquema diferente, chamado de Direct Memory Access (DMA), muitas vezes é usado. O sistema operacional somente pode usar DMA se o hardware tem o controlador de DMA, que existe na maioria dos sistemas. Algumas vezes, esse controlador é integrado nos controladores de decisões em outros controladores, mas esse projeto requer um controlador de DMA separado para cada dispositivo. Normalmente, um único controlador de DMA se encontra disponível (por exemplo, na placa-mãe) para controlar as transferências para vários dispositivos, as quais podem ocorrer, muitas vezes, simultaneamente.

E/S Programada: Neste método, o processador executa o programa e tem o controle total sobre as operações de entrada e saída:

  • I - Os dados são copiados para o núcleo;
  • II - O Sistema Operacional envia, para a saída, um caractere de cada vez;
  • III - A cada caractere enviado, a CPU verifica se o dispositivo está pronto para receber outro.

Esse comportamento é chamado de espera ociosa ou polling. A desvantagem desse método é que, como o processador geralmente é mais rápido que o dispositivo de E/S, ocorrerá um desperdício de processamento.

Interrupção Precisa vs. Imprecisa: Uma interrupção que deixa a máquina em um estado bem-definido é chamada de interrupção precisa. Como uma interrupção, ela tem quatro propriedades:

  • O PC (Program Counter) é salvo em um lugar conhecido;
  • Toda a instrução antes apontada pelo PC tem total execução;
  • Sem instruções além do apontado e que está sendo executado pelo PC (não é proibido na instrução; além do PC, as mudanças feitas nos registros ou memórias devem ser desfeitas antes que a interrupção aconteça);
  • O estado de execução da instrução apontada pelo PC é conhecido.

Uma interrupção que não atenda a esse requerimento é chamada de interrupção imprecisa.

RAID: É uma caixa cheia de discos próxima ao computador: em geral um grande servidor. Consiste em substituir a placa controladora de disco por um controlador RAID, copiar os dados para o RAID e prosseguir com a operação. RAID 1: duplica todos os discos de modo que existam quatro discos primários e quatro discos de cópia de segurança; durante uma escrita, cada faixa é escrita duas vezes. O desempenho da escrita não é melhor que o emprego de uma única cópia de cada disco, mas o desempenho da leitura pode ser até duas vezes melhor.

O buffer (retentor) é uma região de armazenamento de memória física utilizada para armazenar temporariamente os dados.

Óptico vs. Magnético: O disco óptico, ao contrário do magnético, tem se tornado cada vez mais acessível e possui densidade de gravação muito maior que o magnético. Em virtude de sua capacidade potencialmente grande, é utilizado como dispositivo de armazenamento em computadores (CD, setor, trilha, cabeçote).

Camadas de Software de E/S: Cada camada tem uma função bem definida para executar e uma interface também bem definida para as camadas adjacentes, por meio de uma série de operações comuns a todos os dispositivos. Uma forma de implementação dessa estrutura é dividir o software em quatro camadas: a camada superior sendo a E/S vista pelo usuário; a segunda camada o software que enxerga a E/S da mesma forma, independente do dispositivo; a terceira camada serve como interface padrão para drivers; e a última (mais inferior), composta pelos drivers propriamente ditos.

Entradas relacionadas: