Operação em Dois Modos

Propaganda
Sistemas Operacionais I
Estruturas de Sistemas
Computacionais
SO I - Estruturas de Sistemas Computacionais
Estruturas de Sistemas Computacionais

Operações de Computadores

Estrutura de E/S

Estrutura de Armazenamento

Estrutura Hierárquica

Proteção de Hardware

Arquitetura Geral do Sistema
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Arquitetura de um Computador
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Operações de um Computador
•
Dispositivos de E/S e CPU podem executar concorrentemente.
•
Cada controlador de dispositivo é encarregado por um tipo
particular de dispositivo.
•
•
Cada controlador de dispositivo tem um buffer local.
CPU move dados de/para memória principal para/de buffers
locais.
•
E/S é de um dispositivo para o buffer local da controladora.
•
Controladora de Dispositivo informa a CPU que terminou a
operação através da geração de uma interrupção.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Funções Comuns das Interrupções
•
Transferir o controle para a rotina de serviço da interrupção,
geralmente através do vetor de interrupção, o qual contém os
endereços de todas as rotinas de serviço.
•
Arquitetura da interrupção deve salvar o endereço da instrução
interrompida.
•
A geração de novas interrupções é desabilitada enquanto uma
outra interrupção está sendo processada para evitar a perda de
uma interrupção.
•
Uma trap é uma interrupção gerada por software causada por
uma requisição do usuário ou por um erro.
•
Um sistema operacional é acionado por interrupções.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Tratamento de Interrupção
O sistema operacional preserva o estado da CPU armazenando os
valores armazenados nos registradores e o do contador de
programas (PC).
• Determinar quais tipos de interrupção ocorreram:
Baseadas em Polling (sondagem)
Através do vetor de interrupções
• Segmentos de código separados determinam qual ação deve ser
realizada para cada tipo de interrupção.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Linha do Tempo de uma Interrupção para um
Único Processo Gerando Saídas
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Estrutura de Entrada e Saída

Após o início de uma E/S, o controle retorna ao programa do usuário
somente quando a requisição de E/S terminar.


Instruções de espera liberam a CPU até a próxima interrupção

Laço de espera (contenção para acesso a memória).

No máximo uma requisição de E/S está pendente de cada vez, não ocorre
processamento de E/S simultâneo.
Após o início de uma E/S, o controle retorna ao programa do usuário sem
aguardar o tratamento da requisição de E/S.

Chamada de Sistemas (System call) – requisição ao sistema operacional para
permitir ao usuário aguardar o término da E/S.

Tabela de Estados de Dispositivos contém uma entrada para cada dispositivo de
E/S indicando seu tipo, endereço e estado.

Sistema operacional acessa a tabela de dispositivos de E/S para determinar a
situação do dispositivo e modificar a entrada na tabela para incluir a interrupção.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Dois métodos de Entrada e Saída
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Tabela de Estados de Dispositivos
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Estrutura de Acesso Direto à Memória (DMA)

Usado para dispositivos de E/S de alta velocidade
capazes de transmitir informação a uma taxa
próxima da memória.

Controladores de dispositivo transferem blocos de
dados de um buffer de armazenamento
diretamente para a memória principal, sem
intervenção da CPU.

Somente uma interrupção é gerada por bloco, ao
invés de uma interrupção por byte.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Estruturas de Armazenamento

Memória Principal – única grande área de armazenamento
que a CPU pode acessar diretamente.

Armazenamento Secundário – extensão da memória principal
que fornece grande capacidade de armazenamento
persistente (não volátil).

Discos Magnéticos – prato de metal rígido ou vidro coberto
com material magnético para armazenamento de dados

Superfície do disco é dividida logicamente em trilhas, que são
subdivididas em setores.

A controladora de disco determina a interação lógica entre o
dispositivo e o computador.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Mecanismo de Movimento da Cabeça do Disco
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Hierarquia de Armazenamento


Sistemas de Armazenamento são organizados em
hierarquia.

Velocidade

Custo

Volatilidade
Caching – copiar informação em um sistema mais
rápido de armazenamento; memória principal pode
ser vista como um último cache para o
armazenamento secundário.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Hierarquia de Dispositivos de Armazenamento
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Proteção de Hardware

Operação em dois modos

Proteção de E/S

Proteção de Memória

Proteção de CPU
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Operação em Dois Modos

O compartilhamento de recursos necessita a garantia do
sistema operacional de que programas incorretos não
causem a execução incorreta de outros programas.

Prover suporte de hardware para diferenciar entre dois
modos de operação.
1.
Modo Usuário (User mode) – execução é feita de
acordo com o usuário.
2.
Modo Supervisor, Monitor ou do Sistema (Monitor
mode, supervisor mode or system mode) – execução é
feita de acordo com o sistema operacional.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Operação em Dois Modos (Cont.)

Um bit de modo é adicionado ao hardware do computador para indicar o modo atual:
monitor (0) ou usuário (1).

Quando uma interrupção ou falta ocorre, o hardware comuta para o modo monitor.
Instruções privilegiadas podem ser executadas somente em
modo monitor.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Proteção de Entrada e Saída

Todas as instruções de E/S são instruções
privilegiadas.

É necessário garantir que um programa
usuário nunca deve obter o controle do
computador no modo monitor.
(Por exemplo, um programa do usuário que,
como parte da sua execução, armazena um novo
endereço no vetor de interrupções).
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Proteção de Memória

É necessário garantir a proteção de memória pelo menos
para o vetor de interrupções e para as rotinas de serviço das
interrupções.

Para garantir proteção de memória, adicionam-se dois
registradores que determinam o escopo dos endereços
válidos que um programa pode acessar:


Registrador Base – armazena o menor endereço válido de
memória física.

Registrador Limit – contém o tamanho da área endereçável.
Memória fora do escopo definido é protegida.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Registradores Base e Limite definem um Espaço de
Enderaçamento Lógico
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Proteção de Hardware
Quando executando em modo monitor, o sistema operacional tem acesso
irrestrito tanto a memória do monitor como do(s) usuário(s).
As instruções de carga dos endereços
base e limit são instruções privilegiadas.
Ciência da Computação - SO
para
os
registradores
SO I - Estruturas de Sistemas Computacionais
Proteção de CPU
 Timer – interrompe o computador após um período
específico de tempo para garantir o controle ao sistema
operacional.

Timer é decrementado a cada pulso do clock (clock tick).

Quanto o timer alcança o valor 0, ocorre uma interrupção.

O timer é comumente usado para implementar
compartilhamento de tempo (time sharing).

O timer é usado também para computar a hora corrente.

Carregar valores para o timer é uma instrução
privilegiada.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Arquitetura Geral do Sistema

Uma vez que as instruções de E/S são privilegiadas,
como o programa do usuário realiza E/S?

Chamada de Sistema (System call) – método usado por
um processo para requerer uma ação do sistema
operacional.



Normalmente ocorre através de uma comutação para um local
específico no vetor de interrupções (trap).
O controle passa para uma rotina de serviço no SO através do
vetor de interrupções, e o bit de modo é alterado para modo
monitor.
O monitor verifica se os parâmetros estão corretos e são
válidos, executa a requisição, e retorna o controle para a
próxima instrução após a chamada de sistema.
Ciência da Computação - SO
SO I - Estruturas de Sistemas Computacionais
Uso de Chamada de Sistema para realizar E/S
Ciência da Computação - SO
Download