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:
- São necessárias instruções especiais de E/S para ler ou escrever nos registradores dos dispositivos.
- 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.
- 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:
- O controlador de programa é salvo em um lugar conhecido.
- Todas as instruções anteriores àquela apontada pelo PC foram totalmente executadas.
- Nenhuma instrução posterior à apontada pelo PC foi executada.
- 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.