Proteção de Hardware

Propaganda
Proteções (de hardware)
necessárias ao Sistema
Operacional
Operating System Concepts
1.23
Silberschatz, Galvin and Gagne ©2005
Proteção de Hardware
Modo Dual de operação (usuário/supervisor)
Proteção de I/O
Proteção de memória
Proteção de CPU
Operating System Concepts
1.24
Silberschatz, Galvin and Gagne ©2005
1
Modo Dual de Operação
Compartilhamento de recursos do sistema requer que SO ofereça
garantia de que processos incorretos não ? atrapalhem? outros
processos
Hardware deve suportar pelo menos dois modos diferenciados de
operação:
1. User mode ? executa instruções de processos de usuários.
2. Monitor mode -- (também chamado modo supervisor, system
mode, kernel mode) ? executa instruções do núcleo do SO.
Operating System Concepts
Silberschatz, Galvin and Gagne ©2005
1.25
Modo Dual de Operação (Cont.)
Bit(s) de modo adicionado ao hardware da CPU para indicar
modo corrente -- ex: supervisor (0), usuário (1).
Quando ocorre interrupção (trap ou fault) hardware troca para
modo supervisor.
InterruIpt / fault
Supervisor
user
set user mode
?Instru£ões privilegiadas executam somente em modo supervisor
Operating System Concepts
1.26
Silberschatz, Galvin and Gagne ©2005
2
Proteção de I/O
Todas as instru£ões de I/O são instruções privilegiadas
Deve garantir que um programa de usuário nunca possa ganhar
controle do computador em modo supervisor (i.e. Um programa
que, como parte de sua execução, armazena um novo endereço no
vetor de interrupção).
Operating System Concepts
1.27
Silberschatz, Galvin and Gagne ©2005
Proteção de Memória
Hardware deve prover proteção no mínimo para os vetores de
interrupção e para as rotinas de interrupção (ISR)
Para haver proteção de memória poderíamos ter, por exemplo, dois
registradores que determinem a faixa de endereços com acesso
permitido a um processo.
? Registrador base - endereço onde começa a área de acesso
permitido
? Registrador de limite - contém tamanho da área de acesso
permitido
Memória fora da faixa definida é protegida
Operating System Concepts
1.28
Silberschatz, Galvin and Gagne ©2005
3
Espaço lógico de endereçamento
usando-se registradores base e limite
Operating System Concepts
1.29
Silberschatz, Galvin and Gagne ©2005
Hardware de Proteção
Em modo monitor programa (SO) tem acesso irrestrito a todo o
espaço de endereçamento
As intruções que modificam os registradores base e limite devem
ser instruções privilegiadas
Operating System Concepts
1.30
Silberschatz, Galvin and Gagne ©2005
4
Proteção de CPU
Timer - (“relogio” temporizador) interrompe processamento
(interrupção) periódicamente garantindo que SO mantenha o
controle.
?
Timer é decrementado a cada tick de relógio
?
Quando timer chaga a zero, interrupção ocorrre.
Temporizador é normalmente usado para implementar “time
sharing”
Temporizador também é usado para computar a hora atual do
sistema
Instrução para modificar o timer deve ser instrução privilegiada.
Operating System Concepts
1.31
Silberschatz, Galvin and Gagne ©2005
Arquitetura geral das chamadas
de I/O
Dado que as chamadas de I/O são privilegiadas, como um
programa de usuário pode fazer I/O ?
? System call ? é o método usado por um processo para
requisitar uma ação do SO
? Usualmente toma a forma de um trap para um vetor de
interrupção específico.
? Controle passa a uma ISR (system call dispatcher). Bit de
modo é mudado para modo supervisor.
? O Monitor verifica se os parâmetros estão corretos e a
legalidade da operação, executa a requisição e retorna
controle para a instrução seguinte à system call.
Operating System Concepts
1.32
Silberschatz, Galvin and Gagne ©2005
5
Uso de uma chamada ao SO
para fazer I/O
Operating System Concepts
1.33
Silberschatz, Galvin and Gagne ©2005
6
Download