Você está na página 1de 20

Sistemas Operacionais

Aula 4 - Multiprogramação: processos II

Prof. Luan Pereira


Engenharia de Computação - UEMA
Roteiro
 Gerenciamento de Filas
 Mecanismos de interrupção
 Proteção entre Processos
 Proteção de Periféricos
 Proteção de Memória
 Proteção do Processador

2
Gerência de Filas

3
Mecanismos de interrupção
 Sinaliza a ocorrência de algum evento
 Provoca a execução de uma rotina especial
 Tratador de interrupção

 Ciclo de execução de uma interrupção


 Prepara a transferência de controle para o tratador (salvamento
do contexto de execução)
 Desvia controle para tratador
 Retorna execução (restaura contexto de execução)

4
Mecanismos de interrupção

5
Mecanismos de interrupção
 Tipos de interrupção
 Hardware : ocorrência de evento externo
 Software: execução de uma instrução específica
 Exceção: erros de execução (overflow,...)

 Identificadas por um número


 Vetor de interrupção

 Prioridades
 Habilitar e desabilitar interrupções
 Instruções privilegiadas
6
Mecanismos de interrupção

7
Proteção entre Processos
 O compartilhamento de recursos comuns implica em
garantir que a execução incorreta de um programa não
influencie a execução de outro programa

 A implementação de multiprogramação explora


características do hardware dos processadores

 Mecanismos básicos:
 Dois modos de operação
 Interrupção
 Proteção de periféricos, memória e processador

8
Proteção entre Processos
 Arquitetura de processadores oferecem mecanismos para
diferenciar pelo menos dois modos diferentes de
operação

 Modo supervisor(privilegiado/protegido)
 Possibilita a execução de todas as instruções do
processador
 Modo de execução sistema operacional

 Modo usuário
 Certas instruções (privilegiados) não podem ser executadas
 Modo de execução dos processos usuários

9
Modos de operação do processador

 Chaveamento de modos:
 Interrupção (modo usuário –> modo protegido)
 Instrução (modo protegido –> modo usuário)

10
Proteção de Periféricos
 Instruções de E/S são privilegiadas

 Como processos usuários realizam operações de E/S já


que estas são instruções privilegiadas?
 Chamadas de sistema

11
Proteção de Periféricos

12
Chamada de Sistema
 Método empregado para um processo usuário solicitar
serviços ao sistema operacional

 Normalmente baseada em interrupções de software(traps)

 Aciona a rotina de tratamento de interrupção


 Identifica serviço requisitado
 Verifica validade de parâmetros
 Executa o serviço
 Retorna ao processo do usuário

13
Proteção de Memória

 Necessário para evitar que usuário corrompa espaços de


memória não-pertencentes a seus processos

 Baseado em facilidades da arquitetura do processador:


 Registrador de base
 Registrador de limite

14
Proteção de Memória

15
Proteção de Memória

 Faixa de endereçamento fora da área delimitada pelos


registradores base e limite é protegida

 Possível proteger dispositivos de E/S quando a técnica E/S


mapeada em memória é empregada

16
Proteção de Memória

17
Proteção do Processador
 Para garantir a execução do sistema operacional uma
interrupção de temporizador (timer) ocorre
periodicamente

 Interrupção de tempo:
 Empregada para implementar multiprogramação
 Mantém contabilização de tempo para o sistema operacional
(relógio)

 Instruções relacionadas com a programação do tempo são


privilegiadas

18
Atividade

1. A operação desabilita interrupções deve ou não ser


privilegiada?

1. A operação escreve caractere na interface da impressora deve


ou não ser privilegiada? Justifique.

1. Explique como o mecanismo de modos de execução do


processador, associado com o mecanismo de interrupções,
pode impedir que um processo executando código de usuário
possa, por exemplo, acessar diretamente o controlador do
disco.
Próxima Aula...
 Programação Concorrente

20

Você também pode gostar