sistemas operacionais i estruturas de sistemas computacionais
TRANSCRIPT
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
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 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.
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 ComputacionaisMecanismo 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 ComputacionaisHierarquia 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 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.
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 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.
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 para os registradoresbase e limit são instruções privilegiadas.
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.
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