Mecanismo de Interrupção



Documentos relacionados
ENTRADA E SAÍDA DE DADOS

SO - Conceitos Básicos. Introdução ao Computador 2010/01 Renan Manola

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 04 - Concorrência. Cursos de Computação

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Sistemas Operacionais - Prof. Fabricio Alessi Steinmacher - fsteinmacher@gmail.com OBJETIVOS OPERACIONAIS. fsteinmacher@gmail.

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Sistemas Operacionais. Prof. André Y. Kusumoto

Organização e Arquitetura de Computadores

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Estruturas do Sistema de Computação

Sistemas Operacionais

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Tipos de sistemas operacionais

Componentes básicos de um sistema computacional. Cap. 1 (Stallings)

Prof.: Roberto Franciscatto. Capítulo 1.1 Introdução

Sistemas Operacionais

Sistemas Operacionais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Dispositivos de Entrada e Saída

Arquitetura de Computadores - Revisão -

Visão Geral de Sistemas Operacionais

Unidade Central de Processamento (CPU) Processador. Renan Manola Introdução ao Computador 2010/01

Sistemas Operacionais

Arquitetura e Organização de Computadores I

Informática I. Aula 4. Aula 4-11/09/2006 1

E/S PROGRAMADA E/S PROGRAMADA E/S USANDO INTERRUPÇÃO

Máquina de estados UNIX O

Máquina de estados UNIX O. Sistemas Operacionais 2008/1Profa. Patricia S.O. computação: recursos D. S.O S.O. controla eventos no sistema de

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais

discos impressora CPU memória AULA 04 - Estruturas de Sistemas Computacionais Operação dos sistemas de computação Controlador de disco

Introdução aos Sistemas

Entrada e Saída. Interface entre periféricos, processador e memória. Fonte: Minho - Portugal 1

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron

Sistemas Operacionais

Arquitetura de Sistemas Operacionais

Organização Básica do Computador

28/9/2010. Unidade de Controle Funcionamento e Implementação

Sistemas Operacionais. INTRODUÇÃO Prof. Rafael Alberto Vital Pinto FACSUL/CESUR

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

LABORATÓRIO DE LINGUAGEM DE MONTAGEM INTERRUPÇÕES DO DOS E DA BIOS

Processos e Threads (partes I e II)

Sistema Operacional. Prof. Leonardo Barreto Campos 1

Paralelismo. Computadores de alto-desempenho são utilizados em diversas áreas:

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

Guilherme Pina Cardim. Relatório de Sistemas Operacionais I

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

Sistema Operacional Correção - Exercício de Revisão

Entrada e Saída. Prof. Leonardo Barreto Campos 1

Aula 3. Sistemas Operacionais. Prof: Carlos Eduardo de Carvalho Dantas

Nível da Arquitetura do Conjunto das Instruções

SISTEMAS OPERACIONAIS 2007

7 Processos. 7.1 Introdução

Arquitetura de Computadores para. Sistemas Operacionais. Sistemas Operacionais. Sumário

Arquitetura de um Computador

RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE RELÓGIO (TIMER), HARDWARE

Organização de Computadores. (Aula 5) Entrada/Saída

Organização de Computadores 1

Organização de Computadores 1

Entrada e Saída (Input/Output I/O) Organização de Computadores (Aula 5) Entrada/Saída. Diferentes Tipos de Dispositivos (1)

Figura 01 Kernel de um Sistema Operacional

Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais. Estruturas de SO. Edeyson Andrade Gomes.

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Introdução aos Computadores

Sistemas Operacionais

Estrutura de um Computador

6 - Gerência de Dispositivos

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

Introdução aos Sistemas Operativos

3. Arquitetura Básica do Computador

MANUTENÇÃO DE MICRO. Mário Gomes de Oliveira

Ciclo de Vida de um Processo

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

ULA Sinais de Controle enviados pela UC

Sistemas Operacionais

Sistemas Operacionais Processos e Threads

5 Entrada e Saída de Dados:

Gestor de Processos. Gestor de Processos

Capítulo 4. MARIE (Machine Architecture Really Intuitive and Easy)

1.2 Tipos de Sistemas Operacionais

Sistemas Operacionais Cap 2 Estruturas de Sistemas Computacionais

Sistemas Operacionais

Sistemas Operacionais Introdução. Professora: Michelle Nery

Arquitetura de Computadores. Tipos de Instruções

Sistemas Operacionais Entrada / Saída. Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br)

Everson Scherrer Borges João Paulo de Brito Gonçalves

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Arquitetura de Computadores I

Modelo Genérico de Módulo de E/S Grande variedade de periféricos

Gerência de Entrada/Saída

Arquitetura de Computadores II

Transcrição:

Mecanismo de Interrupção

Paralelismo de Operação Num sistema multiprogramado a CPU está sempre apta a compartilhar o seu tempo entre os vários programas e os diferentes dispositivos periféricos que necessitam da sua atenção. O mecanismo de interrupção constitui a base para a implementação do esquema de paralelismo entre CPU e periféricos na multiprogramação. S.O. 2010/1 Prof. José Gonçalves - LPRM/DI/UFES

Interrupção de Hardware É um mecanismo usado para sinalizar à CPU a ocorrência de eventos importantes relacionados aos dispositivos periféricos e outros elementos do sistema. Na ocorrência da interrupção é requerido que a CPU pare momentaneamente o que está fazendo para atendê-la. Ex: término de operação de E/S, chegada de um dado em uma interface de rede, tecla pressionada, click no mouse, etc. A interrupção permite aos dispositivos periféricos sincronizarem a sua operação com a CPU. Caso não existisse, a CPU teria que ficar verificando se algum periférico pretende reportar algum evento ( polling ). Desperdício de tempo de CPU Eventos com diferentes taxas3de sinalização (teclado x disco)

Interrupção de Hardware (cont.) A ocorrência de uma interrupção força uma mudança no fluxo de controle, que é transferido para uma rotina de tratamento da interrupção correspondente (Interrupt Handler ou Interrupt Service Routine). Esta rotina possui um conjunto de instruções prédefinidas, adequadas a cada tipo de interrupção. Observar que as interrupções são eventos gerados assincronamente à atividade regular do sistema. O sistema não sabe em que ponto no fluxo de instruções a interrupção ocorrerá. O tempo de servir a interrupção é descontado do quantum do processo em execução (time-slice). 4

Fluxo de Processamento de uma Interrupção Hardware Dispositivo de controle ou outro sistema de hardware que permita ativar uma interrupção Processador termina a execução da instrução corrente Software (Rotina de serviço) Salva informações remanescentes sobre o estado do processo Processa a interrupção Processador reconhece sinal de interrupção Restaura a informação do estado do processo Processador coloca PSW e PC na pilha de controle Restaura o velho PSW e PC Processador carrega novo valor do PC, baseado na interrupção

IRQ e PIC Interrupt requests (IRQ) Canais para requisição de interrupções um canal por periférico. Programmable Interrupt Controller (PIC) Um controlador de interrupções é responsável pelo encaminhamento das interrupções dos periféricos para o processador. Estabelece um protocolo com o processador, trocando dados necessários para servir a interrupção. 6

PIC 8259A (Intel) O controlador de interrupções ativa o sinal INT A CPU responde com INTA (INTerrupt Acknowledge); O controlador de interrupções responde através do bus de dados (D 0 a D 7 ) com o número da entrada que produziu a interrupção; A CPU utiliza esse número para indexar uma tabela de endereços de memória (designados interrupt vectors) onde estão os conjuntos de instruções que servem cada interrupção. 7

CPU (comunicação com o mundo exterior) 8

Interrupção Ações do Hardware 1. Controlador do dispositivo ativa uma linha de interrupção no barramento de sistema para iniciar a seqüência de interrupção. 2. Ativação no barramento de um sinal de reconhecimento da interrupção. 3. Controlador do dispositivo vetor de interrupção. 4. Processador remove o vetor de interrupção do barramento e salva seu valor temporariamente. 5. Pilha armazena o conteúdo do PC e do registrador contendo a PSW. 6. Processador localiza um novo PC com a ajuda do vetor de interrupção (índice para a tabela situada na parte baixa da memória). 9

