Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais Estrutura de Sistemas Operacionais Sistemas Monolíticos Cada componente do Sistema Operacional está contido no núcleo e pode comunicar-se diretamente com qualquer outro (simplesmente usando chamadas a funções). Sistemas Monolíticos Sistemas Monolíticos • Vantagens: – Eficiência: devido à intercomunicação direta entre os componentes • Desvantagens: – Implementação e manutenção mais árdua – É difícil isolar a fonte de problemas e de outros erros – Particularmente sensíveis a danos provocados por códigos incorretos ou mal-intencionados, pois todo o código do SO tem acesso irrestrito ao sistema Sistemas de Camadas O Sistema Operacional é dividido em módulos, denominados camadas e cada uma delas desempenha certas tarefas específicas. Cada camada invoca os serviços prestados pela camada abaixo dela, enquanto a implementação daquela camada fica oculta da camada acima dela. Sistemas de Camadas Sistemas de Camadas Executivo kernel supervisor usuário MULTICS VMS Sistemas de Camadas • Vantagens: – Validação, depuração e modificação simplificadas, devido ao uso das técnicas de engenharia de software de modularidade e ocultação de informações • Desvantagens: – Sobrecarga do sistema – Dificuldade, em certos casos, para se estabelecer a hierarquia de camadas – Em ambientes em que todas as camadas têm acesso irrestrito ao sistema, comprometimento da robustez do SO Micronúcleo (Microkernel) Uma estrutura de Sistema Operacional de Micronúcleo fornece somente um número pequeno de serviços na tentativa de manter o núcleo pequeno e escalável. Entre esses serviços estão, normalmente, gerenciamento de memória de baixo nível, comunicação entre processo e sincronização básica de processos para habilitar a cooperação entre eles. Ger. de Memória Hardware Espaço de endereçamento do Núcleo Comunic. Inter processos Sincro processos Ger. de E/S Ger. Procesador Ger. Arquivos aplicações Interfaces de Chamadas do sistema Espaço de endereçamento do usuário Micronúcleo (Microkernel) Micronúcleo (Microkernel) • Vantagens: – Alto grau de modularidade, o que os torna extensíveis, portáveis e escaláveis – Tolerância a falhas (robustez) • Desvantagens: – Degradação do desempenho do sistema Estrutura Modular O Kernel tem um conjunto de componentes e links básicos para serviços adicionais em tempo de inicialização ou de execução. Essa estratégia utiliza módulos dinamicamente carregáveis baseando-se nas técnica de programação orientada a objetos. Estrutura Modular O resultado final lembra um sistema em camadas em que cada seção do kernel tem interfaces definidas e protegidas; porém é mais flexível que um sistema em camadas porque um módulo pode chamar qualquer outro módulo Sistemas Modulares Kernel básico do Solaris Classes de scheduling Sistemas de arquivos Chamadas de sistema carregáveis Formatos executáveis Módulos STREAMS Módulos de miscelâneas Drives de dispositivos e de bus
Compartilhar