SISTEMAS OPERACIONAIS I

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais - Aula 6
Advertisements

Sistemas Operacionais
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais Aula II
Sistemas Operacionais
Sistemas Operacionais
Capitulo 6: Entrada e Saída
Sistemas Operacionais
Sistema Operacional Introdução
O Sistema de Computação
Arquitetura e organização de computadores
Técnicas para operações E/S
Profa. Priscila Facciolli
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Sistemas Operacionais
Problemas com Entrada e Saída
Conhecendo Hardware Parte 1
Sistemas Operacionais
Introdução (3) Aula 3.
Sistemas Operacionais Turmas MBI1 e NBI2. Prof: Marcelo Mendes.
Threads.
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais Adriana Vettorazzo
Sistemas Operacionais
Processadores – Aula 3 Professor: André Luis Meneses Silva
Sistemas Operacionais I
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP PIC16F877A - Parte III Jadsonlee da Silva Sá
Sistemas Operacionais
Sistema Operacional Processos
Processo Entidade dinâmica e efêmera
Sistemas Operacionais I
Conteúdo Processos e threads Partes do processo
Entrada e Saída (E/S ou I/O)
Suporte de hardware à multiprogramação
Conceito de processos Faculdade PITÁGORAS – Agosto de 2011
Claudio de Oliveira – Processos 09/03/10 20:13 Claudio de Oliveira –
Faculdade JK Guará Curso: Sistema de Informação
Sistemas Operacionais
Processos.
Processos.
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
Sistemas Operacionais
Arquitetura de Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Entrada e Saída (E/S).
Sistemas Operacionais Prof. Fabiano Sabha
Subsistema de Entrada e Saída do Kernel
IHS Aula Prática 4 Interrupções
Sistemas Operacionais
SISTEMAS OPERACIONAIS
Sistemas Operacionais Aula 2 Danielle Costa
Sistemas Operacionais
BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2.
Arquitetura de computadores
Arquitetura de computadores
FACULDADE CAMBURY Sistemas Operacionais Profª Adriana Vettorazzo.
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Sistemas Operacionais IV – Gerenciamento de E/S
ARQUITETURA DE COMPUTADORES Nível do Conjunto de Instruções
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Tratamento de Exceções. Roteiro O que são exceções? Quando usar Capturando Exceções Exemplos.
EA869 Interrupção Faculdade de Engenharia Elétrica e de Computação (FEEC) Universidade Estadual de Campinas (UNICAMP) Prof. Levy Boccato 1.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

SISTEMAS OPERACIONAIS I Conceitos de interrupção Durante a execução de um programa, alguns eventos inesperados podem ocorrer, interrompendo o seu fluxo normal de execução e ocasionando o desvio forçado. Tais eventos são conhecidos por interrupção, mecanismo básico e fundamental para o funcionamento dos sistemas operacionais multiprogramáveis.

SISTEMAS OPERACIONAIS I Conceitos de interrupção Sempre que ocorre uma interrupção, o sistema operacional é chamado para executar a rotina de tratamento. Antes de realizar o desvio, o sistema Operacional deve salvar o estado do processo interrompido, para que este possa continuar do ponto onde parou quando voltar a executar. Existem três tipos de interrupção: interrupção de hardware, de exceção e interrupção de software.

SISTEMAS OPERACIONAIS I Conceitos de interrupção A interrupção de hardware ocorre em consequência da sinalização de algum dispositivo de hardware externo ao processador. Geralmente são os dispositivos de E/S, enviando sinais sobre as operações de E/S, mas também pode ser gerada pelo temporizador (timer).

SISTEMAS OPERACIONAIS I Conceitos de interrupção Exemplos de dispositivos que geram interrupção de hardware: mouse, teclado, dispositivo de E/S, avisando ao processador que alguma operação de E/S terminou e, o temporizador, avisando que o tempo (time slice) de um processo terminou.

SISTEMAS OPERACIONAIS I Conceitos de interrupção As interrupção por exceção ocorre em consequência de algum erro durante a execução de uma instrução do próprio programa. Há exceções que sinalizam a ocorrência de algum erro aritmético e outras que sinalizam erros relacionados à segurança (proteção) do sistema.

SISTEMAS OPERACIONAIS I Conceitos de interrupção São exemplos de exceções aritméticas: divisão por zero, overflow, underflow. São exemplos de exceções de segurança: tentativa de acesso ilegal à memória, estouro de pilha, tentativa de execução de instrução privilegiada no modo usuário.

SISTEMAS OPERACIONAIS I Conceitos de interrupção A interrupção de software é, na verdade, uma chamada de sistema, realizada sempre quando um utilitário ou aplicativo solicita recursos de hardware ao sistema operacional. São exemplos de chamadas de sistema: solicitação leitura ou gravação de arquivo, leitura do teclado, impressão na tela, etc.

SISTEMAS OPERACIONAIS I Conceitos de interrupção Para obter serviços do SO, um programa de usuário deve fazer uma chamada de sistema, que, por meio de uma instrução TRAP, chaveia do modo usuário para o modo núcleo e passa o controle para o SO. Quando o trabalho do SO está terminado, o controle é retornado para o programa do usuário na instrução seguinte à da chamada de sistema.

SISTEMAS OPERACIONAIS I Conceitos de interrupção É interessante saber que qualquer computador com uma única CPU pode executar somente uma instrução por vez. Se um processo estiver executando um programa de usuário em modo usuário e precisar de um serviço do sistema, como ler dados de um arquivo, terá de executar uma instrução TRAP para transferir o controle ao SO.

SISTEMAS OPERACIONAIS I Conceitos de interrupção Este verifica os parâmetros para, então, descobrir o que quer o processo que esta chamando. Em seguida, ele executa uma chamada de sistema e retorna o controle para a instrução seguinte à chamada. Em certo sentido, fazer uma chamada de sistema é como realizar um tipo especial de chamada de rotina, só que as chamadas de sistema fazem entrar no modo núcleo e as chamadas de rotina, não.

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Ao final da execução de cada instrução, a unidade de controle verifica se ocorreu algum tipo de interrupção. Em caso afirmativo, a execução do programa é interrompida e o fluxo de controle é desviado para alguma rotina responsável por tratar o evento ocorrido, chamado de rotina de tratamento de interrupção.

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Para que o programa possa voltar a ser executado posteriormente, é necessário que as informações sobre o estado do programas sejam salvas imediatamente após a ocorrência da interrupção. Tais informações consistem no conteúdo dos registradores e são denominadas de contexto de execução. Após o tratamento a interrupção, o contexto de execução deverá ser restaurado para que o programa continue executando do ponto onde parou – como se nada tivesse acontecido.

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Para cada tipo de interrupção existe uma rotina de tratamento associada, para onde o fluxo de execução deverá ser desviado. Para obter o endereço da rotina de tratamento da interrupção ocorrida, é necessário identificar a origem do evento. Uma das formas de realizar isso é por meio de uma estrutura 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.

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Toda interrupção é identificada por um número e esse número é usado para consultar o vetor de interrupção e obter o endereço inicial da rotina de tratamento.

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Assim, quando ocorre uma interrupção, o conteúdo dos registradores (contexto de execução) é salvo na pilha de controle; em seguida, a origem do evento é identificada e é obtido o endereço da rotina de tratamento. A rotina de tratamento é então, executada. Ao final, o conteúdo dos registradores é restaurado e o programa volta a executar do ponto onde parou.

SISTEMAS OPERACIONAIS I Mecanismos de interrupção

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Os eventos que causam a interrupção podem ser classificados como síncronos ou assíncronos. Um evento é dito síncrono, quando é resultado direto da execução do programa concorrente. Nesse caso, se um mesmo programa for executado várias vezes com a mesma entrada de dados, os eventos síncronos ocorrerão sempre nos mesmos pontos instruções) do programa (exemplo: exceção de divisão por zero, overflow, underflow, etc).

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Um evento é classificado como assíncrono, quando é independente dos dados de entrada e das instruções do programa, ou seja, quando pode ocorrer em qualquer ponto do programa (exemplo: interrupção gerada pelo mouse, teclado, periféricos, etc).

SISTEMAS OPERACIONAIS I Mecanismos de interrupção Assim, as interrupções de hardware são classificadas como assíncronas, pois independem das instruções e da entrada de dados do programa. Já as exceções e as interrupções de software (chamadas de sistema) são classificadas como síncronas, pois sempre ocorrerão nos mesmos pontos do programa, se tiverem a mesma entrada de dados.

SISTEMAS OPERACIONAIS I Exercícios: 1) Por que o mecanismo de interrupção é fundamental para a implementação da multiprogramação? 2) Explique o mecanismo de funcionamento das interrupções. 3) O que são eventos síncronos e assíncronos? 4) Defina TRAP. 5) Dê exemplos de eventos associados ao mecanismo de exceção.