Tratamento de interrupções e escaçonamento
936 palavras
4 páginas
Tratamento de Interrupções e EscalonamentoO que são interrupções? Uma interrupção é um evento que faz o processador parar a execução de um programa e desvia a execução para um bloco de código, chamado rotina de interrupção.
Ao terminar o tratamento e interrupção, o controle retorna ao programa interrompido exatamente no mesmo estado em que estava quando ocorreu a interrupção.
[pic]
Execução das Interrupções A execução das interrupções necessita de ações de hardware e ações de software. Essas, que, podem ser descritas conforme o fluxograma abaixo:
[pic]
Tratamento de Interrupções As rotinas para tratamento de interrupções devem ser escondidas a fim de que apenas uma pequena parte do sistema operacional …exibir mais conteúdo…
A ocorrência da interrupção, o endereço da rotina de tratamento, deve ser colocada no PC.
O vetor de interrupções, uma área dedicada na memória, é usado para armazenar os endereços das rotinas de tratamento.
O valor da IRQ é usado como um índice para acessar o endereço da respectiva rotina de tratamento.
Controle de Interrupções Para o controle de interrupções, basicamente, existem três níveis de controle de interrupções pela CPU:
1 – Nível Global do Sistema: onde todas as interrupções podem ser habilitadas.
2 – Controle Seletivo de Interrupções: onde pode-se mascarar algumas interrupções como habilitadas e algumas como desabilitadas.
3 – Nível Individual de Controle de Interrupções: onde cada dispositivo tem como ser habilitado ou desabilitado.
Já algumas controladoras, especialmente aquelas para dispositivos de blocos, suportam DMA (Direct Memory Access).
Escalonamento
O que é? Quando um computador é multiprogramado, muitas vezes tem vários processos que competem ao CPU determinar seus processos.
Essa situação ocorre sempre que dois ou mais processos estão simultaneamente no estado de pronto.
A parte do sistema operacional que faz a escolha de qual processo deve ser executado é chamado de escalonador, e o algoritmo que é usado é o algoritmo de escalonamento.
Quando o Escalonamento Pode Ocorrer O escalonamento pode ocorrer em 4 casos, descritos abaixo:
1