Please enable JavaScript.
Coggle requires JavaScript to display documents.
Capítulo 3 Arquiteturas de SOs - Coggle Diagram
Capítulo 3
Arquiteturas de SOs
Os vários elementos que compõem o sistema podem ser organizados de diversas
formas, separando suas funcionalidades e modularizando seu projeto.
3.1 Sistemas monolíticos
“bloco maciço” de código que opera em modo núcleo, com acesso a todos os recursos do hardware e sem restrições de acesso à memória.
Grande vantagem no desempenho, qualquer componente do núcleo pode acessar os demais componentes, áreas de memória ou mesmo dispositivos periféricos diretamente, pois não há barreiras impedindo esses acessos.
Pode levar o sistema ao colapso, no
caso de erros dos componentes, além de ser mais inseguro
3.2 Sistemas micronúcleo
Núcleo do sistema composto apenas por código de baixo nível, utilizando o mínimo para interagir com hardware e utilizar as abstrações básicas
Sistemas micronúcleo oferecem maior modularidade (serviço desenvolvido independente dos demais), flexibilidade, e maior robustez.
Desempenho inferior, pois as chamadas de sistema tem um custo muito elevado.
3.3 Sistemas em camadas
Uma forma mais elegante de estruturar um sistema operacional. As camadas têm níveis de privilégio decrescentes: a camada
inferior tem acesso total ao hardware, enquanto a superior tem acesso bem mais restrito
Um modelo robusto de organização de
sistemas operacionais.
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.
3.4 Sistemas híbridos
Uma abordagem intermediária entre o núcleo monolítico e micronúcleo
Traz
de volta ao núcleo os componentes mais críticos, para obter melhor desempenho.
3.5 Arquiteturas avançadas
3.5.1 Máquinas virtuais
Camada de software que “transforma” um sistema
em outro, utilizando do mesmo hardware.
Consiste de três partes básicas:
Camada de virtualização(hipervisor / monitor de virtualização (VMM - Virtual Machine Monitor)): constrói a máquina virtual a partir dos recursos do sistema real;
Sistema virtual / convidado (guest): executado sobre o sistema real.
Sistema real / hospedeiro(host): contém os recursos reais de hardware e software do sistema;
Existem diversas possibilidades de uso da virtualização, levando a vários tipos
de hipervisor, por exemplo:
Hipervisor de aplicação: suporta a execução de uma única aplicação em uma linguagem
específica.
Hipervisor de sistema: suporta a execução de um sistema operacional convidado com
suas aplicações
Hipervisor nativo: executa diretamente sobre o hardware, virtualizando os recursos deste para construir máquinas virtuais, onde executam vários sistemas operacionais com suas respectivas aplicações.
Hipervisor convidado: executa sobre um sistema operacional hospedeiro
3.5.2 Contêineres
Virtualização do espaço do usuário, chamados também servidores virtuais , em cada domínio é alocado um parcela do recursos físicos do sistema operacional. Cada domínio tem seu endereço e é isolado dos demais.
3.5.3 Sistemas exonúcleo
Nessa arquitetura o sistema apernas proporciona acesso controlado aos recursos do hardware, as abstrações e funcionalidades ficam a cargo das próprias aplicações.
3.5.4 Sistemas uninúcleo
Neste modelo um núcleo do SO, bibliotecas e uma aplicação são compilados e ligados entre si, forma-se um bloco monolítico de código ( executa em um único endereço e tem modo privilegiado).