Guia de Controladores e Software de Entrada e Saída (E/S)

Classificado em Computação

Escrito em em português com um tamanho de 25,63 KB

Controladores de Dispositivos

Os componentes de dispositivos de E/S dividem-se em: mecânico e eletrônico. O componente eletrônico é o controlador do dispositivo, que pode ser capaz de tratar múltiplos dispositivos.

Tarefas do Controlador

  • Converter fluxo serial de bits em bloco de bytes;
  • Executar toda correção de erro necessária;
  • Tornar o bloco disponível para ser copiado para a memória principal.

Interrupções Revisitadas

Como ocorre uma interrupção: as conexões entre dispositivos e o controlador de interrupção usam linhas de interrupção no barramento em vez de fios dedicados.

Princípios do Software de E/S

Objetivos do Software de E/S

  • Independência de dispositivo: programas podem acessar qualquer dispositivo de E/S sem especificar previamente qual (disquete, disco rígido ou CD-ROM).
  • Nomeação uniforme: o nome de um arquivo ou dispositivo pode ser uma cadeia de caracteres ou um número inteiro independente do dispositivo.
  • Tratamento de erro: deve ser tratado o mais próximo possível do hardware.
  • Transferências Síncronas vs. Assíncronas: transferências bloqueantes vs. orientadas a interrupção.
  • Utilização de buffer: para armazenamento temporário, pois dados provenientes de um dispositivo muitas vezes não podem ser armazenados diretamente em seu destino final.
  • Dispositivos Compartilháveis vs. Dedicados: discos são compartilháveis, enquanto unidades de fita não são.

Camadas do Software de E/S

Imagen

Tratadores de Interrupção

As interrupções devem ser escondidas o máximo possível. Uma forma de fazer isso é bloqueando o driver que iniciou uma operação de E/S até que uma interrupção notifique que a E/S foi completada. A rotina de tratamento de interrupção cumpre sua tarefa e então desbloqueia o driver que a chamou.

Passos Executados após a Interrupção

  1. Salva registradores que ainda não foram salvos pelo hardware;
  2. Estabelece contexto para a rotina de tratamento;
  3. Estabelece uma pilha para a rotina de tratamento;
  4. Sinaliza o controlador de interrupção e reabilita as interrupções;
  5. Copia os registradores de onde eles foram salvos;
  6. Executa a rotina de tratamento de interrupção;
  7. Escolhe o próximo processo a executar;
  8. Estabelece o contexto da MMU para o próximo processo;
  9. Carrega os registradores do novo processo;
  10. Começa a executar o novo processo.

Software de E/S Independente de Dispositivo

  • Interface uniforme para os drivers dos dispositivos;
  • Armazenamento em buffer e relatório de erros;
  • Alocação e liberação de dispositivos dedicados;
  • Fornecimento de tamanho de bloco independente de dispositivo.

Algoritmos de Escalonamento de Braço de Disco

O tempo necessário para ler ou escrever um bloco de disco é determinado por três fatores:

  • Tempo de posicionamento (seek time): fator dominante;
  • Atraso de rotação;
  • Tempo de transferência do dado.

A checagem de erro é realizada pelos controladores.

Temporizadores de Software

Utiliza-se um segundo relógio programável para interrupções de temporização, ajustado para qualquer taxa que um programa precisar. Funciona bem se a frequência de interrupção for baixa. Temporizadores de software evitam interrupções desnecessárias; o núcleo checa se o temporizador expirou antes de retornar para o modo usuário. A eficácia depende da taxa de entradas no núcleo.

Terminais RS-232 e Base em Caracteres

Hardware do Terminal RS-232

Um terminal RS-232 se comunica com um computador bit a bit através de uma linha serial (os bits saem em série, um por vez). O Windows usa portas COM1 e COM2 para linhas seriais. O computador e o terminal são completamente independentes.

Entradas relacionadas: