Sistemas Operacionais
Atividade
1) Em quais situações o mecanismo de interrupção pode ser utilizado para realizar ações necessárias? O mecanismo de interrupção é utilizado como alternativa para evitar o desperdício de tempo do processador, quando o mesmo aguarda eventos externos. O mecanismo de interrupções permite que um controlador de periféricos chame atenção do processador. Fisicamente, o barramento de controle é usado pelos controladores de periféricos para o envio de sinais elétricos associados com a geração de uma interrupção. Uma interrupção sempre sinaliza a ocorrência de algum evento. Quando ela acontece, desvia a execução da posição atual de programa para uma rotina específica. Essa rotina, responsável por atender a interrupção, é chamada de tratador de interrupção. O tratador realiza as ações necessárias em função da ocorrência de interrupção. Ele é, simplesmente, uma rotina que somente é executada quando ocorre uma interrupção. Outras utilizações típicas de interrupções seriam: temporizador do sistema, discos de E/S, liga-desliga o sinal e armadilhas, interrupções para transferir dados usando UARTs ou Ethernet; sentido de teclas pressionadas; controle de motores; ou qualquer outra coisa que o processador deva realizar.
2) Qual é o principal problema encontrado na técnica de E/S programada? Justifique e compare-a com as demais técnicas de E/S. O principal problema encontrado na técnica da E/S programada é que nesse caso, a CPU gasta maior parte de seu tempo em loop, esperando um dispositivo ficar pronto. Esta prática, chamada de espera ocupada (busy wait) acaba gerando desperdício de processamento. Já na técnica orientada por interrupção, evita-se a perda de capacidade de processamento da CPU, uma vez que extingue-se os ciclos de espera desnecessários, através do sinal de interrupção, no momento em que o dispositivo conclui seu trabalho, permitindo então, a execução de outro processo.
Quando existe uma