apresentação do powerpoint...apresentação do powerpoint author: alan created date: 10/4/2016...

18
Sistemas Operacionais Interrupção e Exceção

Upload: others

Post on 02-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Sistemas OperacionaisInterrupção e Exceção

Page 2: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Interrupção e Exceção• Durante a execução de um programa podem ocorrer alguns

eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução.

• Estes tipos de eventos são conhecidos por interrupção ou exceção e podem ser conseqüência da sinalização de algum dispositivo de hardware externo ao processador ou da execução de instruções do próprio programa.

• A diferença entre interrupção e exceção é dada pelo tipo de evento ocorrido.

• A interrupção é o mecanismo que tornou possível a implementação da concorrência nos computadores, sendo o fundamento básico dos sistemas multiprogramáveis.

• É em função desse mecanismo que o sistema operacional sincroniza a execução de todas as suas rotinas e dos programas dos usuários, além de controlar dispositivos.

Page 3: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Interrupção e 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 ocorre 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.

Page 4: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Interrupção e Exceção

Identifica a origem da

interrupção

Salva o conteúdo dos

registradores na pilha de controle

Aplicação

Rotina de

Tratamento

Interrupção

ou Exceção

Obtém o endereço da rotina

de tratamento

Restaura o conteúdo dos

registradores

Page 5: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Interrupção e Exceção• Passos realizados após um pedido de interrupção ser aceito

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 desta rotina;

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 do registrador de status e o PC, retornando à

execução do programa interrompido.

Via Hardware

Via Software

Page 6: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Interrupção e 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 a divisão de um número por zero, ou um overflow em uma operação aritmética.

Page 7: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Operações de Entrada e Saída

• Existem três maneira básicas de executar operações de Entrada e Saída.• Entrada e Saída controlada por programa.

Nesta técnica, o 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 permanentemente testando o estado do periférico para saber quando a operação chegaria ao seu final.

este controle mantinha o processador ocupado até o término da operação de E/S.

Como o processador executa uma instrução muito mais rapidamente que a realização de uma operação de E/S, havia um enorme desperdício de tempo da CPU.

Page 8: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Operações de Entrada e Saída• Entrada e Saída controlada por interrupção.

Com a implementação do mecanismo de interrupção, as operações de E/S puderam ser realizadas de uma forma mais eficiente.Neste caso, o controlador interromperia o processador para avisar do término da operação de E/S.Com este mecanismo, o processador, após a execução de um comando de leitura ou gravação, permanece livre para o processamento de outras tarefas.O controlador por sua vez, ao receber um sinal de leitura fica encarregado de ler os blocos do disco e armazená-los em memória ou registradores próprios.Em seguida, o controlador sinaliza uma interrupção ao processador.Quando o processador atende à interrupção, a rotina responsável pelo tratamento transfere os dados dos registradores do controlador para a memória principal.Ao término da transferência, o processador pode voltar a executar o programa interrompido e o controlador fica novamente disponível para outra operação.

Page 9: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Operações de Entrada e Saída• Entrada e Saída controlada por DMA.

Esta técnica permite que um bloco de dados seja transferido entre a memória principal e dispositivos de E/S sem a intervenção do processador, exceto no início e no final da transferência.Quando o sistema deseja ler ou gravar um bloco de dados, o processador informa ao controlador sua localização, o dispositivo de E/S, a posição inicial da memória de onde os dados serão lidos ou gravados e o tamanho do bloco.Com estas informações, o controlador de DMA realiza a transferência entre o periférico e a memória principal, e o processador é somente interrompido no final da operação.A área de memória utilizada pelo controlador de DMA é chamada de buffer de entrada e saída.No momento em que uma transferência de dados através da técnica de DMA é realizada, o controlador deve assumir, momentaneamente, o controle do barramento.Como a utilização do barramento é exclusiva de um dispositivo, o processador deve suspender o acesso ao barramento, temporariamente, durante a operação de transferência.Este procedimento não gera uma interrupção, e o processador pode realizar tarefas, desde que sem a utilização do barramento, como um acesso à memória cache.

Page 10: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Canal de E/S

o Introduzido pela IBM no sistema 7094

o Canal de E/S é um processador com capacidade

de executar programas de E/S e controle total dos

dispositivos

o Instruções de E/S armazenadas na MP ou no

canal de E/S, porém executadas pelo canal de E/S

Processador instrui o canal de E/S a executar

um programa de canal, responsável por

especificar dispositivos, buffers e ações

Ao final da transferência, gera interrupção

o Pode controlar múltiplos dispositivos de E/S

Page 11: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Canal de E/S

MemóriaPrincipal

UCP

Canal de E/ S

Controlador

Dispositivos de E/ S

Controlador

Dispositivos de E/ S

Page 12: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Buffering

o Consiste em utilizar uma área na memória

principal para transferência de dados entre

dispositivos de E/S e a MP

o Numa operação de leitura do dispositivo:

Dado é transferido para buffer sem onerar o

processador, dispositivo fica liberado após

conclusão

o Numa operação de gravação p/o dispositivo:

Dado é escrito rapidamente no buffer,

liberando o processador para outras atividades

enquanto este é gravado no dispositivo.

Page 13: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Buffering

MemóriaPrincipal

UCPBuffer

gravação gravação

leitura leitura

Controlador

Page 14: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Buffering

o Unidade de transferência é o registro, cujo

tamanho depende do tipo de dispositivo

Vários registros podem ser armazenados num

buffer

Buffer conterá dados lidos mas ainda não

processados, ou dados processados mas ainda

não gravados

o Buffering minimiza problemas decorrentes da

disparidade de velocidades, compatibilizando

tempos de acesso de maneira que processador e

dispositivo de E/S não fiquem ociosos

Page 15: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Spooling

o Simultaneous Peripheral Operation On-line,

introduzido no fim dos anos 1950

o Técnica usa uma área do disco (arquivo) para

buffering de impressão

o Tudo que é submetido para impressão vai para o

arquivo de spool, liberando o programa de origem

o SO é quem gerencia os jobs de impressão

Programa ImpressoraArquivode Spool

Sistema OperacionalSistema Operacional

Page 16: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Reentrância

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

Page 17: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM

Proteção do Sistema

o SO deve garantir a confiabilidade e a integridade

dos programas e dados dos usuários, além do

próprio SO

Cada programa possui uma área reservada

para código e outra para dados que devem ser

preservadas durante sua execução

Idem para o SO em si

Arquivos também devem ter sua integridade

garantida quando acessados por múltiplos

programas e/ ou múltiplos usuários

Recursos não devem ser monopolizados

Page 18: Apresentação do PowerPoint...Apresentação do PowerPoint Author: Alan Created Date: 10/4/2016 11:38:25 PM