Como o sistema operacional gerencia dispositivos de entrada e saída

Como o sistema operacional gerencia dispositivos de entrada e saída

O caminho entre o sistema operacional e todo hardware que não está na placa-mãe passa por um programa especial chamado driver. A função principal do driver é funcionar como tradutor entre os sinais elétricos dos subsistemas de hardware e a linguagem de programação de alto nível do sistema operacional e dos aplicativos. Os drivers pegam os dados que o sistema operacional definiu como um arquivo e transforma-os em seqüências de bits. Estes bits são armazenados em locais específicos dos dispositivos de armazenamento ou se transformam em pulsos de laser em uma impressora.

O funcionamento dos drivers depende do tipo de hardware, mas a maioria dos drivers é executada quando o dispositivo é acionado, eles funcionam de maneira semelhante a qualquer outro processo. O sistema operacional dá prioridade aos drivers para que o recurso do hardware seja liberado e disponibilizado o mais rápido possível.

Uma razão para que os drivers sejam separados do sistema operacional é para que novas funções sejam adicionadas ao driver (e aos subsistemas de hardware) sem que o sistema operacional seja modificado, recompilado e redistribuído. O desenvolvimento de novos drivers, geralmente realizado ou pago pelo fabricante do subsistema (em vez do desenvolvedor do sistema operacional) melhora as capacidades de entrada/saída de todo o sistema.

O gerenciamento de entrada/saída está relacionado com o gerenciamento das filas e buffers. Funções de armazenamento especial pegam esses bits de um dispositivo, talvez um teclado ou uma porta USB, e os distribuem para a CPU em uma taxa lenta o suficiente para que sejam absorvidos. Esta função é especialmente importante quando muitos processos estão sendo executados e o processador está sobrecarregado. O sistema operacional diz para o buffer que continue coletando informações de entrada do dispositivo. Mas os dados não serão enviados para a CPU enquanto o processo que estiver usando a entrada não for suspenso. Então, quando o processo de obtenção de dados de entrada estiver ativo de novo, o sistema operacional vai dizer para o buffer que ele pode enviar dados. Este processo permite que um teclado ou um modem interajam com usuários externos ou computadores em alta velocidade, mesmo quando a CPU não pode executar informações de entrada destas fontes.

Gerenciar os recursos do sistema do computador é uma boa parte da função de um sistema operacional e, no caso de sistemas operacionais de tempo real, este pode ser todo o trabalho. Para outros sistemas operacionais, o objetivo é fornecer, de maneira simples e consistente, poder de processamento para aplicativos e usuários.

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos