Sistema Monolítico
• A organização mais comum é aquela que estrutura o sistema como um conjunto de rotinas que podem interagir livremente umas com as outras.• Pode ser comparada com uma aplicação formada por vários procedimentos que são compilados separadamente e depois linkados, formando um grande e único programa executável.
– Grande desempenho
– Uma falha pode paralisar o todo o núcleo.
Sistema em Camadas
• Divide o sistema operacional em sistemas sobrepostos. Cada módulo oferece um conjunto de funções que pode ser usado por outros módulos.• A vantagem da estruturação em camadas é isolar o sistema operacional, facilitando sua alteração e depuração, além de criar uma hierarquia de níveis de modos, protegendo as camadas mais internas.
• O empilhamento de várias camadas de software faz com que cada pedido de uma aplicação demore mais tempo para chegar até o
dispositivo periférico ou recurso a ser acessado, prejudicando o desempenho do sistema.
• Não é óbvio dividir as funcionalidades de um núcleo de sistema operacional em camadas horizontais de abstração crescente, pois essas funcionalidades são inter-dependentes, embora tratem muitas vezes de recurso s distintos.
Sistemas micro-núcleo (microkernel)
Uma tendência dos sistemas operacionais é tornar o núcleo menor e mais simples possível e para implementar esta idéia o sistema é dividido em processos.• Desta forma, sempre que uma aplicação deseja algum serviço ela solicita ao processo responsável, assim, a aplicação que solicita um
serviço é chamada de cliente e o processo que responde a solicitação é chamado de servidor.
Sistema micro-núcleo
• A utilização deste modelo permite que os servidores executem em modo usuário.• Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa no modo kernel.
• O sistema operacional passa a ser de mais fácil manutenção.
• Não importa se o serviço esta sendo processado em um único processador, com múltiplos processadores (fortemente acoplado) ou em sistema distribuído (fracamente acoplado).
• Em ambiente distribuído permite que um cliente solicite um serviço e a resposta seja processada remotamente.
• Sua implementação é difícil e mais usualmente é implantado uma combinação do modelo de camadas com o cliente-servidor.
• O núcleo do sistema passa a incorporar o escalonamento e gerência de memória além das funções de device drivers.
Nenhum comentário:
Postar um comentário