Apresentação do PowerPoint · processadores virtuais que estão em cima de um único SO que está...

16
Sistemas Operacionais Estrutura do Sistema Operacional Arquiteturas do Kernel

Transcript of Apresentação do PowerPoint · processadores virtuais que estão em cima de um único SO que está...

Sistemas OperacionaisEstrutura do Sistema OperacionalArquiteturas do Kernel

• Principais tipos de estruturas:• Monolíticos;

• Em camadas;

• Máquinas Virtuais;

• Arquitetura Micro-kernel;

• Cliente-Servidor;

2

Estrutura do Sistema OperacionalArquiteturas do Kernel

Estrutura do Sistema OperacionalArquiteturas do Kernel

• Arquitetura Monolítica

Hardware

System CallModo kernel

Modo Usuário

Aplicação Aplicação

• A 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 programa executável, onde os módulos podem interagir livremente.

• Os primeiros sistemas operacionais foram desenvolvidos com base neste modelo, o que tornava seu desenvolvimento, e principalmente, sua manutenção bastante difíceis.

• Devido a sua simplicidade e bom desempenho, a estrutura monolítica foi adotada no projeto do MS-DOS e nos primeiros sistemas UNIX.

Estrutura do Sistema OperacionalArquiteturas do Kernel

• Monolítico• Organizado de forma única, sendo instalado na máquina

como um único bloco

• Os SO que mais são instalados nos dias atuais utilizam dessa estrutura

• Os serviços (chamadas) requisitados ao sistema são realizados por meio da colocação de parâmetros em registradores ou pilhas de serviços seguida da execução de uma instrução chamada TRAP;

Estrutura do Sistema OperacionalArquiteturas do Kernel

• Todos os módulos do sistema são compilados individualmente e depois ligados uns aos outros em um único arquivo-objeto;

• O Sistema Operacional é um conjunto de processos que podem interagir entre si a qualquer momento sempre que necessário;

• Cada processo possui uma interface bem definida com relação aos parâmetros e resultados para facilitar a comunicação com os outros processos;

• Simples;

• Primeiros sistemas UNIX e MS-DOS;

6

Estrutura do Sistema OperacionalArquiteturas do Kernel

Modo kernel

aplicação aplicação

Modo usuário

System call

Hardware

7

Estrutura do Sistema OperacionalArquiteturas do Kernel

8

• Não há estruturação visível;

• SO é escrito como uma coleção de processos cadaprocesso podendo fazer chamadas a qualquer outro;

• Os serviços (system calls) são requisitados através dacolocação dos parâmetros em lugares definidos (pilhase registradores) e da execução de uma chamada desistema especial (TRAP) ao kernel ;

Estrutura do Sistema OperacionalArquiteturas do Kernel

9

System Calls

Hardware

aplicaçãoaplicação

Modo usuário

Modo Kernel

Estrutura do Sistema OperacionalArquiteturas do Kernel

Em Camadas

• O SO é implementado em camadas que só se comunicam com suas camadas vizinhas, ou seja, cada camada só se comunica com sua camada inferior e sua camada superior

• Caso a camada do topo necessite comunicar-se com a camada mais inferior, é necessário que as instruções sejam passadas de camada a camada até chegarem na camada desejada

11

Sistemas em camadas• Camadas sobrepostas;

• Cada módulo oferece um conjunto de funçõesque podem ser utilizadas por outros módulos.

Estrutura do Sistema OperacionalArquiteturas do Kernel

• Arquitetura de Camadas

Kernel

Executivo

Supervisor

Usuário

Estrutura do Sistema OperacionalArquiteturas do Kernel

• O sistema é dividido em níveis sobrepostos.

• Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camada superiores.

• Neste tipo de implementação, as camadas mais internas são mais privilegiadas que as mais externas.

Estrutura do Sistema OperacionalArquiteturas do Kernel

• Vantagem • Isolamento das funções do SO, facilitando sua manutenção e

depuração

• Criação de uma hierarquia de níveis de modos de acesso, protegendo as camadas mais internas.

• Desvantagem • Desempenho.

• Cada nova camada implica em uma mudança no modo de acesso.

• Atualmente, a maioria dos sistema comerciais utiliza o modelo de duas camadas, onde existem os modos de acesso usuário (não-privilegiado) e kernel (privilegiado).

• A maioria das versões do UNIX e o Windows da Microsoft está baseada neste modelo.

Máquinas Virtuais

• É a utilização de um único hardware com um único SO, porém esse SO cria vários SO trabalhando independentes em várias máquinas virtuais

• Vários SO virtuais estão funcionando com vários processadores virtuais que estão em cima de um único SO que está funcionando sobre um único processador físico

Modelo Cliente - Servidor

• Um único núcleo do SO está tratando diretamente com o hardware recebendo pedidos de sistemas

• O restante está dividido em servidores (de processos, de arquivos, de gerência de memória, de E/S, etc), sendo que cada um desses servidores pode ser distribuído em máquinas diferentes.