-
Segue abaixo um trecho do livro Tanembaum, Sistemas Operacionais Modernos, 3 edição, página 39:
"...A ideia básica por trás do micronúcleo (microkernel) é alcançar a alta confiabilidade por meio da divisão do sistema operacional em módulos pequenos - micronúcleo - é executado no módulo núcleo e o restante é executado como processos de usuário..."
Agora o trecho "A arquitetura para sistemas operacionais mais vantajosa atualmente" fica por conta do CESPE, pois atualmente quase todos os sistemas operacionais de mercado utilizam arquitetura monolítca. Porém acredito que não invalidaria a questão.
GABARITO LETRA D
-
Excelente comentário Fabia Silva, inclusive com a bibliografia e página
-
Gabarito D
ARQUITETURA DE MICROKERNEL. Estrutura básica de um sistema operacional, onde existe um núcleo (Kernel), que executa as requisições de cada módulo do sistema. Os módulos são independentes e específicos para cada função do sistema. Exemplos: UNIX, LINUX, WINDOWS NT e WINDOWS XP.
Micronúcleo, ou microkernel, é uma arquitetura de núcleo (kernel) de um sistema operativo cujas funcionalidades são quase todas executadas fora do núcleo, em oposição a um núcleo monolítico. Os processos se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (kernel space). Neste local os aplicativos tem acesso a todas as instruções e a todo o hardware e deixando o máximo de recursos rodando no "espaço do usuário" (user-space) em que o software tem algumas restrições, não podendo acessar algumas hardwares, nem tem acesso a todas as instruções).
Basicamente o Microkernel executa a maioria dos processos fora do kernel, ele carrega o minimo de processos possiveis no kernel space.
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
-
Letra B
Conhecendo as arquiteturas, vc ficaria em dúvida entre as letras B, D e E.
Mas a enorme dica para responder essa questão é que apenas no Microkernel há o aparecimento do modo usuário.
Relembrando que a Arquitetura em Camadas é ainda um sistema Monolítico, mas agora há hierarquia de camadas.
Ou seja, não há mais a mesma liberdade como tinha no Monolítico puro.
-
microkernel
-
O núcleo monolítico é uma arquitetura de núcleo onde todo o conjunto de instruções de controle do hardware é executado no espaço de núcleo no modo de supervisão, ou seja, é um único executável que possui todos os códigos de suporte necessários agregados.
Dentro do kernel híbrido e do microKernel, a maior vantagem é a segurança e a estabilidade.
Isso se deve pois o kernel sozinho não lida com todos os recursos do sistema permitindo que uma determinada área afetada por um malware por exemplo, possa ser isolada do restante. Basicamente o microKernel permite que o kernel seja modular; Se considerarmos cada microKernel como o conjunto de um maior, você pode dar manutenção em tempo real no kernel sem precisar reiniciá-lo!
Claro, esse recurso deixou de ser exclusividade no kernel Linux desde a versão 4.0 quando a Red Hat desenvolveu o módulo de Live Patch. Ele “segura” o sistema no ar enquanto faz a manutenção e substituição dos módulos do sistema na troca de kernel, sem precisar reiniciar o servidor para isso!
-
Finalidade do núcleo:
O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.
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. Todos processos em um só núcleo.
Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).
Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis
Desvantagem: Queda no Desempenho.
Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.
Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.
Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.
Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.
O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.
Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de
desempenho, segurança e usabilidade.
Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.
Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.
Fonte:
Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed
-
Complementando um pouco mais os comentários dos colegas: "os sistemas de micronúcleos são dominantes em aplicações de tempo real, industriais, de aviônica e militares, que são cruciais para missões e têm exigência de confiabilidade muito altas."
Fonte: Sistemas Operacionais Modernos, 4ª edição - Tanembaum, página 46.
-
d-
The microkernel architecture pattern consists of two types of architecture components: a core system and plug-in modules. Application logic is divided between independent plug-in modules and the basic core system, providing extensibility, flexibility, and isolation of application features and custom processing logic.
https://en.wikipedia.org/wiki/Microkernel