Ambientes Operacionais Revisão de Arquitetura de Computadores

Propaganda
Conjunto de instruções
Tipos de dados e organização da memória
Modos de endereçamento à memória
Registradores acessíveis ao programador
Entrada/saída e sistema de interrupção
Revisão de Arquitetura de
Computadores
!
MEMÓRIA
9
8
2
10
Unidade de
Entrada
12
7
6
Unidade de
Controle
Registrador
de endereço
(REM)
"
MEMÓRIA
Registrador
de dados
(RDM)
Contador de
prog. (PC)
Registrador
de inst. (RI)
$
ULA
4
11
Unidade de
Saída
Decodificador
de instruções
1
3
#
Unidade de
Lógica e Aritm.
!
busca instrução
analisa (decodifica) a instrução
executa a instrução
volta ao passo 1
5
Unidade de Controle
Gerador de
sinais controle
%
REM
PC
UC envia sinal de leitura para a Memória
RDM
Mem[REM]
RI
RDM
PC
PC + tamanho da instrução
1
$
&
!
O mecanismo de bootstrapping
em um elefante”
&
!
O registrador PSW (Processor Status Word)
O registrador SP (Stack Pointer)
(
)
busca próxima instrução na memória
decodifica (analisa) a instrução
executa a instrução (talvez seja necessário buscar
um dado na memória)
verifica se ocorreu alguma interrupção (se
ocorreu, muda o contexto de execução)
volta ao passo 1
“Um SO é capaz de transformar um rato
$
'
$
%
Interrupção de hardware
Interrupção de software (trap ou system call)
Tabela de interrupções
Modos de execução da UCP
O SO só recebe o controle da UCP (só trabalha)
quando ocorre alguma interrupção.
*
%
(
Sinal originado em algum dispositivo físico
São imprevisíveis
Os computadores possuem instruções especiais para
desabilitar (mascarar, inibir) o sistema de interrupção
Enquanto as interrupções estão desabilitadas elas
podem ocorrer, mas não são sentidas pelo processador
Nesse caso, elas ficam pendentes (enfileiradas) e vão
ser atendidas após a UCP executar uma instrução
especial que habilita as mesmas novamente.
Dispositivo físico cuja finalidade é gerar interrupções
Decrementa o conteúdo de um registrador (com uma
freqüência constante) e interrompe a UCP quando o
valor do registrador atinge zero.
O SO garante que ocorra pelo menos uma interrupção
(e ele volte a trabalhar) dentro de um tempo T,
colocando no relógio um valor que demore T unidades
de tempo para ser decrementado até zero.
Usando o timer, o SO pode alocar fatias de tempo da
UCP para os processos (scheduling da UCP).
2
*
%
%+
O sinal de interrupção é gerado por uma instrução
São previsíveis
São usadas para transferir o controle para o SO
Também chamadas de trap ou system call
Desencadeiam as mesmas ações que uma interrupção de
hardware, isto é, o programa em execução é suspenso,
Em tempo de projeto do computador, é escolhida uma área de
memória para conter uma tabela que vai ser usada pelo
hardware (i.é, pelo mecanismo de interrupção do computador).
Essa tabela tem uma linha (ou entrada) para cada interrupção
ou trap que possa ocorrer no sistema.
Cada linha contém valores para serem carregados nos
registradores:
PC (program counter)
PSW (processor status word)
(Lembre que a PSW indica quais interrupções estão mascaradas e qual
é o modo de execução)
informações são salvas e uma rotina específica do SO é
executada.
A tabela é inicializada na carga do SO
%
Os traps tornaram-se necessários quando os
computadores passaram a adotar instruções
protegidas (ou privilegiadas).
Esta instrução foi criada para passar o modo de
execução para privilegiado e transferir o controle
para o SO
A UCP passou a trabalhar em dois modos
mutuamente exclusivos:
Esta instrução deve ser privilegiada?
Pode ser uma instrução de transferência simples?
modo privilegiado (também chamado modo supervisor,
modo sistema ou modo mestre)
Pode ser uma instrução tipo chamada de subrotina, com troca
automática do modo de execução para privilegiado?
modo normal (também chamado modo usuário, modo
programa ou modo escravo)
!
%
-
PDP-11 (máquina na qual foi implementado o
primeiro sistema operacional UNIX)
Registradores de UCP:
PC – program counter
PSW – processor status word
SP – stack pointer
R0,..,R5 – registradores de uso geral
,
A solução foi permitir a transferência da execução
com mudança de modo apenas para determinados
pontos do SO (portas de entrada do SO)
!
%
-
interrupção
(salva estado)
Programa de usuário
(modo normal)
Sistema Operacional
(modo privilegiado)
retorno de interrupção
(restaura estado)
SP
Tipos de interrupções:
• interrupção de periférico
• interrupção do relógio
• interrupção de proteção (erro de execução)
• chamada do sistema ou trap
PC
PSW
...
...
PILHA
(após uma interrupção)
3
Download