Sistemas Operacionais
0. Visão geral de um sistema
computacional
Textos base:
capítulo 1, Computer Organization and Architecture, W. Stallings
capítulo 2, Operating Systems: Internals and Design Principles, W.
Stallings
IC - UFF
Arquitetura de computadores

Arquitetura de computadores refere-se às
características visíveis pelo programador


IC - UFF
conjunto de instruções, número de bits de
dados, mecanismos de E/S, modos de
endereçamento
exemplo: deve haver uma instrução de
multiplicação?
Organização de computadores

Organização de computadores refere-se a
como estas características são
implementadas


IC - UFF
detalhes de h/w como sinais de controle,
interfaces, tecnologia de memória
exemplo: como implementar a instrução de
multiplicação?
Arquitetura x Organização

Fabricantes oferecem famílias de
modelos, com mesma arquitetura e
diferentes organizações



IC - UFF
custo e desempenho diferentes
compatibilidade de código
mudança da organização com tecnologia
Estrutura e Função



Um computador é um sistema
hierárquico. Em cada nível, o projetista
se preocupa com sua estrutura e sua
função
Estrutura é a forma como os
componentes se relacionam
Função é a operação de cada componente
parte dessa estrutura
IC - UFF
Função

Funções básicas de um computador são:




IC - UFF
Processamento de dados
Armazenamento de dados
Movimentação de dados
Controle
Visão funcional

Visão funcional de um computador
Facilidade
de
armazenam.
Equip. de
moviment.
de dados
Ambiente de
operação
IC - UFF
Mecanismo
de controle
Facilidade
de
processam.
Estrutura: visão macro
Computador
Periféricos
Memória
principal
UCP
Computador
Sistema de
comunicação
E/S
Linhas de
comunicação
IC - UFF
Estrutura: a UCP
UCP
Computador
Registradores
E/S
Sistem.
Com.
Memória
UCP
Interconexão
interna à UCP
Unidade
de
controle
IC - UFF
ULA
Estrutura: unidade de controle
Unid. de controle
UCP
Seqüenciamento
ULA
Barra
int.
Unid.
controle
Registradores e
decodificadores
Regist.
Memória
de
controle
IC - UFF
Computador: visão macro
IC - UFF
Ciclo de instrução
Ciclo de busca
Início
IC - UFF
Busca nova
instrução
Ciclo de execução
Executa
Instrução
Parada
Ciclo de busca



PC contém o endereço da próxima
instrução
Instrução é buscada e colocada no IR
para ser interpretada
PC é incrementado (quase sempre!)
IC - UFF
Ciclo de execução

UCP interpreta instrução e executa ação:





IC - UFF
UCP  memória: transferência de dados
UCP  E/S: transferência de dados
processamento de dados: operação lógica ou
aritmética
controle: alteração da seqüência de
operação
combinação dessas ações
Organização da UCP

Funções da UCP:





buscar instruções
interpretar instruções
buscar dados
processar dados
UCP precisa fazer armazenamento
temporário: registradores
IC - UFF
Registradores




Espaço de trabalho temporário
Quantidade e função varia entre
processadores
Uma das principais decisões de projeto
Nível superior da hierarquia de memória
IC - UFF
Registradores visíveis

São os que podem ser referenciados
através de linguagem de máquina




IC - UFF
de uso geral (dados e endereçamento)
de dados (e.g., acumulador)
de endereço: segmento, índice, pilha, ...
códigos de condição (só leitura)
Registradores de controle e estado



Visibilidade restrita
Essenciais: PC, IR, MAR, MBR
PSW: Program Status Word


códigos de condição (sinal, zero, vai-um,
estouro, permissão/inibição de interrupção,
supervisor)
Outros: SP, apontador de PCB,
interrupção vetorizada
IC - UFF
Conceito de interrupção


Mecanismo pelo qual outros módulos
(e.g., E/S) interrompem processamento
normal da UCP
Tipos mais comuns de interrupção:




IC - UFF
programa (e.g., 0)
temporização (e.g., escalonamento)
E/S (e.g., fim de escrita em disco)
falha de h/w (e.g., falta de energia)
Fluxo de controle em programa
IC - UFF
Transferência de controle
Programa do usuário
Tratador de interrupção
1
2



i
i+1



M
IC - UFF



Tratador de interrupção



Programa que determina a natureza da
interrupção e que realiza o tratamento
adequado
Controle é transferido para este programa
após salvamento de algumas informações
É parte do sistema operacional
IC - UFF
Ciclo de interrupção
Ciclo de busca
Ciclo de execução
Ciclo de interrupção
Interrupções
inibidas
Início
Busca nova
instrução
Executa
instrução
Verifica interrupção: processa
interrupção
Interrupções
permitidas
Parada
IC - UFF
Tratamento da interrupção
Algum controlador de
dispositivo gera uma
interrupção
H/W
UCP termina execução
da instrução corrente
UCP sinaliza
reconhecimento da
interrupção
IC - UFF
Salva o resto da
informação de estado
do processador
S/W
Processa interrupção
UCP armazena
PSW e PC na
pilha de controle
Restaura a
informação de estado
do processador
UCP carrega novo
valor do PC baseada
na interrupção
Restaura PSW e PC
anteriores
Interrupções múltiplas (1)

Desabilita interrupções: seqüencial



IC - UFF
UCP ignora outras interrupções enquanto
processa uma interrupção
interrupções pendentes só são verificadas ao
fim do tratamento da interrupção corrente
interrupções tratadas na ordem seqüencial
de ocorrência
Tratamento seqüencial
IC - UFF
Interrupções múltiplas (2)

Definição de prioridades


IC - UFF
interrupções de menor prioridade podem ser
interrompidas por interrupções de maior
prioridade
quando há o término do tratamento da(s) de
maior prioridade, UCP trata a(s) de menor
prioridade
Tratamento com prioridades
IC - UFF
Técnicas de comunicação de E/S



E/S programado: (a)
E/S por interrupção: (b)
E/S por DMA: (c)
IC - UFF
Exemplo: leitura de um bloco
Insert Read
command to CPU I/O
I/O Module
Read Status
of I/O
Module
Not
Ready
Check
Status
Insert Read
command to CPU I/O
Do something
I/O Module
else
Read Status
of I/O
Module
I/O CPU
Error
Condition
Ready
Done?
(a)
I/O CPU
Write word
CPU Memory
into memory
No
Yes
Next Instruction
IC - UFF
Read word
from I/O
Module
I/O CPU
Write word
CPU Memory
into memory
No
Error
Condition
Check
Status
Ready
Read word
from I/O
Module
Interrupt
I/O CPU
Done?
Yes
Next Instruction
(b)
Issue Read
block command
to I/O module
Read status
of DMA
module
CPU DMA
Do something
else
Interrupt
DMA CPU
Next Instruction
(c)
Download

Visão geral e evolução - Instituto de Computação