Cursos / Automação Industrial / Sistemas Operacionais / Aula
Você já percebeu que a CPU e os dispositivos se comunicam através do barramento e que podemos classificar as diferentes formas de transmissão. Agora, você vai entender como se processa o diálogo, pois não basta compreender como a informação é transmitida, mas como ela é processada pelas diferentes partes.
Inicialmente, a comunicação entre a CPU e os dispositivos de E/S era controlada diretamente pela própria CPU. Para isso, ela dispunha de um conjunto de instruções especiais que atuavam nas controladoras para, por exemplo, solicitar o início de uma transferência de dados.
Como era necessário aguardar o momento em que os dados transmitidos tivessem sido entregues ao componente destino, a CPU ficava em um loop (processo repetitivo) de teste, verificando a cada instante se o processo de E/S foi concluído. Dessa forma, o computador (CPU) ficava ocupado aguardando a conclusão da ação. Esse mecanismo normalmente é citado nos livros de sistemas operacionais com o termo em inglês busy wait, que, de uma maneira simples, quer dizer que a CPU aguarda a conclusão da operação gastando seu tempo sem efetivamente poder avançar.
Esse método gera desperdício, pois o tempo de espera pela conclusão da operação de transmissão poderia ser usado pela CPU para executar outros comandos. Com a finalidade de resolver essa questão, a CPU poderia ser programada para realizar esses testes de verificação a intervalos regulares de tempo, de modo a aproveitar o tempo entre dois testes de dispositivo (polling) e, dessa forma, poder executar outras tarefas.
Apesar da técnica de polling reduzir a perda de processamento, ela ainda provoca perda de tempo nos sucessivos testes de verificação, além do tempo de transmissão do dado propriamente dito. Assim, foram desenvolvidos os dispositivos de E/S com interrupção.
Nesse esquema de interrupção, a CPU aciona uma instrução de E/S para a controladora do dispositivo e segue executando sua próxima tarefa. A controladora verifica e atua diretamente no dispositivo, por exemplo, enviando uma instrução para requisitar uma informação do HD e, quando essa ação estiver concluída, o driver do HD gera uma sinalização, que provoca uma interrupção imediata e rápida da CPU. Assim, a CPU pode acessar a informação que o driver colocou em um lugar da memória da placa controladora do dispositivo.
Versão 5.3 - Todos os Direitos reservados