Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 SISTEMAS OPERACIONAIS Estruturas de Sistemas Operacionais Prof. Mateus Novaes (Adaptação dos slides de Silberschatz) SUMÁRIO Componentes do sistema Chamadas ao sistema Programas de sistema Estrutura do sistema Máquinas virtuais Projeto e implementação de sistemas Geração do sistema 2 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Ao projetar um S.O. é preciso ter em mente o objetivo deste sistema Definir os algoritmos e estratégias Um sistema operacional é grande e complexo portanto fica melhor entendido quando dividido em partes menores Cada parte possui uma função cuidadosamente definida 3 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Componentes: Gerência de Processos Gerência da Memória Principal Gerência de Arquivos Gerência do Sistema de E/S Gerência de Memória secundária Redes Sistema de Proteção Interpretador de Comandos 4 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência de Processos Um processo é um programa em algum estado de execução Um processo precisa de alguns recursos como: tempo de CPU, memória, arquivos e dispositivos de E/S Alocados sob demanda ou ao iniciar o processo Um programa no disco é uma entidade passiva enquanto que um processo em execução é uma entidade ativa 5 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência de Processos Um processo é a unidade de trabalho em um sistema operacional Processos do usuário Processos do sistema operacional O sistema operacional é responsável pelas seguintes ações relacionadas à gerência de processos: Criar e excluir processos de usuário e de sistema Suspender e retomar processos Fornecer meios para sincronização de processos Fornecer meios para comunicação de processos Tratar deadlocks 6 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência da Memória Principal Grande vetor de bytes cada um com seu próprio endereço É um repositório de dados de rápido acesso compartilhado entre a CPU e os dispositivos de E/S Meio de armazenamento volátil O sistema operacional é responsável pelas seguintes ações relacionadas à gerência de memória: Conhecer quais partes da memória estão utilizadas (por quem) e quais estão disponíveis. Decidir quais processos devem ser carregados para a memória quando houver espaço disponível Alocar e desalocar espaço na memória Proteção da memória 7 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência de Arquivos O sistema operacional abstrai os dados armazenados nos dispositivos para uma unidade lógica chamada de arquivo. Um arquivo geralmente contém informações correlatas definidas pelo criador. Podem representar programas ou dados O sistema operacional é responsável pelas seguintes ações relacionadas à gerência de Arquivos: Criar e excluir arquivos e diretórios Suportar primitivas para manipulação de arquivos e diretórios Mapear arquivos no armazenamento secundário Fazer backup de arquivos em meios de armazenamento persistentes 8 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência do sistema de E/S Ocultar as peculiaridades de dispositivos de hardware específicos do usuário Um sistema de E/S consiste de: Um gerenciador de memória que incluí buffering, armazenamento em cache e spooling. Uma interface geral de driver de dispositivo Drivers para dispositivos de hardware específicos 9 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência de armazenamento secundário A memória principal é volátil e pequena para armazenar todos os programas e dados permanentemente Os sistemas computacionais provêem um armazenamento secundário para complementar a memória A maioria dos sistemas operacionais atuais utilizam discos como meio de armazenamento persistente para os programas e dados 10 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Gerência de armazenamento secundário O sistema operacional é responsável pelas seguintes ações relacionadas à gerência de discos: Gerenciamento do espaço livre do disco Alocação de dados no disco Escalonamento do acesso ao disco Minimizar movimentos do braço do disco Utilizar o disco como memória virtual Gerenciar o cache do disco para aumento da performance Fornecer utilitários de discos Defragmentador, verificador de erros, ... 11 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Redes (sistemas distribuídos) Sistema distribuído é um conjunto de processadores que não compartilham memória ou um relógio Os processadores são conectados por uma rede de comunicação A comunicação ocorre através do uso de um protocolo Um sistema distribuído fornece ao usuário acesso a vários recursos do sistema O acesso a um recurso compartilhado permite: Maior velocidade de computação Maior disponibilidade de dados Maior confiabilidade 12 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Sistema de Proteção Previnem que os processos interfiram na execução um do outro A proteção se refere a um mecanismo de controle de acesso ao sistema e recursos, por processos ou usuários O mecanismo de proteção precisa: Especificar os controles a serem impostos Distinguir entre uso autorizado e não autorizado Fornecer um meio para a imposição desses controles 13 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Sistema Interpretador de Comandos O interpretador de comandos é o programa que faz a interface entre o usuário e o sistema operacional propriamente dito Alguns S.O.s incluem o interpretador de comandos no kernel O MS-DOS e UNIX tratam o interpretador de comandos como um programa especial que é ativado quando o usuário efetua um login Dependendo do S.O. pode ser chamado de diferentes formas: Shell Command 14 S is te m a s O p e r a c io n a is ESTRUTURAS DE SISTEMAS OPERACIONAIS COMPONENTES DO SISTEMA Sistema Interpretador de Comandos Muitos comandos são dados ao sistema operacional pelas instruções de controle, que cuidam de: Criação e gerenciamento de processos Tratamento de E/S Gerenciamento do armazenamento secundário Gerenciamento da memória principal Acesso ao sistema de arquivos Proteção Uso da rede 15 S is te m a s O p e r a c io n a is CHAMADAS AO SISTEMA As chamadas de sistema fornecem a interface entre um programa em execução e o sistema operacional Disponíveis como instruções em linguagem Assembly Linguagens de mais alto nível permitemque as chamadas ao sistema sejam feitas através da própria linguagem 16 S is te m a s O p e r a c io n a is CHAMADAS AO SISTEMA Três métodos são usados para passar parâmetros entre um programa em execução e o sistema operacional Passar parâmetros via registradores Armazenar os parâmetros em uma tabela na memória, e o endereço na tabela é passado como um parâmetro em um registrador O programa coloca (push) os parâmetros na pilha e o Sistema Operacional retira (pop) os parâmetros da pilha 17 S is te m a s O p e r a c io n a is PROGRAMAS DE SISTEMA Programas de sistema utilizam as chamadas ao sistema para prover uma interface mais amigável ao usuário Estes programas podem ser divididos nas seguintes categorias: Gerência de arquivos Informações de status Modificação de arquivo Suporte à linguagens de programação Carregamento e execução de programas Comunicações 18 S is te m a s O p e r a c io n a is PROGRAMAS DE SISTEMA A visão do sistema operacional para o usuário é definida pelos programas de sistema não pelas chamadas ao sistema Interpretador de comandos é um programa de sistema Comandos implementados diretamente Maior eficiência Comandos implementados por outros programas de sistema Maior facilidade para atualizar os comandos Interpretador mais exuto 19 S is te m a s O p e r a c io n a is PROGRAMAS DE SISTEMA Do ponto de vista do S.O. não existe distinção entre programas de sistema e programas de usuário 20 S is te m a s O p e r a c io n a is ESTRUTURA DO SISTEMA Sistemas operacionais atuais normalmente são grandes e complexos Necessitam de uma estrutura modular para funcionar bem e ser facilmente modificado O MS-DOS foi construído para proporcionar máxima funcionalidade com o menor tamanho possível Na época do MS-DOS não havia as proteções de hardware que existem hoje O sistema Unix é um sistema modularizado consistindo em dois módulos principais: Kernel e programas de sistema 21 S is te m a s O p e r a c io n a is ESTRUTURA DO SISTEMA 22 S is te m a s O p e r a c io n a is Estrutura em camadas do MS-DOS ESTRUTURA DO SISTEMA 23 S is te m a s O p e r a c io n a is Estrutura em camadas do Unix ESTRUTURA DO SISTEMA ABORDAGEM EM CAMADAS Na abordagem em camadas um sistema operacional é dividido em n camadas Camada 0 é o hardware e a n é a interface do usuário Com a modularidade cada camada dá suporte a camada de cima e usa os serviços da camada de baixo Colabora com a manutenibilidade e acelera o desenvolvimento Reuso de código 24 S is te m a s O p e r a c io n a is ESTRUTURA DO SISTEMA ABORDAGEM EM CAMADAS 25 S is te m a s O p e r a c io n a is MICROKERNELS Microkernels compreende diminuir as funções embutidas no kernel, implementando as menos críticas como programas de sistema Pouco consenso sobre quais funções devem estar no Microkernel Todos os novos serviços são adicionados como programas de sistema/usuário Benefícios: Microkernel fácil de estender Fácil de portar o novo kernel para novas arquiteturas Mais confiável Mais seguro 26 S is te m a s O p e r a c io n a is MÁQUINAS VIRTUAIS Uma máquina virtual trata o hardware e o kernel do S.O. como se fossem hardware Uma interface igual à de um hardware real é criada virtualmente É criada a ilusão de que existem múltiplos processadores cada um com sua própria memória 27 S is te m a s O p e r a c io n a is MÁQUINAS VIRTUAIS 28 S is te m a s O p e r a c io n a is MÁQUINAS VIRTUAIS Vantagens: A máquina virtual cria proteção total dos recursos do sistema um vez que as máquinas virtuais são isoladas É o melhor meio para desenvolver S.O. pois os erros não afetam o sistema como um todo Desvantagens Não há compartilhamento de recursos direto entre os processos das máquinas virtuais Difícil de implementar devido a dificuldade de reproduzir o hardware da máquina fielmente 29 S is te m a s O p e r a c io n a is PROJETO E IMPLEMENTAÇÃO DE SISTEMAS Antes de projetar um S.O. é preciso definir seus objetivos Objetivos do usuário muitas vezes são conflitantes com os objetivos do sistema Objetivos do usuário: Conveniente e fácil de usar Fácil de aprender Confiável Seguro Rápido 30 S is te m a s O p e r a c io n a is PROJETO E IMPLEMENTAÇÃO DE SISTEMAS Objetivos do sistema: Fácil de projetar, implementar e manter Deve ser flexível Confiável Livre de erros Eficiente 31 S is te m a s O p e r a c io n a is PROJETO E IMPLEMENTAÇÃO DE SISTEMAS MECANISMOS E POLÍTICAS Um S.O. precisa definir muito bem o que é mecanismo do que é política Mecanismos determinam como fazer Políticas dizem o que será feito Exemplo: O timer é um mecanismo para garantir proteção. O tempo configurado neste timer é a política adotada Políticas devem ser configuráveis 32 S is te m a s O p e r a c io n a is PROJETO E IMPLEMENTAÇÃO DE SISTEMAS IMPLEMENTAÇÃO Sistemas Operacionais são tradicionalmente implementados em linguagem de baixo nível por causa do desempenho Códigos escritos em alto nível são: Escritos mais rápidos Mais compactos Fáceis de entender e debugar Um S.O. escrito em alto nível seria muito mais fácil de portar para outras plataformas 33 S is te m a s O p e r a c io n a is GERAÇÃO DO SISTEMA Um Sistema Operacional é projetado para rodar em várias classes de hardware O sistema deve se adequar a cada configuração encontrada Um processo cuida da configuração do S.O. que está sendo instalado (Sysgen) O sysgen obtém a configuração do hardware para personalizar o S.O. instalado Booting – Ato de iniciar o computador carregando o kernel Bootstrap program – Programa responsável por buscar o kernel, carregar na memória e executá-lo. 34 S is te m a s O p e r a c io n a is
Compartilhar