You are on page 1of 12

Mecanismo de Interrupo

http://www.inf.ufes.br/~rgomes/so.htm

Mecanismo de Interrupo (1)


Constitui a base de operao de um sistema de multiprogramao. um sinal de hardware que informa a ocorrncia de um evento no sistema, tal como o trmino de uma operao de E/S. Provoca uma mudana no fluxo de controle, o qual transferido para uma rotina de tratamento da interrupo correspondente. Interrupes de software: trap e SVC.
S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Mecanismo de Interrupo (2)

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

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 (ex: quando manipulando listas endadeadas). Assim, certas instrues (ditas privilegiadas) permitem colocar o processador em um certo nvel de execuo em que ele mascara (inibe) certos valores de interrupo.

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Nveis Tpicos de Interrupo


Erros de Mquina Relgio Disco Interface de Rede Terminal
Prioridade mais baixa

Prioridade mais alta

Interrupo de SW

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Modos de Operao (1)


O compartilhamento de recursos requer do S.O. garantias de que um programa com comportamento incorreto (deliberadamente ou no) possa causar danos ao sistema ou aos outros programas. Nesse sentido, o hardware fornece suporte para que a execuo de processos num dado sistema operacional se diferencie pelo menos entre dois modos de operao: modo usurio (user mode) e modo supervisor (kernel mode). Para isso, um Mode bit adicionado ao hardware do computador para indicar o modo corrente: supervisor (0) ou usurio (1). Processos executando em modo usurio podem acessar suas prprias instrues e dados mas no as instrues e dados do kernel (i.e., do ncleo do sistema operacional) ou mesmo de outros processos.

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Modos de Operao (2)

Interrupt/fault

kernel set user mode

user

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Modos de Operao (3)


Processos em modo supervisor no possuem esta limitao, podendo acessar endereos de usurio e do prprio kernel do sistema. Quando um processo executa uma chamada de sistema, isto , quando ele faz uma SVC (supervisor call), o modo de execuo muda de usurio para supervisor. O sistema operacional sempre roda no estado supervisor. Com o sistema no estado supervisor:
interrupes podem ser inibidas ou novamente habilitadas; As protees esto desabilitadas. Qualquer instruo pode ser executada.

Instrues privilegiadas s podem ser executadas em modo supervisor (ex: set PSW, I/O instructions, load timer, etc.). Sua tentativa de execuo em modo usurio resulta em erro.
S.O. 2010/1 Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Modos de Operao (4)


O hardware enxerga o mundo em termos de modo supervisor e modo usurio, no distinguindo entre os vrios usurios executando programas nesses modos. O sistema operacional mantm registros internos para distinguir os vrios processos executando no sistema.
A
Kernel mode

D K

User mode

Viso do HW Viso do S.O.

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Exemplo 1: SVC de E/S

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Exemplo 2: Proteo de Memria

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

http://www.inf.ufes.br/~rgomes/so.htm

Exemplo 2 (cont.)

S.O. 2010/1

Prof. Jos Gonalves - LPRM/DI/UFES

You might also like