Buscar

Sistemas Operacionais aula 02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

CCT0011 – Sistemas Operacionais
Aula 02 – Interrupções
Professor Ricardo Bernardo
Sistemas Operacionais
INTERRUPÇÕES
Sistemas Operacionais
Conceito de Interrupções
Quando um programa entra em execução, suas instruções são executadas em 
sequência pelo processador. Pode ocorrer situações que force o processador lançar 
algum evento que cause o desvio da sequência original de execução do programa. 
Estes eventos são conhecidos como interrupções ou exceções. 
O desvio para uma rotina pré-definida para tratar um evento gerado por uma 
interrupção é chamada de rotina de tratamento de interrupção .
A utilização de interrupções permitiu o desenvolvimento de concorrência nos 
computadores.
Sistemas Operacionais
Tipos de Interrupções
As interrupções são geradas por dispositivos de hardware e podem ocorrer de 
forma síncrona ou assíncrona.
• Relógio (temporizador)  síncrona
• Dispositivos de E/S (sinalização de conclusão)  assíncrona
• Falha de hardware (paridade de memória, erro de disco, etc.)  assíncrona
O termo interrupção é muitas vezes utilizado para qualquer atividade que 
suspenda a execução de uma tarefa, mesmo que seja solicitada pelo próprio 
programa.
Utilizaremos para este fim, o termo “estado de exceção”.
Sistemas Operacionais
Tipos de Interrupções
Estado de exceção são provocados pela própria aplicação
• Estouro aritmético
• Divisão por zero
• Instrução ilegal
• Acesso não permitido
• Chamada ao sistema
Obs.: Mascaramento de interrupções é a capacidade de inibir a ação de uma 
interrupção. As interrupções de segurança não podem ser mascaradas.
Sistemas Operacionais
Tipos de Interrupções
Interrupções podem acontecer de forma sequencial ou em cascata.
Sequencial  uma interrupção só poderá ser atendida se nenhuma outra estiver em 
atendimento.
• A rotina de serviço desabilita aas 
interrupções
• Uma nova interrupção só será tratada 
após o retorno da anterior.
• Finalizada a rotina de serviço de 
interrupção, o processador verifica por 
interrupções adicionais.
Sistemas Operacionais
Tipos de Interrupções
Interrupções podem acontecer de forma sequencial ou em cascata.
Cascata  uma interrupção poderá interromper a ação de uma rotina de 
tratamento de outra interrupção.
• Interrupções têm prioridade
• Interrupções com alta prioridade 
interrompem rotinas de serviço de 
interrupções de menor prioridade.
Exemplos de prioridade: impressora 
disco  comunicação.
Sistemas Operacionais
O fluxo da interrupção
Dispositivo de controle ou
outro sistema de hardware 
que permita ativar uma 
interrupção
Processador termina a execução 
da instrução corrente
Processador reconhece sinal de 
interrupção
Processador coloca PSW e PC na 
pilha de controle
Processador carrega novo valor 
do PC, baseado na interrupção
Salva informações remanescentes 
sobre o estado do processo
Processa a interrupção
Restaura a informação do estado 
do processo
Restaura o velho PSW e PC
Sistemas Operacionais
APLICAÇÃO
100
101
102
STACK
102
PC
estado APPSW
Passo a passo das interrupções
INSTRUÇÃO EM EXECUÇÃO
Sistemas Operacionais
APLICAÇÃO
100
101
102
STACK
102
PC
estado APPSW
Passo a passo das interrupções
OCORRE INTERRUPÇÃO
Sistemas Operacionais
APLICAÇÃO
100
101
102
102
STACK
102
PC
estado APPSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A
SALVA PC
Sistemas Operacionais
APLICAÇÃO
100
101
102
estado AP
102
STACK
102
PC
estado APPSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A 
SALVA PSW
Sistemas Operacionais
APLICAÇÃO
100
101
102
estado AP
102
STACK
500
PC
estado 
Rotina APSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A 
ALTERA 
PSW e PC
Sistemas Operacionais
APLICAÇÃO
100
101
102
registradores
estado AP
102
STACK
501
PC
estado 
Rotina APSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A 
ROTINA A SALVA 
REGISTRADORES
Sistemas Operacionais
APLICAÇÃO
100
101
102
estado AP
102
STACK
510
PC
estado 
Rotina APSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A 
ROTINA A 
TERMINA
510
Sistemas Operacionais
APLICAÇÃO
100
101
102
102
STACK
510
PC
Estado APPSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A 
RECUPERA PSW
510
Sistemas Operacionais
APLICAÇÃO
100
101
102
102
STACK
102
PC
Estado APPSW
Passo a passo das interrupções
500
ROTINA DA INTERRUPÇÃO A 
RECUPERA PC
510
Sistemas Operacionais
APLICAÇÃO
100
101
102
STACK
103
PC
estado APPSW
Passo a passo das interrupções
INSTRUÇÃO EM EXECUÇÃO
Sistemas Operacionais
Resumindo
• Sistema Operacional é um conjunto de programas cujas principais funções são:
– Interface com usuário
– Administração dos recursos
– Segurança e estabilidade
• Sistemas multitarefa utilizam as interrupções para promover a sensação de 
execução simultânea, mas sabemos que se trata de execução concorrente.
Sistemas Operacionais
Interrupção x Exceção
• Uma interrupção é sempre gerada por algum evento externo ao programa e, nesse caso, independe 
da instrução que está sendo executada. 
• Um exemplo de interrupção é quando um dispositivo avisa ao processador que alguma operação de 
E/S está completa. 
• Nesse caso, o processador deve interromper o programa para tratar o término da operação. 
• Ao final da execução de cada instrução, a unidade de controle verifica a ocorrência de algum tipo de 
interrupção. 
• Nesse caso, o programa em execução é interrompido e o controle desviado para uma rotina 
responsável por tratar o evento ocorrido, denominada rotina de tratamento de interrupção. 
• Para que o programa possa posteriormente voltar a ser executado, é necessário que, no momento da 
interrupção, um conjunto de informações sobre a sua execução seja preservado. 
• Essas informações consistem no conteúdo de registradores, que deverão ser restaurados para a 
continuação do programa. 
Sistemas Operacionais
Interrupção x Exceção
Sistemas Operacionais
Interrupção x Exceção
• Para cada tipo de interrupção existe uma rotina de tratamento associada, para a qual o fluxo de 
execução deve ser desviado. A identificação do tipo de evento ocorrido é fundamental para 
determinar o endereço da rotina de tratamento. 
• No momento da ocorrência de uma interrupção, o processador deve saber para qual rotina de 
tratamento deve ser desviado o fluxo de execução. 
• O principal método utiliza uma estrutura de dados chamada vetor de interrupção, que contém o 
endereço inicial de todas as rotinas de tratamento existentes associadas a cada tipo de evento. 
• Uma exceção é semelhante a uma interrupção, sendo a principal diferença o motivo pelo qual o 
evento é gerado. 
• A exceção é resultado direto da execução de uma instrução do próprio programa, como: 
– Divisão de um número por zero; 
– Overflow em uma operação aritmética; 
– Instrução Inválida; 
– Instrução Ilegal, dentre outras... 
Sistemas Operacionais
Interrupção x Exceção
Exemplo de Interrupções de hardware

Outros materiais