625891 - sistemas operacionais - estacio
-
Upload
leonardo-lima -
Category
Documents
-
view
243 -
download
5
description
Transcript of 625891 - sistemas operacionais - estacio
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Capítulo 3: Estruturas do Sistema Operacional
n Componentes do Sistema n Serviços do Sistema Operacional n Chamadas de Sistema (System Calls) n Programas do Sistema n Estrutura do Sistema n Máquinas Virtuais n Projeto e Implementação do Sistema n Geração do Sistema
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.1 Componentes do sistema
n Gerênciamento de Processos n Gerênciamento da Memória Principal n Gerênciamento de Arquivos n Gerênciamento do Sistema de E/S n Gerênciamento do Armazenamento Secundário n Conexão em Rede n Sistema de Proteção n Sistema Interpretador de Comandos
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Gerenciamento de Processos
n Um processo é um programa em execução. Um processo precisa de certos recursos, incluindo tempo de CPU, memória, arquivos e dispositivos de E/S, para realizar sua tarefa.
n O sistema operacional é responsável pelas seguintes atividades relacionadas ao gerenciamento de processos. n Criar e remover processos. n Suspender e retomar processos. n Oferecer mecanismos para:
n Sincronismo de processos n Comunicação entre processos
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Gerenciamento da Memória Principal
n Memória é um grande vetor de palavras ou bytes, cada um com seu próprio endereço. É um repositório de dados rapidamente acessíveis, compartilhado pela CPU e pelos dispositivos de E/S.
n É um dispositivo de armazenamento volátil. Perde seu conteúdo em caso de falha do sistema.
n O SO é responsável pelas seguintes atividades relacionadas ao gerenciamento de memória:
n Controlar que partes da memória estão sendo usadas atualmente e por quem.
n Decidir quais processos devem ser carregados para a memória quando o espaço de memória se tornar disponível.
n Alocar e desalocar espaço de memória conforme a necessidade.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Gerenciamento de arquivos
n Um arquivo é uma coleção de informações relacionadas, definidas por seu criador. Normalmente, os arquivos representam programas (nos formatos de fonte e objeto) e dados.
n O sistema operacional é responsável pelas seguintes atividades relacionadas ao gerenciamento de arquivos:
n Criação e remoção de arquivos. n Criação e remoção de diretórios. n Suporte a primitivas para manipulação de arquivos e diretórios. n Mapeamento de arquivos em armazenamento secundário. n Backup de arquivos em meios de armazenamento estáveis (não voláteis).
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Gerenciamento do Sistema de E/S
n O sistema de E/S consiste em: n Um componente de gerenciamento de memória que inclui o uso de
buffers, caches e spools. n Uma interface genérica para drivers de dispositivos. n Drivers para dispositivos de hardware específicos.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Gerenciamento do Armazenamento Secundário
n Como a memória principal (armazenamento primário) é volátil e muito pequena para acomodar todos os dados e programas permanentemente, o sistema de computador precisa fornecer armazenamento secundário para apoiar a memória principal.
n A maioria dos sistemas de computador modernos utiliza discos como o principal meio de armazenamento on-line para programas e dados.
n O sistema operacional é responsável pelas seguintes atividades relacionadas ao gerenciamento de disco:
n Gerenciamento do espaço livre n Alocação do armazenamento n Escalonamento do disco
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Conexão em Rede (Sistemas Distribuídos)
n Um sistema distribuído é um conjunto de processadores que não compartilham memória ou um relógio, cada processador possui sua própria memória local.
n Os processadores são conectados por uma rede de comunicação. n A comunicação ocorre através do uso de um protocolo. n Um sistema distribuído fornece ao usuário acesso a vários recursos do
sistema. n O acesso a um recurso compartilhado permite:
n Maior velocidade de computação n Maior disponibilidade de dados n Maior confiabilidade
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Sistema de Proteção
n Proteção se refere a um mecanismo para controlar o acesso dos programas, processos ou usuários aos recursos do sistema e do usuário.
n O mecanismo de proteção precisa: n distinguir entre uso autorizado e não autorizado n especificar os controles a serem impostos n fornecer um meio para a imposição
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Interpretador de Comandos
n Muitos comandos são dados ao sistema operacional pelas instruções de controle, que cuidam de: n Criação e gerenciamento de processos n Tratamento de E/S n Gerenciamento do armazenamento secundário n Gerenciamento da memória principal n Acesso ao sistema de arquivos n Proteção n Uso da rede
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Interpretador de Comandos
n O programa que lê e interpreta instruções de controle é chamado diferentemente de: n interpretador de linha de comando n shell (no UNIX)
n Sua função é apanhar e executar a próxima instrução de comando.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.2 Serviços do Sistema Operacional
n Execução de programa – capacidade do sistema para carregar um programa na memória e executá-lo.
n Operações de E/S – como os programas do usuário não podem executar operações de E/S diretamente, o sistema operacional precisa prover meios para realizar a E/S.
n Manipulação do sistema de arquivos – capacidade do programa para ler, gravar, criar e excluir arquivos.
n Comunicações – troca de informações entre processos sendo executados no mesmo computador ou em sistemas diferentes ligados por uma rede. Implementadas através de memória compartilhada ou pela troca de mensagens.
n Detecção de erro – assegura computação correta detectando erros na CPU e no hardware da memória, nos dispositivos de E/S ou nos programas do usuário.
Facilitando a vida do programador !!!!!
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Funções adicionais do Sistema Operacional
n As funções adicionais existem, não para auxiliar o usuário, mas para garantir operações eficientes do sistema. n Alocação de recursos – os recursos são alocados a diversos
usuários ou a múltiplas tarefas sendo executadas ao mesmo tempo. n Contabilidade – controla e registra que usuários usam quanto e que
tipo de recursos do computador para contabilizar cobrança ou para acumular estatísticas de uso.
n Proteção – assegura que todo o acesso aos recursos do sistema seja controlado.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.3 Chamadas de sistema
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.3 Chamadas de sistema
n As chamadas de sistema (system calls) fornecem a interface entre um programa em execução e o sistema operacional.
n Geralmente disponíveis como instruções em linguagem assembly. n Linguagens definidas para substituir a linguagem assembly para a
programação de sistemas permitem que as system calls sejam feitas diretamente (por exemplo, C, C++).
n Três métodos são usados para passar parâmetros entre um programa em execução e o sistema operacional:
n Passar parâmetros via registradores. n Armazenar os parâmetros em uma tabela na memória, e o endereço na
tabela é passado como um parâmetro em um registrador. n O programa coloca (push) os parâmetros na pilha e o Sistema Operacional
retira (pop) os parâmetros da pilha.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Passagem de Parâmetros por Tabelas
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Tipos de Chamada de Sistema
n Controle de processos n Gerência de arquivos n Gerência de dispositivos n Manutenção de informações
n Data/hora, atributos de processos e arquivos (get/set)
n Comunicações
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Execução do MS-DOS: monotarefa
At System Start-up Running a Program
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Unix Executando Vários Programas
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Comunicação
n A comunicação pode ocorrer usando a troca de mensagens ou memória compartilhada
Msg Passing" Shared Memory"
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.4 Programas de Sistema
n Os programas de sistema oferecem um ambiente conveniente para desenvolvimento e execução de programas. Podem ser divididos em:
n Manipulação de arquivos n Informações de status n Suporte para linguagem de programação n Carga e execução de programas n Comunicações n Aplicações (ou aplicativos) n Interpretador de comandos
n A visão do Sistema Operacional pela maioria dos usuários é definida pelos programas de sistema e não pelas suas chamadas de sistema
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.5 Estrutura do Sistema
n SO: sistema grande e complexo n Deve ser cuidadosamente desenvolvido
n Funcionar corretamente n Ser facilmente modificado (atualizado)
n MS-DOS n Estrutura monolítica n Escrito para fornecer o máximo de funcionalidade no menor
espaço possível n Não dividido em módulos n Embora o MS-DOS tenha alguma estrutura, suas interfaces e
níveis de funcionalidade não são bem separados
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Estrutura de Camadas do MS-DOS
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Estrutura do UNIX
n UNIX – Limitado pela funcionalidade do hardware, o Sistema Operacional UNIX original possuía estrutura limitada. O UNIX consiste em duas partes separadas. n Os programas de sistema n O Kernel
n Consiste em tudo abaixo da interface da chamada de sistema e acima do hardware.
n Provê o sistema de arquivos, escalonamento de CPU, gerência de memória e outras funções de Sistema Operacional; um grande número e funções para um único nível.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Estrutura do Sistema UNIX
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Abordagem em Camadas
n O sistema operacional é dividido em uma série de camadas (níveis), cada uma construída sobre as camadas inferiores. A camada mais baixa (camada 0) é o hardware; a mais alta (camada N) é a interface com o usuário.
n Com a modularidade, as camadas são selecionadas de modo que cada uma utilize funções (operações) e serviços apenas de camadas de nível mais baixo.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Uma Camada do Sistema Operacional
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Estrutura em Camadas do OS/2
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Estrutura de microkernel
n Move bastante do núcleo para o espaço do “usuário”. n A comunicação entre os módulos do usuário usa a troca de
mensagens. n Benefícios:
n Facilidade de estender um microkernel n Facilidade de portar para novas arquiteturas n Maior confiabilidade (menos código rodando no modo kernel) n Maior segurança
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Estrutura Cliente-Servidor do Windows NT
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.6 Máquinas Virtuais
n Máquina virutual: programa que simula hardware n Sob esse aspecto hardware (emulado) e kernel estão no mesmo nível
n Uma máquina virtual oferece uma interface que é idêntica à do hardware básico.
n O sistema operacional cria a ilusão de múltiplos processos, cada um sendo executado em seu próprio processador, com sua própria memória (virtual).
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Máquinas Virtuais
n Os recursos do computador físico são compartilhados para criar as máquinas virtuais. n O escalonamento de CPU pode criar a aparência de que os usuários
possuem seus próprios processadores n O spooling e um sistema de arquivos podem oferecer leitoras de
cartões virtuais e impressoras de linha virtuais n Um terminal de usuário normal de tempo compartilhado age como o
console do operador da máquina virtual
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Máquinas virtuais
Non-virtual Machine" Virtual Machine"
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Vantagens e Desvantagens das Máquinas Virtuais
n O conceito de máquina virtual provê proteção completa dos recursos do sistema, uma vez que cada máquina virtual é completamente isolada de todas as outras máquinas virtuais. Esse isolamento, entretanto, não permite qualquer compartilhamento direto dos recursos.
n Um sistema de máquina virtual é um veículo perfeito para pesquisa e desenvolvimento de Sistemas Operacionais. O desenvolvimento do sistema é feito na máquina virtual, e não em uma máquina física, e não interrompe a operação normal do sistema.
n O conceito de máquina virtual é difícil de implementar devido ao esforço necessário para oferecer uma duplicata exata da máquina utilizada.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Máquina Virtual Java
n Os programas Java compilados são bytecodes para plataforma neutra executados por uma máquina virtual Java (JVM).
n A JVM consiste em n Carregador de classes n Verificador de classe n Interpretador de tempo de execução
n Os compiladores Just-In-Time (JIT) aumentam a performance n Tradução para linguagem nativa da máquina
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Máquina Virtual Java
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.7 Projeto e implementação do sistema
n Objetivos do usuário – o sistema operacional deve ser conveniente no uso, fácil de aprender, confiável, seguro e veloz.
n Objetivos do sistema – o sistema deve ser fácil de projetar, implementar e manter, além de ser flexível, confiável, livre de erros e eficiente.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Mecanismos e Políticas
n Os mecanismos determinam como fazer algo, as políticas decidem o que será feito. n Política: escalonador de processos justo n Mecanismo: melhor algoritmo que implementa o escalonamento
n A separação entre política e mecanismo é um princípio muito importante, pois permite máxima flexibilidade se as decisões da política precisarem ser modificadas posteriormente.
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
Implementação do Sistema
n Tradicionalmente escritos em linguagem assembly, os sistemas operacionais agora podem ser escritos em linguagens de alto nível (C, C++)
n Código escrito em uma linguagem de alto nível: n Pode ser escrito mais rápido n É mais compacto n É mais fácil de entender e depurar
n Um sistema operacional é muito mais fácil de portar (passar para outro hardware) se for escrito em uma linguagem de alto nível
Tradução de Operating Systems Concepts de Silberschatz, Galvin e Gagne (c) 2002
3.8 Geração do Sistema
n Os sistemas operacionais são projetados para execução em qualquer uma dentre uma classe de máquinas n O sistema precisa ser configurado ou gerado para cada instalação de
computador específica.
n O programa SYSGEN obtém informações referentes à configuração específica do sistema de hardware. n Que CPU é utilizada e/ou quantas? n Quanto há de memória física disponível? n Quais são os dispositivos dispooníveis? n Que opções do SO são desejadas (número máximo de processos,
quantidade de disco, algoritmo de escalonamento, serviços, etc.)