Conceitos Fundamentais de Dispositivos e E/S

Classificado em Computação

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

Diferença entre Dispositivo de Bloco e Caractere

O dispositivo de bloco armazena informações em blocos de tamanho fixo, cada um com seu endereço próprio. Já o 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.

E/S Mapeada na Memória

Cada registrador de controle é associado a um endereço de memória único, do qual nenhuma memória é associada. Esse sistema é chamado de E/S mapeada na memória. As características são:

  1. São necessárias instruções especiais de E/S para ler ou escrever nos registradores dos dispositivos.
  2. Tudo o que o sistema operacional tem de fazer é deixar de mapear aquela porção de espaço de endereçamento associada aos registradores de controle no espaço de endereçamento virtual do usuário.
  3. Cada instrução capaz de referenciar a memória pode também referenciar os registradores de controle.

Interrupções Precisas e Imprecisas

A interrupção precisa possui quatro propriedades:

  1. O controlador de programa é salvo em um lugar conhecido.
  2. Todas as instruções anteriores àquela apontada pelo PC foram totalmente executadas.
  3. Nenhuma instrução posterior à apontada pelo PC foi executada.
  4. O estado de execução da instrução apontada pelo PC é conhecido.

Ao contrário da primeira, a interrupção imprecisa não atende a nenhum desses requisitos descritos anteriormente.

E/S Usando Interrupções

A CPU chama o escalonador e outro processo é executado. A interrupção detém o processo atual e salva seu estado. Se não existem mais caracteres para imprimir, o tratador de interrupção executa alguma ação para desbloquear o usuário solicitante. Caso contrário, envia o caractere seguinte, confirma o recebimento da interrupção e retorna para o processo que estava executando, o qual continua a partir do ponto em que tinha parado.

Driver do Dispositivo

Cada dispositivo de E/S ligado ao computador precisa de algum código específico do dispositivo, em geral escrito pelo fabricante e fornecido com o dispositivo. O sistema operacional classifica os drivers em algumas categorias, as mais conhecidas são dispositivos de blocos e caracteres.

E/S Programada

O processo de usuário requisita então a impressora para a escrita por meio de uma chamada de sistema para abri-la. Se a impressora está sendo usada por outro processo, a chamada falha e retorna um código de erro ou um bloqueio até que a impressora esteja disponível, dependendo do sistema operacional e dos parâmetros de chamada. Uma vez que tenha a impressora, o processo do usuário efetua uma chamada de sistema para imprimir a cadeia de caracteres na impressora.

Acesso Direto à Memória (DMA)

O DMA é usado para transferência de dados em núcleos em processadores multi-core, em especial nos sistemas-em-microplaquetas do processador, onde seu elemento de processamento é equipado com uma memória local. O acesso direto à memória é usado para transferir dados entre a memória local e a memória principal. Computadores que têm canais de acesso direto à memória podem transferir dados aos dispositivos com muito menos perdas gerais de processamento do que computadores sem essa via. Com o acesso direto à memória, o processador central executa transferências, faz outras operações enquanto alguma transferência estiver em andamento e recebe uma interrupção do controlador de acesso direto à memória assim que a operação for concluída.

Camadas do Software de E/S

As funções das camadas do software de E/S incluem:

  • Calcular a trilha, setor e cabeçote para uma leitura de disco.
  • Escrever comandos nos registradores de disco.
  • Verificar se o usuário tem permissão para usar o dispositivo.
  • Converter inteiros binários em ASCII para impressão.

Entradas relacionadas: