Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.inf.ufes.br/~rgomes/so.htm
Paralelismo de Operao
Num sistema multiprogramado a CPU est sempre apta a compartilhar o seu tempo entre os vrios programas e os diferentes dispositivos perifricos que necessitam da sua ateno. O mecanismo de interrupo constitui a base para a implementao do esquema de paralelismo entre CPU S.O. e perifricos na multiprogramao.
2010/1 Prof. Jos Gonalves - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/so.htm
Interrupo de Hardware
um mecanismo usado para sinalizar CPU a ocorrncia de eventos importantes relacionados aos dispositivos perifricos e outros elementos do sistema. Na ocorrncia da interrupo requerido que a CPU pare momentaneamente o que est fazendo para atend-la.
Ex: trmino de operao de E/S, chegada de um dado em uma interface de rede, tecla pressionada, click no mouse, etc.
A interrupo permite aos dispositivos perifricos sincronizarem a sua operao com a CPU. Caso no existisse, a CPU teria que ficar verificando se algum perifrico pretende reportar algum evento (polling).
Desperdcio de tempo de CPU Eventos com diferentes taxas3de sinalizao (teclado x disco)
http://www.inf.ufes.br/~rgomes/so.htm
Interrupo de Hardware
(cont.)
A ocorrncia de uma interrupo fora uma mudana no fluxo de controle, que transferido para uma rotina de tratamento da interrupo correspondente (Interrupt Handler ou Interrupt Service Routine). Esta rotina possui um conjunto de instrues prdefinidas, adequadas a cada tipo de interrupo. Observar que as interrupes so eventos gerados assincronamente atividade regular do sistema. O sistema no sabe em que ponto no fluxo de instrues a interrupo ocorrer. O tempo de servir a interrupo descontado do quantum do processo em execuo (time-slice).
4
http://www.inf.ufes.br/~rgomes/so.htm
Hardware
Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupo Salva informaes remanescentes sobre o estado do processo Processador termina a execuo da instruo corrente Processa a interrupo
http://www.inf.ufes.br/~rgomes/so.htm
IRQ e PIC
Interrupt requests (IRQ)
Canais para requisio de interrupes um canal por perifrico.
http://www.inf.ufes.br/~rgomes/so.htm
O controlador de interrupes ativa o sinal INT A CPU responde com INTA (INTerrupt Acknowledge); O controlador de interrupes responde atravs do bus de dados (D0 a D7) com o nmero da entrada que produziu a interrupo; A CPU utiliza esse nmero para indexar uma tabela de endereos de memria (designados interrupt vectors) onde esto os conjuntos de instrues que servem cada interrupo.
7
http://www.inf.ufes.br/~rgomes/so.htm
http://www.inf.ufes.br/~rgomes/so.htm
Controlador do dispositivo ativa uma linha de interrupo no barramento de sistema para iniciar a seqncia de interrupo. Ativao no barramento de um sinal de reconhecimento da interrupo. Controlador do dispositivo vetor de interrupo. Processador remove o vetor de interrupo do barramento e salva seu valor temporariamente. Pilha armazena o contedo do PC e do registrador contendo a PSW. Processador localiza um novo PC com a ajuda do vetor de interrupo (ndice para a tabela situada na parte baixa da memria).
2.
3. 4.
5.
6.
http://www.inf.ufes.br/~rgomes/so.htm
Salvar o contedo dosstradores - restaurao posterior. Vetor de interrupo compartilhado por todos os dispositivos de um mesmo tipo (no se sabe qual terminal causou a interrupo). Obteno de outra informao sobre a interrupo. Correo de algum erro de E/S. Atualizao das variveis envolvidas. Gerao de cdigo especial para informar ao dispositivo ou controlador do dispositivo que uma interrupo est sendo processada. Restaurao dos valores originais dos registradores. Execuo da instruo RETURN FROM INTERRUPT. Processador continua a execuo do programa.
13. 14. 10
http://www.inf.ufes.br/~rgomes/so.htm
Tipos de Interrupo
Hardware
Pedidos de dispositivos perifricos, relgio do sistema, circuitos de monitorizao de energia.
Software
Uma interrupo causada por um programa (chamada ao sistema - SVC).
Exceo
Ocorrem devido a utilizaes indevidas de instrues ou de dados (e.g., diviso por zero, acesso a uma posio de memria protegida, overflow, etc.).
11
http://www.inf.ufes.br/~rgomes/so.htm
http://www.inf.ufes.br/~rgomes/so.htm
http://www.inf.ufes.br/~rgomes/so.htm
Interrupo Rotina Y
A Rotina de Servio desabilita as interrupes Uma nova interrupo s tratada aps o retorno A interrupo pode demorar a ser tratada, o que pode eventualmente ocasionar uma perda de dados Finalizada a Rotina de Servio de Interrupo, o processador checa por interrupes adicionais
http://www.inf.ufes.br/~rgomes/so.htm
Interrupo Rotina Y
Interrupes tm prioridade Interrupes com alta prioridade interrompem rotinas de servio de interrupes de menor prioridade
http://www.inf.ufes.br/~rgomes/so.htm
Interrupo de SW
S.O. 2010/1
http://www.inf.ufes.br/~rgomes/so.htm
Inibio de Interrupes
O ncleo (kernel) do S.O. alguma vezes previne a ocorrncia de interrupes durante atividades crticas, que poderiam resultar em dados corrompidos se estas fossem permitidas. Assim, certas instrues (ditas privilegiadas) permitem colocar o processador em um certo nvel de execuo em que ele mascara (inibe) certos valores de interrupo. Interrupes mascarveis.
S.O. 2010/1 Prof. Jos Gonalves - LPRM/DI/UFES
http://www.inf.ufes.br/~rgomes/so.htm
A interrupo de relgio a mais prioritria, s perdendo para a interrupo de falha de energia. Uma Rotina de Interrupo do Relgio (Clock Interrupt Handler) executada em resposta a uma interrupo do relgio.
LPRM/DI/UFES 18 Sistemas Operacionais
http://www.inf.ufes.br/~rgomes/so.htm
(cont.)
LPRM/DI/UFES
As funes do kernel so usualmente medidas em nmeros de CPU ticks ao invs de segundos ou milisegundos.
19
Sistemas Operacionais
http://www.inf.ufes.br/~rgomes/so.htm
(cont.)