Pesquisar este blog

sexta-feira, 1 de novembro de 2013

Como funcionam os sistemas operacionais: Como o sistema operacional gerencia os dispositivos

   No post anterior vimos como o sistema operacional gerencia o armazenamento e a memória, agora vamos ver como ele gerencia os dispositivos.
 
   O caminho entre o sistema operacional e todo o 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 sequê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.

   Um 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) melhorara as capacidades de entrada e saída de todo o sistema.

   O gerenciamento de entrada e 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.

   No próximo post, falaremos sobre a interface do sistema operacional com o mundo.

Nenhum comentário:

Postar um comentário