Arquitetura de Sistemas Operacionais – Fucapi – CEEF Arquitetura de Sistemas Operacionais Técnico em Informática MBI1 e NBI1 Estrutura do Sistema Operacional Cap. 4 – Estrutura do Sistema 1 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Sumário • • • • • • • Introdução System calls Modos de acesso Arquitetura monolítica Arquitetura em camadas Máquina virtual Arquitetura microkernel Cap. 4 – Estrutura do Sistema 2 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Introdução • Sistema computacional Aplicativos Utilitários Núcleo do Sistema Operacional Hardware Cap. 4 – Estrutura do Sistema 3 Arquitetura de Sistemas Operacionais – Fucapi – CEEF 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. Cap. 4 – Estrutura do Sistema 4 Arquitetura de Sistemas Operacionais – Fucapi – CEEF 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 Cap. 4 – Estrutura do Sistema 5 Arquitetura de Sistemas Operacionais – Fucapi – CEEF System Calls • System call SystemCall Aplicação Biblioteca Cap. 4 – Estrutura do Sistema Núcleo do Sistema Operacional Hardware 6 Arquitetura de Sistemas Operacionais – Fucapi – CEEF System Calls • Funções – Gerência – Gerência – Gerência – Gerência de de do de Cap. 4 – Estrutura do Sistema processos e threads memória sistema de arquivos dispositivos 7 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Modos de Acesso • Tipos de instruções – Privilegiadas – Não-privilegiadas • Modos de acesso – Usuário – Kernel ou supervisor Cap. 4 – Estrutura do Sistema 8 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Modos de Acesso • Chamada a uma rotina do sistema Cap. 4 – Estrutura do Sistema 9 Arquitetura de Sistemas Operacionais – Fucapi – CEEF 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 Cap. 4 – Estrutura do Sistema 10 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Arquitetura Monolítica • Arquitetura monolítica aplicação aplicação Modo usuário Modo kernel System call Hardware Cap. 4 – Estrutura do Sistema 11 Arquitetura de Sistemas Operacionais – Fucapi – CEEF 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 Cap. 4 – Estrutura do Sistema 12 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Arquitetura de Camadas • Arquitetura do OpenVMS Cap. 4 – Estrutura do Sistema 13 VM VM n 2 1 • Máquina virtual VM Arquitetura de Sistemas Operacionais – Fucapi – CEEF Máquina Virtual Ap 1 Ap2 Apn SO1 SO2 SOn HV1 HV2 HVn Gerência de Máquinas Virtuais Hardware Cap. 4 – Estrutura do Sistema 14 Arquitetura de Sistemas Operacionais – Fucapi – CEEF Máquina Virtual • Máquina virtual Java Aplicação Máquina Virtual Java Sistema Operacional Hardware Cap. 4 – Estrutura do Sistema 15 Arquitetura de Sistemas Operacionais – Fucapi – CEEF 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 Cap. 4 – Estrutura do Sistema 16 Arquitetura de Sistemas Operacionais – Fucapi – CEEF 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 Cap. 4 – Estrutura do Sistema 17 Modo usuário em Modo kernel me ns ag em • Arquitetura microkernel ag ns me Arquitetura de Sistemas Operacionais – Fucapi – CEEF Arquitetura Microkernel Microkernel Hardware Cap. 4 – Estrutura do Sistema 18