Microkernel
Trabalho Escolar: Microkernel. Pesquise 862.000+ trabalhos acadêmicosPor: lutti • 12/12/2013 • 1.742 Palavras (7 Páginas) • 802 Visualizações
O Kernel é o nícleo de um SO... é ele quem faz a comunicação entre o hardware e os aplicaticos que você tem instalados na máquina... no meu Linux por exemplo: o Amarok (player) não se comunica diretamente com minha placa de som... assim vai com sua placa de rede ou sua placa de vídeo... e é o Kernel quem gerencia isso... é ele quem gerencia os processos que estão ativos na sua máquina e etc...
Este Kernel normalmente (no Linux e no Windows por exemplo) este Kernel é monolítico... ou seja, ao ser compilado para uma máquina fica tudo num bloco só... num "arquivo" só... no caso do meu Linux eu acabei de compilar um novo Kernel para ele, e o nome do arquivo que vai ser carregado no boot é o vmlinuz-2.6.10... mas o Kernel não precisa necessariamente ser um bloco monolítico... ele pode ser dividido em varias partes... como comunicação, file system, devices (só um exemplo)... isto se chama Micro Kernel... fica mais fácil de entender e se você for baixar um novo Kernel não vai ser aquele arquivo de 40MB... mas fica um pouco mais difícil de gerenciar (opnião de alguns)... quem usa este tipo de Kernel é o FreeBSD por exemplo...
http://forum.clubedohardware.com.br/arquitetura-microkernel/202698?s=20a9217f9d23da4aa7aafcd02a6c57bd&
Micro Kernel x Kernel Monolítico
Professor Orientador: AlessandraPedro Victor Pinheiro
1
1
Centro Universitário do Pará (CESUPA)Belém – PA – Brasil pedrovictor.pinheiro@gmail.com
Abstract.
The purpose of this article is to inform about the concept, functioning, examplesof implementations, and others, about microkernel and monolithic kernel. Resumo.
O objetivo deste artigo é fazer uma breve explicação sobre o conceito, funcionamento, exemplos de implementações, dentre outros, sobre microkernel e kernelmonolítico.
1. Conceito.1.1. Microkernel
Microkernels adicionam ganchos para manipulação de módulos externos. Comoresultado, eles são bastante compactos por si só e são bastante rápidos em funções embutidas.(ANDERSON, 2002).
1.2. Kernel Monolítico
Os
Kernels Monolíticos, por outro lado, têm tudo construído neles desde o início. Issosignifica que eles são totalmente auto-suficientes, mas também maiores e um pouco maislentos. (ANDERSON, 2002).
2.
Forma de Funcionamento
.
2.1. Microkernel
O conceito de Microkernel é de reduzir o kernel a comunicações de processos básicos econtrole de I/O, e deixar os outros serviços de sistemas situados no
user-space
(espaço dousuário) em forma de processos normais(chamados de
servers
). Existe um
server
para cadaproblema de gerenciamento de memória, um server faz gerenciamento de processos, e outrogerencia
drivers
, e assim por diante. Devido os
servers
não rodarem mais no espaço do kernel,os chamados “
context switches
” (mudanças de contexto) são necessárias para permitir queprocessos de usuário entrem no modo de privilégio. Dessa meneira o microkernel não é maisum bloco de serviços de sistema, mas representa várias abstrações básicas e primitivas paracontrolar a comunicação entre os processos e e entre um processo e o hardware subjacente.(ROCH, 2004).Microkernels oferecem uma maior flexibilidade, pois você pode adicionar váriosmódulos de suport sem realizar o
reboot
, mas existe um preço a se pagar. Módulos infectados,ou
Trojan modules
, apresentam um grande risco de segurança. Se o kernel carrega tal módulo,ele roda com todo o controle do sistema e privilégios do kernel em si. (ANDERSON, 2002).
2.2. Kernel Monolítico.
O Kernel Monolítico executa cada serviço básico do sistema como gerenciamento dememória, manipulação de interrupções e comunicação I/O, sistemas de arquivos, etc. noespaço do kernel. Ele é construído. A inclusão de todos os serviços básicos no espaço dokernel tem 3 grandes inconvenientes: o tamanho do kernel, falta de extensibilidade emanutenibilidade ruim. (ROCH, 2004).O sistema operacional é escrito como uma coleção de procedimentos, cada um podechamar qualquer um dos outros quando precisar. Quando esta técnica é usada, cadaprocedimento no sistema tem uma interface bem definida em termos de parâmetros eresultados, e cada uma é livre para chamar outra. (TANENBAUM, 2001).Os Kernels Monolíticos exigem recompilação e
reboot
no sistema antes de elespoderem adicionar novos recursos. Embora eles são mais seguros de modulos infectados, elestambém possuem um impedimento de mudar sem um tempo de inatividade. (ANDERSON,2002).
3. Exemplos.3.1. Microkernel3.1.1. QNX
QNX (”Quick Unix”) é sistema operacional baseado em microkernel mais popular paraaplicações em tempo real. Aplicações em tempo real enfatizam a previsibilidade e estabilidade.
(ROCH, 2004).
3.1.2. L4
O L4 pertence a segunda geração de microkernels. Provou que juntos com o QNX, queos microkernels podem ser rápidos como os monolíticos permitindo uma fácil extensibilidade.
(ROCH, 2004).
3.2. Kernel Monolítico3.2.1. GNU/Linux
GNU/Linux é uma implementação acessível livre, de código aberto, do Unix,desenvolvido por milhares de indivíduos. Ela é um representante típico de um kernelmonolítico. Alterando as partes do kernel significa recompilação completa.
(ROCH, 2004).
3.2.2. Windows NT
A Microsoft introduziu o kernel para
...