A tendência dos sistemas operacionais é tornar o núcleo meno...

Próximas questões
Com base no mesmo assunto
Ano: 2010 Banca: FCC Órgão: TCM-PA Prova: FCC - 2010 - TCM-PA - Técnico em Informática |
Q34934 Sistemas Operacionais
A tendência dos sistemas operacionais é tornar o núcleo menor e mais simples. A idéia de disponibilizar os serviços de gerência de processos, gerência de arquivos, gerência de memória etc. em processos no espaço do usuário, fora do núcleo, denomina-se
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - Micro-kernel

Vamos entender o porquê desta alternativa ser a correta e explorar o tema abordado na questão.

Os sistemas operacionais modernos têm buscado tornar o núcleo (kernel) menor e mais simples. Isso se deve ao fato de que um núcleo mais enxuto pode oferecer maior estabilidade e segurança, uma vez que há menos código executando em modo privilegiado, o que reduz a superfície de ataque e a possibilidade de falhas críticas.

A ideia central da questão é sobre a estrutura do kernel nos sistemas operacionais. Existem diferentes abordagens para a construção do kernel, e uma delas é o Micro-kernel, que é a resposta correta.

No modelo de Micro-kernel, a maior parte dos serviços do sistema, como a gerência de processos, gerência de arquivos e gerência de memória, são executados em espaços de usuário, fora do núcleo. Isso contrasta com o modelo de kernel monolítico onde esses serviços são executados dentro do núcleo.

O Micro-kernel tem como benefícios a simplicidade e a modularidade. Como cada serviço roda em um processo separado no espaço do usuário, é possível atualizar ou substituir esses componentes de forma independente, sem necessidade de modificar o núcleo. Além disso, se um desses serviços falhar, o impacto sobre o sistema como um todo é reduzido, aumentando a resiliência.

Em resumo, ao optar pela alternativa B - Micro-kernel, a questão destaca a tendência moderna de colocar vários serviços do sistema operacional no espaço do usuário para tornar o núcleo mais simples e menor. Esta abordagem proporciona benefícios significativos em termos de estabilidade, segurança e facilidade de manutenção.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Micro-kernel é um termo usado para caracterizar o sistema cujas funcionalidades do sistema saíram do núcleo e foram para servidores, que se comunicam com um núcleo mínimo, usando o mínimo possível o "espaço do sistema" (nesse local o programa 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" (no espaço do usuário, o software sofre algumas restrições, não podendo acessar alguns hardwares, nem tem acesso a todas as instruções). (Fonte: Wikipedia)

O Kernal monolítico é exatamente o oposto do micro-kernel. A principal característica do kernel monolítico é permitir que funções como rede, vídeo e acesso a outros periféricos sejam possíveis através do kernel-space. Isso é possível através do uso de módulos. O que significa que um módulo, apesar de não estar no mesmo código do kernel, é executado no espaço de memória do kernel. Sendo assim, apesar de modular, o kernel monolítico continua sendo único e centralizado. Isso pode levar a considerações errôneas sobre o conceito. Segue abaixo uma representação do kernel monolítico. (Fonte: http://localdomain.wordpress.com/2007/07/22/micro-kernel-ou-kernel-monolitico/)
Arquitetura Microkernel

Uma tendência nos SO modernos é tornar o núcleo do SO o menor e mais simples possível. Para implementar esta idéia, os serviços do sistema são disponibilizados através de processos, onde cada um é responsável por oferecer um conjunto específico de funções, como gerência de arquivos, de processos, de memória e escalonamento.

A utilização deste modelo permite que os servidores executem em modo usuário, ou seja, não tenham ac esso direto a certos componentes do sistema. Apenas o núcleo do sistema, responsável pela comunicação entre clientes e servidores, executa no modo kernel. Como consequência, se ocorrer um erro em um servidor, este poderá parar, mas o sistema não ficará inteiramente comprometido, aumentando assim a sua disponibilidade.


Seria mais ou menos assim:

[SERVIDOR DE ARQUIVO]     [SERVIDOR DE MEMÓRIA]    [SERVIDOR DE REDE]
     [SERVIDOR DE PROCESSO]     [SERVIDOR DE IMPRESSÃO]
                                                            Modo usuário

 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                            Modo Kernel
              [ M  I  C  R  O      K  E  R  N  E  L ]

                [ H   A   R   D   W   A   R   E]




Arquitetura de Sistemas Operacionais
3a.Ed. - Machado/Maia
pág. 60

Em computação, uma chamada de sistema (system call) é o mecanismo usado pelo programa para requisitar um serviço do sistema operacional, ou mais especificamente, do núcleo do sistema operacional.

Fonte:http://pt.wikipedia.org/wiki/Chamada_de_sistema

Nano kernel também é uma resposta válida pra essa questão.

Estrutura dos SO:
1) Sistema Monolítico: Todo sistema operacional, todas as suas instruções são o núcleo do SO. Todo mundo pode falar com todo mundo dentro do núcleo = paz e amor!

2) Sistema de Camadas: ainda monolítico, mas com hierarquia de camadas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores.
3) Sistema Micronúcleo (Microkernel): aparecimento do módo núcleo;
4) Modelo Cliente-Servidor: uma  forma de especialização dos Micronúcleos;
5) Sistema Exonúcleo (Verticalmente Estruturados): uma variação do Micronúcleo. Conceito embrionário de VMs.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo