arquitetura dos sistemas operacionais - andrix.com.br · sistemas operacionais arquitetura dos...

71
Arquitetura dos Sistemas Operacionais Andrique Amorim www.andrix.com.br [email protected]

Upload: ngothuan

Post on 09-Nov-2018

421 views

Category:

Documents


15 download

TRANSCRIPT

Page 1: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Arquitetura dos

Sistemas

Operacionais

Andrique Amorimwww.andrix.com.br

[email protected]

Page 2: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Previously on OS...

Page 3: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Arquitetura: O QUE É?

• Estrutura básica sobre a qual é projetado o sistema operacional

• Como as ABSTRAÇÕES são realmente implementadas

• Como o sistema computacional deve ser solicitado e atender aos aplicativos,

• Como interagem as partes do SO entre si

Page 4: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

E essa tal ABSTRAÇÃO?

Page 5: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Abstração

Page 6: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Elementos de um SO

Kernel Shell

System-calls

Page 7: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Elementos de um SO

Page 8: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

System-calls

São chamadas (solicitações) aprocedimentos (ou serviços) do SO, feitaspor um usuário (ou aplicativo).

Page 9: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

System-calls

Chamadas são usadas paragerenciar processos, arquivos,diretórios e outros.

Page 10: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

NÚCLEO

CHAMADAS

HARDWARE

APLICATIVOS

Page 11: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Em geral, quando se faz um programa,existem certas instruções que o programaem execução (processo), pode executar.

EXEMPLO: operar com posições dememória pertencentes ao seu espaçode endereçamento.

Page 12: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema: EXEMPLO

Um processo pode perfeitamente somar oconteúdo de duas posições de memória earmazenar numa terceira sem precisar do SistemaOperacional.

Entretanto, caso esse processo precisa armazenarisso em um arquivo, mandar via rede ousimplesmente mostrar na tela, ele vai precisar doSistema operacional para isso.

Page 13: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Page 14: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

COMO FUNCIONA?

Page 15: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

1 - Quando a chamada de sistema éinvocada, o programa que a invocou éinterrompido, e a informação necessáriapara continuar a sua execução é salva.

Page 16: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

2 - O processador inicia a execução docódigo.

3 - Quando a chamada termina, ocontrole retorna para o programa e oestado previamente salvo é restaurado

4 - programa continua a sua execução.

Page 17: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Page 18: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Em alguns casos, o retorno de fatopara o programa não é imediato.

Entrada/saída

Page 19: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Os sistemas operacionais atuais temcentenas de chamadas de sistema.

LINUX tem quase 300 chamadas de sistema diferentes

FREEBSD APROXIMADAMENTE 330 chamadas

Page 20: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Linux System Call TableAlguns exemplos de chamadas

&eax Name Source

1 sys_exit kernel/exit.c

3 sys_read fs/read_write.c

6 sys_close fs/close.c

21 sys_mount fs/super.c

37 sys_kill kernel/signal.c

Page 21: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

COMO USAR?

Page 22: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

É preciso conhecer a API (conjunto deprocedimentos) do sistema operacional quedefine quais chamadas estão disponíveis equais são os parâmetros que devem serpassados.

Page 23: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema: UNIX

Para ler ou escrever um arquivo, deve-se

primeiro usar uma chamada open.

Ela especifica o nome do arquivo e omodo de abertura.

Para criar um novo arquivo é usadoO_CREAT.

Page 24: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema: UNIX

Para cada arquivo, o Unix registra o mododo arquivo, o tamanho e o momento daúltima modificação.

A chamada stat mostra essasinformações.

Page 25: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Chamadas do Sistema

Existem certas chamadas de sistema quenão podem ser colocadas diretamente àdisposição das aplicações.

A sua utilização indevida ocasionariasérios problemas à integridade dosistema.

Page 26: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

E as arquiteturas?

Page 27: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Arquiteturas: TIPOS

Page 28: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

É a arquitetura mais antiga e mais comum.

Cada componente do SO é contido no núcleo

(kernel) e pode comunicar-se com qualquer

outro componente diretamente.

Page 29: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

MonolíticoDois tipos de chamadas:

1 - o modo Kernel, onde é permitida aexecução de todas as instruções básicas damáquina e;

2 - o modo usuário, para os programas deusuário, onde certas instruções, como aquelasque controlam entrada/saída não podem serexecutadas.

Page 30: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

Page 31: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

Todos os componentes do núcleo operamem modo núcleo e se inter-relacionamconforme suas necessidades, semrestrições de acesso entre si.

Código no nível núcleotem acesso pleno atodos os recursos eàreas de memória.

Page 32: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

1.Essa intercomunicação direta permiterapidez na resposta de sistemaoperacional monolíticos.

2.A interação direta entrecomponentes também leva a sistemasmais compactos.

Page 33: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

3.Qualquer componente do núcleopode acessar os demais componentessem qualquer impedimento.

1.Componentes todos juntos, é difícilidentificar a origem de umdeterminado problema ou erro.

Page 34: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

2.Caso um componente do núcleoperca o controle devido a algum erro,esse problema pode se alastrarrapidamente por todo o núcleo,levando o sistema ao colapso(travamento, reinicialização oufuncionamento errado).

Page 35: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

Page 36: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

3. Manutenção e evolução do kernel se tornam mais complexas, porque as dependências e pontos de interação entre os componentes podem não ser evidentes.

Page 37: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

4. Pequenas alterações na estrutura dedados de um componente podem terum impacto inesperado em outroscomponentes, caso estes acessemaquela estrutura diretamente.

Page 38: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

Ótimo Desempenho

Não é tão Robusto (segurança)

