SóProvas


ID
605617
Banca
CESPE / CEBRASPE
Órgão
EBC
Ano
2011
Provas
Disciplina
Sistemas Operacionais
Assuntos

Com relação aos princípios de sistemas operacionais, julgue os itens
seguintes.

Um sistema operacional é considerado monolítico quando o seu kernel é executado como vários programas.

Alternativas
Comentários
  • Questão errada !  No kernel monolítico todas as funções importantes do kernel fazem parte de um único processo (programa) em que todos os elementos partilham o mesmo espaço de endereçamento de memória.

    Os outros 2 tipos de kernel mais frequentes são: Microkernel e Kernel modular.
    O kernel modular, kernel monolítico moderno, é o mais simples possível e encarrega-se de coordenar a troca de mensagens e dados entre os diferentes componentes. Os componentes são compilados como módulos que são carregados e descarregados dinamicamente à medida que vão sendo necessários. Algumas das vantagens em usar kernel modular:
    a) Não é necessário recompilar o kernel para adicionar suporte aquando a adição de novo hardware.
    b) As componentes desnecessárias não são carregadas.
      O Microkernel é uma designação de um Sistema Operacional que possui apenas um núcleo que provê recursos mínimos necessários ao ambiente. Outras funcionalidades são oferecidas através de programas chamados servidores. O Microkernel basicamente provê serviços como gerenciamento do espaço de memória, gerência de threads e comunicação entre os processos (IPC – Inter-Process Communication). Serviços como rede, vídeo, são considerados não essenciais, e residem na user-space. Bons estudos !
  • De acordo com Tanenbaum, um SO monolítico é um sistema que não possui estruturação definida. Além disso, o sistema operacional é escrito como uma coleção de procedimentos, sendo que cada um pode chamar um dos demais sempre que necessário. Apesar disso, cada procedimento do sistema tem uma interface bem definida quanto a parâmetros e resultados e cada um deles é livre para chamar qualquer outro, se este oferecer alguma computação útil de que o primeiro necessite. A afirmação da questão não faz sentido e por isso está errada.
  • Ta, tudo bem, concordo com os comentários acima. Mas alguém entendeu o que a banca quis dizer com " é executado como vários programas"?

    ?????????????????

    Dizer se é errado ou o que é certo o que?

    Questões como essa, é melhor fazer concurso loteria só entrega pra gente o cartão resposta que a gente preenchee, quem tiver com mais sorte leva!!!
  • A questão está errada pelo simples fato de AFIRMAR que um sistema operacional considerado monolítico "é executado como vários programas".

    Segundo Tanenbaum (Sistemas Operacionais 3ª Ed., página 37,  item 1.7.1) o sistema operacional monolítico é executado como um único programa. no modo núcleo.

    Obs: Núcleo = Kernel 
  • No kernel monolitico, todos os seus componentes(gerenciador de memoria/processos/E-S, Sistemas de Arquivos etc) são codigos q fazem parte de um unico e grande programa. A memoria eh dividida entre espaço do kernel e espaço do usuario e seus programas.

    Já o micro kernel divide as funcoes basicas em modulos q sao acionados por mecanismos de mensageria. Ele fica muito mais restrito a interrupções, comunicacao interprocessos, escalonamento de processos etc.
  • Errei a questão pela definição que eu tinha a respeito de Arquitetura Monolítica que é comparada como uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande programa executável, onde os módulos pode interagir livremente. Como o conceito diz como "vários módulos" acabei me equivocando. 

  • Errado.

    De fato, nessa arquitetura TUDO (todos os módulos/rotinas) é executado junto de forma a SER um ÚNICO programa no modo NÚCLEO!

  • 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