Buscar

Interrupções e Exceções

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

28/01/2011 
1 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
1/34 Prof. Carlos Maurício de B. Mello 
Arquitetura de Sistemas Operacionais 
 
 
 
CAPÍTULO 3 
CONCORRÊNCIA 
 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
2/34 Prof. Carlos Maurício de B. Mello 
SUMÁRIO 
● Introdução 
● Interrupção e exceção 
● Operações de E/S 
● Buffering 
● Spooling 
● Reentrância 
● Proteção do sistema 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
3/34 Prof. Carlos Maurício de B. Mello 
● SO podem ser vistos como um conjunto básico de rotinas 
que executam concorrentemente de forma ordenada; 
● Conceito de concorrência é o principio básico para o projeto 
e a implementação dos sistemas multiprogramáveis; 
● Os sistemas multiprogramáveis surgiram a partir das 
limitações existentes dos sistemas monoprogramáveis. 
INTRODUÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
4/34 Prof. Carlos Maurício de B. Mello 
● Sistemas Monoprogramáveis: 
– Recursos computacionais utilizados de maneira ineficiente; 
– Arquiteturas com desempenho limitado. 
● Recursos de alto custo, ociosos por longos períodos de tempo. 
● Subutilização da memória principal – programas que não ocupavam 
totalmente a memória ocasionavam a existência de áreas livres sem 
utilização. 
– Nos sistemas multiprogramáveis enquanto um programa solicita uma 
operação de entrada e saída, outros programas podem utilizar o 
processador. 
INTRODUÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
5/34 Prof. Carlos Maurício de B. Mello 
– Programas são executados seqüencialmente enquanto nos 
multiprogramáveis são executados concorrentemente; 
– Exemplo de utilização de recursos em um sistema monoprogramável: 
LEITURA DE UM REGISTRO 0,0015 S 
EXECUÇÃO DE 100 INSTRUÇÕES 0,0001 S 
TOTAL 0,0016 S 
% UTILIZAÇÃO DA CPU (0,0001/0,0015) = 0,066 = 6,6 % 
INTRODUÇÃO 
Tabela com exemplo de utilização do sistema (Monoprogramável) 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
6/34 Prof. Carlos Maurício de B. Mello 
2
(a) Sistema Monoprogramável
tempo tempo
E/ S E/ S
UCP UCPlivre 11
1
(b) Sistema Multiprogramável
INTRODUÇÃO 
28/01/2011 
2 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
7/34 Prof. Carlos Maurício de B. Mello 
● Durante a execução de um programa, eventos inesperados 
podem ocasionar um desvio forçado no seu fluxo de execução; 
● São conseqüências da sinalização de algum dispositivo de 
hardware externo ao processador ou da execução de instruções 
de um programa; 
● Esses eventos são conhecidos como Interrupção ou Exceção e a 
diferença entre eles é dada pelo tipo de evento ocorrido. 
– Não é consenso entre as diversas literaturas sobre o assunto. 
INTERRUPÇÃO E EXCEÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
8/34 Prof. Carlos Maurício de B. Mello 
● A interrupção é o mecanismo que tornou possível a 
implementação da concorrência, sendo o fundamento básico nos 
sistemas multiprogramáveis; 
● É o mecanismo utilizado pelo sistema operacional para 
sincronização de rotinas e dos programas, além de controlar os 
dispositivos de E/S; 
INTERRUPÇÃO E EXCEÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
9/34 Prof. Carlos Maurício de B. Mello 
● É sempre gerada por algum evento externo ao programa; 
● É independente da instrução que está sendo executada; 
● O mecanismo de interrupção é realizado tanto por hardware 
quanto por software; 
● Para cada tipo de interrupção existe uma rotina de tratamento 
associada, para qual o fluxo de execução deve ser desviado; 
INTERRUPÇÃO E EXCEÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
10/34 Prof. Carlos Maurício de B. Mello 
MECANISMO DE INTERRUPÇÃO E EXCEÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
11/34 Prof. Carlos Maurício de B. Mello 
INTERRUPÇÃO E EXCEÇÃO 
Mecanismo de Interrupção 
Via Hardware 1. Um sinal de interrupção é gerado para o processador; 
2. Após o término da execução da instrução corrente, o processador 
identifica o pedido de interrupção; 
3. Os conteúdos dos registradores PC e de status são salvos; 
4. O processador identifica qual a rotina de tratamento que será 
executada e carrega o PC com o endereço inicial da rotina; 
Via Software 5. A rotina de tratamento salva o conteúdo dos demais registradores do 
processador na pilha de controle do programa; 
6. A rotina de tratamento é executada; 
7. Após o término da execução da rotina de tratamento, os registradores 
de uso geral são restaurados, além dos registrador de status e o PC, 
retornam a execução do programa interrompido. 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
12/34 Prof. Carlos Maurício de B. Mello 
● Interrupções são decorrentes de eventos assíncronos : 
– Não relacionados a instruções do programa; 
– Podem ocorrer múltiplas vezes; 
● Interrupções mascaráveis – Aquelas que são ignoradas durante 
as rotinas de tratamento, e não receberão tratamento; 
● Controlador de pedidos de interrupção; 
– Avalia as interrupções e prioriza a ordem de tratamento; 
– Avaliação é feita baseada na importância no atendimento de cada uma; 
INTERRUPÇÃO E EXCEÇÃO 
28/01/2011 
3 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
13/34 Prof. Carlos Maurício de B. Mello 
● Exceção: 
● Difere da Interrupção, apenas pelo o evento do qual foi gerado; 
● É o resultado direto da execução de uma instrução do próprio 
programa (Ex: Div/0, Overflow); 
● São conhecidos como eventos síncronos; 
● Esses eventos são previsíveis e ocorrem um único por vez; 
● Quando ocorre também utiliza uma rotina de tratamento de 
exceção; 
INTERRUPÇÃO E EXCEÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
14/34 Prof. Carlos Maurício de B. Mello 
● Rotina de tratamento de interrupção – responsável por tratar o 
evento ocorrido em uma interrupção ou exceção; 
● Mecanismo de interrupção pode ser realizado tanto por 
hardware como por software; 
● Métodos utilizados para tratamento de interrupções : 
● Vetor de interrupções; 
● Registrador de status; 
INTERRUPÇÃO E EXCEÇÃO 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
15/34 Prof. Carlos Maurício de B. Mello 
● Nos primeiros sistemas computacionais, a comunicação entre o 
processador e os periféricos era controlada por um conjunto de 
instruções especiais – instruções de E/S; 
– Executadas pelo próprio processador; 
– Continham detalhes específicos de cada dispositivo periférico; 
● Havia forte dependência entre processador e periféricos; 
● Surgimento do controlador (interface) permitiu ao processador 
agir de forma independente dos dispositivos de E/S; 
OPERAÇÕES DE ENTRADA E SAÍDA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
16/34 Prof. Carlos Maurício de B. Mello 
Memória
Principal
UCP
Controlador
Dispositivos de E/ S
OPERAÇÕES DE ENTRADA E SAÍDA – DETALHE: CONTROLADOR 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
17/34 Prof. Carlos Maurício de B. Mello 
● Com o advento do controlador passaram a existir duas maneiras 
básicas do processador gerenciar as operações de E/S: 
– E/S controlado por programa: 
● Processador sincronizava-se com o periférico para o início da 
transferência de dados; 
● Após iniciada a transferência, o sistema ficava monitorando o estado 
do periférico permanentemente para saber quando a operação 
chegaria ao seu final. 
OPERAÇÕES DE ENTRADA E SAÍDA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
18/34 Prof. Carlos Maurício de B. Mello 
– Este controle mantinha o processador ocupado até o final da 
operação de E/S (Busy Wait); 
● O processador executa uma instrução muito maisrapidamente que 
a realização de uma operação de E/S pelo controlador; 
– Consequência: Enorme desperdício de tempo da UCP. 
● O pooling foi criado então para introduzir um certo grau de 
paralelismo, que permitiu que após o início da transferência dos 
dados, o processador permanecesse livre para realizar outras 
tarefas, e que em determinados intervalos de tempo o SO testaria 
cada dispositivo para verificar o término da operação. 
OPERAÇÕES DE ENTRADA E SAÍDA 
28/01/2011 
4 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
19/34 Prof. Carlos Maurício de B. Mello 
● Com o surgimento dos sistemas multiprogramáveis, vários 
programas passaram a ser executados concorrentemente; 
● Tempo de uma operação de E/S é relativamente grande; 
● Com a implementação do mecanismo de interrupção, as 
operações de E/S puderam ser realizadas de forma mais 
eficiente; 
– E/S controlado por interrupção – o próprio controlador 
interrompia o processador para avisar sobre o término da 
operação; 
OPERAÇÕES DE ENTRADA E SAÍDA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
20/34 Prof. Carlos Maurício de B. Mello 
– E/S controlado por interrupção – o próprio controlador 
interrompe o processador para avisar sobre o término da 
operação; 
● O processador, após a execução do comando de leitura / 
gravação, permanece livre para o processamento de 
outras tarefas; 
● O controlador, por sua vez, fica encarregado de sinalizar 
ao processador por uma interrupção; 
● Uma interrupção é executada, como citado antes. 
OPERAÇÕES DE ENTRADA E SAÍDA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
21/34 Prof. Carlos Maurício de B. Mello 
● Grandes transferências de dados exigem muitas interrupções 
do processador, reduzindo sua eficiência, mesmo com a 
operação sendo controlada por interrupções; 
● Solução: Implementação da Técnica de transferência de dados 
chamada DMA (Direct Memory Access). 
– Essa técnica permite que um bloco de dados seja transferido entre a 
memória principal e os dispositivos de E/S, sem intervenção do 
processador, exceto no início e no término da transferência; 
OPERAÇÕES DE ENTRADA E SAÍDA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
22/34 Prof. Carlos Maurício de B. Mello 
● A Área de memória utilizada pelo controlador na técnica DMA 
é chamada de Buffer de E/S; 
● Nas transferências através da técnica DMA o controlador 
assume, momentaneamente, o controle do barramento; 
● A extensão do conceito de DMA possibilitou o surgimento do 
canal de E/S introduzido pela IBM no sistema 7094; 
– O canal é um processador com capacidade de executar programas de 
E/S, permitindo controle total sobre operações de E/S; 
– Sua evolução permitiu a criação de uma memória própria, eliminando 
assim, a necessidade de utilização da memória principal; 
OPERAÇÕES DE ENTRADA E SAÍDA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
23/34 Prof. Carlos Maurício de B. Mello 
Memória
Principal
UCP
Canal de E/ S
Controlador
Dispositivos de E/ S
Controlador
Dispositivos de E/ S
OPERAÇÕES DE ENTRADA E SAÍDA – DETALHE: CANAL DE E/S 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
24/34 Prof. Carlos Maurício de B. Mello 
● Técnica que utiliza uma área da memória principal (Buffer) 
para transferência de dados entre os dispositivos de E/S e a 
memória; 
– Na operação de leitura o dado é carregado antes no Buffer, liberando 
assim, o dispositivo de entrada para nova leitura; 
– Enquanto o processador manipula o dado localizado no buffer, o 
dispositivo realiza outra operação de leitura (mesmo instante). 
BUFFERING 
28/01/2011 
5 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
25/34 Prof. Carlos Maurício de B. Mello 
● O buffering permite a minimização do problema da 
disparidade de velocidade do processamento entre o 
processador e os dispositivos de E/S; 
– O objetivo principal desta técnica é manter, na maior parte do tempo, 
processador e dispositivos de E/S ocupados. 
● A unidade de transferência usada no mecanismo de buffering 
é o registro e seu tamanho pode ser especificado em função 
da natureza do dispositivo; 
BUFFERING 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
26/34 Prof. Carlos Maurício de B. Mello 
● O Buffer deve permitir armazenar diversos registros de forma 
que existam dados lidos mas ainda não processados (operação 
de leitura) ou processados, mas ainda não gravados (operação 
de gravação); 
– Dispositivo de entrada poderá ler diversos registros antes que o 
processador manipule os dados; ou 
– Processador poderá manipular diversos registros antes do dispositivo 
de saída realizar a operação de gravação. 
BUFFERING 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
27/34 Prof. Carlos Maurício de B. Mello 
Memória
Principal
UCP
Buffer
gravação gravação
leitura leitura
Controlador
BUFFERING - DETALHE: OPERAÇÕES DE E/S COM BUFFER 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
28/34 Prof. Carlos Maurício de B. Mello 
● Spooling (simultaneous peripheral operation on-line) foi introduzido 
no final da década de 50 para aumentar o grau de 
concorrência e eficiência dos SO; 
– Armazenamento de vários programas e seus dados (Jobs) em uma fita 
magnética, e, em seguida, submetê-los a processamento; 
● A utilização de fitas magnéticas obrigava o processamento a 
ser estritamente seqüencial, e com o surgimento dos 
dispositivos de acesso direto, tornou o spooling mais eficiente, 
inclusive com processamento não-seqüencial de jobs. 
SPOOLING 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
29/34 Prof. Carlos Maurício de B. Mello 
● A técnica, atualmente, é semelhante à técnica de buffering, 
pois utiliza uma área em disco como se fosse um grande 
buffer. 
● Hoje em dia esta técnica está presente na maioria dos SO, 
sendo utilizada no gerenciamento de impressão; 
● Permite desvincular o programa do dispositivo de impressão, 
impedindo que um programa reserve a impressora para uso 
exclusivo. 
SPOOLING 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
30/34 Prof. Carlos Maurício de B. Mello 
Programa ImpressoraArquivo
de Spool
Sistema OperacionalSistema Operacional
TÉCNICA DE SPOOLING 
28/01/2011 
6 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
31/34 Prof. Carlos Maurício de B. Mello 
● É a capacidade de um código executável (código reentrante) ser 
compartilhado por diversos usuários, exigindo que apenas uma 
cópia do programa esteja na memória; 
– Permite que cada usuário possa estar em um ponto diferente do código 
reentrante, manipulando dados próprios, exclusivos de cada usuário; 
– Exemplos: utilitários do sistema (editores de texto, compiladores, etc.) 
● A reentrância proporciona uma utilização mais eficiente da 
memória principal e aumento no desempenho do sistema. 
REENTRÂNCIA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
32/34 Prof. Carlos Maurício de B. Mello 
Memória Principal
código reentrante
área de dados do usuário A
usuário A usuário C
usuário B usuário D
área de dados do usuário B
área de dados do usuário C
área de dados do usuário D
REENTRÂNCIA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
33/34 Prof. Carlos Maurício de B. Mello 
● A eficiência proporcionada por um ambiente multiprogramável 
resulta em maior complexidade; 
● Nesse sentido, o sistema operacional deve possuir um 
mecanismo de proteção a cada uma das áreas reservadas aos 
diversos usuários (dados e códigos armazenados); 
● Houve então, a implementação de mecanismos de proteção e 
controle pelo SO, garantindo o acesso concorrente aos diversosrecursos do sistema. 
PROTEÇÃO DO SISTEMA 
SISTEMAS OPERACIONAIS – INSTITUTO SUPERIOR FÁTIMA 
34/34 Prof. Carlos Maurício de B. Mello

Continue navegando