Dificuldade de desenvolvimento

Dependências entre componentes

Page 39: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

A arquitetura monolítica foi a primeiraforma de organizar os sistemasoperacionais; sistemas UNIX antigos e oMS-DOS seguiam esse modelo.

Page 40: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

Atualmente, apenas sistemasoperacionais embutidos usam essaarquitetura, devido as limitações dohardware sobre o qual executam.

Page 41: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

O núcleo do Linux nasceu monolítico, masvem sendo paulatinamente estruturado emodularizado desde a versão 2.0 (emboraboa parte de seu código ainda permaneça nonível de núcleo).

Page 42: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico

Alguns exemplos de sistemas que utilizam este tipo de núcleo:

* BSD* Linux* MS-DOS e derivados, incluindo Windows 95, Windows 98 e Windows ME* Solaris

Page 43: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

À medida que os sistemasoperacionais tornaram-se maiscomplexos e maiores, projetospuramente monolíticos tornaram-seinviáveis.

Page 44: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

A arquitetura em camada, oumodular, tornou-se uma boa opção,agrupando “camadas” decomponentes, ou seja, conjunto deprocedimentos, que realizam tarefassimilares.

Page 45: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

Arquitetura modular

HARDWARE

SOFTWARE

Page 46: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

1) Cada camada comunica-se somentecom as suas camadas imediatamenteinferior e superior.

2) Uma camada inferior sempre presta umserviço à sua camada superior, sendo quea camada superior não sabe como oserviço é feito, apenas o solicita.

Page 47: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

A implementação de uma camada pode sermodificada sem exigir modificação em outracamada, pois possuem componentesautocontidos.

Page 48: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

Essa abordagem de estruturação de softwarefez muito sucesso no domínio das redes decomputadores, através do modelo dereferencia OSI.

Page 49: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

O empilhamento de várias camadas desoftware faz com que cada pedido de umaaplicação demore mais tempo para chegaraté o dispositivo periférico ou recurso a seracessado, prejudicando o desempenho dosistema.

Page 50: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

Não é tão óbvio dividir as funcionalidades deum núcleo em camadas horizontais deabstração crescente, pois essasfuncionalidades são interdependentes,embora tratem muitas vezes de recursosdistintos.

Page 51: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

A estruturação em camadas é apenas parcialmente adotada hoje em dia.

Alguns sistemas implementam uma camada inferiorde abstração do hardware para interagir com osdispositivos (a camada HAL – Hardware AbstractionLayer, implementada no Windows NT e seussucessores)

Page 52: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

Também organizam em camadas alguns sub-sistemas como a gerência de arquivos e osuporte de rede.

Page 53: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Sistemas em camadas

Exemplos de sistemas fortemente estruturados em camadas:

IBM OS/2MULTICS

Page 54: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Possui apenas um núcleo que

provê recursos mínimosnecessários ao ambiente.

Page 55: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Núcleo somente com o código de baixonível necessário para interagir comohardware.

Todos os aspectos de alto nível, como:• políticas de uso do processador e da memória,• o sistema de arquivos• o controle de acesso aos recursossão implementados fora do núcleo, em processosque se comunicam usando as primitivas do núcleo.

Page 56: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Por fazer os núcleos de sistema ficaremmenores, essa abordagem foidenominada micro-nucleo (ou μ-kernel).

Page 57: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Page 58: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Exemplo:usando essa abordagem o código de acesso aosblocos de um HD seria mantido no núcleo,

enquanto as abstrações de arquivo e diretórioseriam criadas e mantidas por um código forado núcleo, executando da mesma forma queuma aplicação do usuário.

Page 59: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Essa arquitetura de kernel tem avantagem de separar os serviços deforma que se acontecer algum problemaem algum serviço, esse serviço não vaiafetar o kernel como o todo.

Page 60: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Algumas das funções do sistema operacional foram

separadas em programas chamados Servidores.

Page 61: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

As interações entre componentes eaplicações são feitas através de trocas demensagens.

Page 62: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Exemplo:

Uma aplicação deseja abrir umarquivo no disco rígido.

Page 63: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

1) A app envia uma mensagem parao gerente de arquivos que, por suavez, 2) se comunica com o gerentede dispositivos para obter os blocosde dados relativos ao arquivodesejado.

Page 64: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

3) Os processos nãopodem se comunicardiretamente, devido asrestrições impostas pelosmecanismos de proteçãodo hardware.

Page 65: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Todas as mensagens são transmitidas através de serviços do micro-núcleo.

Page 66: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Muito investigados durante os anos 80.

Exemplos:

• Mach• Chorus• Hurd• Minix• QNX

Page 67: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

Customizar o SO iniciando somente oscomponentes necessários ouescolhendo os componentes maisadequados às aplicações que serãoexecutadas.

Page 68: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Micro-kernel

As trocas de mensagens entrecomponentes pode ser bastanteelevadas, o que prejudica seudesempenho e diminui a aceitaçãodesta abordagem.

Page 69: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Monolítico Vs Micro-kernel

Sistema operacional baseado em kernel monolítico

Sistema operacional baseado em Microkernel

Page 70: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Híbridos

Tem a capacidade de agregar oudesagregar funcionalidades, sem perderperformance ou estabilidade presentesna sua estrutura inicial.

Page 71: Arquitetura dos Sistemas Operacionais - andrix.com.br · Sistemas Operacionais Arquitetura dos Sistemas Operacionais Andrique Amorim professor@andrix.com.br. ... Slide 1 Author: Andrique

Sistemas Operacionais

Híbridos

EXEMPLOS:

• MacOS X• Windows 2000• Windows NT• Windows 7• BeOS