SóProvas


ID
104809
Banca
FCC
Órgão
TCM-PA
Ano
2010
Provas
Disciplina
Sistemas Operacionais
Assuntos

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
Comentários
  • 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.

  • 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