sistemas operacionais i estruturas de sistemas computacionais

25
Sistemas Operacionais I Estruturas de Sistemas Computacionais

Upload: internet

Post on 18-Apr-2015

111 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Sistemas Operacionais I

Estruturas de Sistemas Computacionais

Page 2: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

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

Page 3: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas Computacionais

Arquitetura de um Computador

Page 4: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 5: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 6: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 7: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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

Page 8: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas ComputacionaisEstrutura 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.

Page 9: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas Computacionais

Dois métodos de Entrada e Saída

Page 10: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas Computacionais

Tabela de Estados de Dispositivos

Page 11: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 12: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 13: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas ComputacionaisMecanismo de Movimento da Cabeça do Disco

Page 14: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 15: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas ComputacionaisHierarquia de Dispositivos de Armazenamento

Page 16: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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

Page 17: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 18: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas ComputacionaisOperaçã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 emmodo monitor.

Page 19: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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).

Page 20: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas ComputacionaisProteçã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.

Page 21: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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

Page 22: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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 para os registradoresbase e limit são instruções privilegiadas.

Page 23: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas ComputacionaisProteçã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.

Page 24: Sistemas Operacionais I Estruturas de Sistemas Computacionais

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.

Page 25: Sistemas Operacionais I Estruturas de Sistemas Computacionais

Ciência da Computação - SO

SO I - Estruturas de Sistemas Computacionais

Uso de Chamada de Sistema para realizar E/S