Interrupção Ações do Software 7. Salvar o conteúdo dosstradores - restauração posterior. 10 8. Vetor de interrupção é compartilhado por todos os dispositivos de um mesmo tipo (não se sabe qual terminal causou a interrupção). 9. Obtenção de outra informação sobre a interrupção. 10. Correção de algum erro de E/S. 11. Atualização das variáveis envolvidas. 12. Geração de código especial para informar ao dispositivo ou controlador do dispositivo que uma interrupção está sendo processada. 13. Restauração dos valores originais dos registradores. 14. Execução da instrução RETURN FROM INTERRUPT. Processador continua a execução do programa.

Tipos de Interrupção Hardware Pedidos de dispositivos periféricos, relógio do sistema, circuitos de monitorização de energia. Software Uma interrupção causada por um programa (chamada ao sistema - SVC). Exceção Ocorrem devido a utilizações indevidas de instruções ou de dados (e.g., divisão por zero, acesso a uma posição de memória protegida, overflow, etc.). 11

Interrupção Externa e Interna

Interrupção de Software (SVC)

Múltiplas Interrupções Modelo Sequencial Programa do usuário Interrupção Rotina X Interrupção Rotina Y A Rotina de Serviço desabilita as interrupções Uma nova interrupção só é tratada após o retorno A interrupção pode demorar a ser tratada, o que pode eventualmente ocasionar uma perda de dados Finalizada a Rotina de Serviço de Interrupção, o processador checa por interrupções adicionais

Múltiplas Interrupções Modelo Cascata Programa do usuário Interrupção Rotina X Interrupção Rotina Y Interrupções têm prioridade Interrupções com alta prioridade interrompem rotinas de serviço de interrupções de menor prioridade

Níveis Típicos de Interrupção Erros de Máquina Relógio Prioridade mais alta Disco Interface de Rede Terminal Prioridade mais baixa Interrupção de SW S.O. 2010/1 Prof. José Gonçalves - LPRM/DI/UFES

Inibição de Interrupções O núcleo (kernel) do S.O. alguma vezes previne a ocorrência de interrupções durante atividades críticas, que poderiam resultar em dados corrompidos se estas fossem permitidas. Assim, certas instruções (ditas privilegiadas) permitem colocar o processador em um certo nível de execução em que ele mascara (inibe) certos valores de interrupção. Interrupções mascaráveis. S.O. 2010/1 Prof. José Gonçalves - LPRM/DI/UFES

Rotina de Interrupção do Relógio O relógio (clock) é um elemento de hardware que interrompe a CPU em intervalos de tempos fixos. CPU tick, clock tick ou tick. Algumas máquinas requerem que o S.O. rearme o relógio após cada interrupção; em outras, o relógio rearma-se sozinho. A interrupção de relógio é a mais prioritária, só perdendo para a interrupção de falha de energia. Uma Rotina de Interrupção do Relógio (Clock Interrupt Handler) é executada em resposta a uma interrupção do relógio. LPRM/DI/UFES 18 Sistemas Operacionais

Rotina de Interrupção do Relógio (cont.) A maioria dos computadores suporta uma variedade de intervalos: Unix tipicamente configura o CPU tick em 10 ms. A constante HZ (definida no arquivo param.h) armazena a freqüência desejada para o CPU tick. Ex: HZ=100 implica em um intervalo de tick de 10 ms. As funções do kernel são usualmente medidas em números de CPU ticks ao invés de segundos ou milisegundos. LPRM/DI/UFES 19 Sistemas Operacionais

Rotina de Interrupção do Relógio (cont.) Tarefas típicas do Clock Interrupt Handler: Reiniciar o relógio, se necessário. Atualizar as estatísticas de uso da CPU p/ o processo corrente. Realizar funções relacionadas ao escalonamento (recalcular prioridades, tratar evento de fim de fatia de tempo do processo corrente, etc.). Manipular sinais (ex: enviar o sinal SIGXCPU para o processo corrente, caso ele tenha excedido a sua cota de uso de CPU). Atualizar o time-of-day e outros timers relacionados. Acordar processos de sistema quando apropriado (ex: swapper e pagedaemon) e manipular callouts e alarmes. LPRM/DI/UFES 20 Sistemas Operacionais