Arquitetura de Sistemas Operacionais Técnico em Informática MBI1 e NBI1 Estrutura do Sistema Operacional
Sumário Introdução System calls Modos de acesso Arquitetura monolítica Arquitetura em camadas Máquina virtual Arquitetura microkernel
Introdução Sistema computacional
Introdução O SO não é executado como uma aplicação com início, meio e fim Os procedimentos do sistema são executados concorrentemente e sem uma ordem predefinida.
Introdução Funções do kernel Tratamento de interrupções e exceções Criação e eliminação de processos e threads Sincronização e comunicação entre processos e threads Escalonamento e controle dos processos e threads Gerência de memória Gerência do sistema de arquivos Gerência de dispositivos de E/S Suporte a redes locais e distribuídas Contabilização do uso do sistema Auditoria e segurança do sistema
System Calls System call
System Calls Funções Gerência de processos e threads Gerência de memória Gerência do sistema de arquivos Gerência de dispositivos
Modos de Acesso Tipos de instruções Modos de acesso Privilegiadas Não-privilegiadas Modos de acesso Usuário Kernel ou supervisor
Modos de Acesso Chamada a uma rotina do sistema
Arquitetura Monolítica Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável, onde os módulos podem interagir livremente A manutenção dos sistemas implementados de acordo com esta arquitetura era uma tarefa difícil Esta arquitetura foi adotada no projeto MS-DOS e nos primeiros sistemas UNIX
Arquitetura Monolítica
Arquitetura de Camadas Com o aumento da complexidade e do tamanho do código dos SOs, técnicas de programação estruturada e modular foram incorporadas Nesta arquitetura o sistema é dividido em níveis sobrepostos Vantagens Isola as funções do SO, facilitando a manutenção e depuração Cria uma hierarquia de níveis de modos de acesso, protegendo as camadas mais internas Desvantagens Desempenho. Cada nova camada implica uma mudança no modo de acesso Atualmente a maioria dos sistemas comerciais utiliza o modelo de duas camadas, onde existem os modos de acesso usuário e kernel. A maioria das versões do UNIX e do Windows 2000 estão baseadas neste modelo
Arquitetura de Camadas Arquitetura do OpenVMS
Máquina Virtual Máquina virtual
Máquina Virtual Máquina virtual Java
Arquitetura Microkernel Uma das tendências dos sistemas operacionais modernos é tornar o núcleo do SO o menor e mais simples possível. Para implementar esta idéia, os serviços do sistema são disponibilizados através de processos Sempre que uma aplicação deseje algum serviço, é realizada uma solicitação ao processo responsável. Neste caso a aplicação que solicita o serviço é chamada de cliente, enquanto que o processo que responde à solicitação é chamado de servidor
Arquitetura Microkernel Vantagens Confere grande escalabilidade ao SO Isola as funções do SO por diversos processos servidores pequenos e dedicados a serviços específicos Fácil manutenção, flexível e de grande portabilidade Desvantagens Implementação difícil Problema de desempenho devido à necessidade de mudança de modo de acesso a cada comunicação entre clientes e servidores
Arquitetura Microkernel