Nucles Manoliticos E Micronucleos
Casos: Nucles Manoliticos E Micronucleos. Pesquise 861.000+ trabalhos acadêmicosPor: jaquelinevegas • 12/5/2014 • 1.065 Palavras (5 Páginas) • 428 Visualizações
1. DEFINIÇÃO
Segundo MAZIERO (2008, p. 9), núcleo é o coração do sistema operacional, responsável pela gerência dos recursos do hardware usados pelas aplicações, que também implementa as principais abstrações utilizadas pelos programas aplicativos.
Conforme a evolução da tecnologia e dos hardwares diversos modelos de sistemas baseado em núcleos foram criados, dentre os quais serão mencionados os Núcleos Monolíticos e os Micronúcleos.
1.1. SISTEMAS MONOLÍTICOS
Segundo MAZIERO (2008, p. 18), em um Sistema Monolítico, todos os componentes do núcleo operam em modo núcleo e se inter-relacionam conforme suas necessidades, sem restrições de acesso entre si, pois o código no nível núcleo tem acesso pleno a todos os recursos e áreas de memória.
A grande vantagem dessa arquitetura é seu desempenho, pois qualquer componente do núcleo pode acessar os demais componentes, toda a memória ou mesmo dispositivos periféricos diretamente, pois não há barreiras impedindo esse acesso. A interação direta entre componentes leva a sistemas mais compactos.
Contudo, o elevado desempenho é compensado pela baixa robustez e facilidade de desenvolvimento. Caso um componente do núcleo perca o controle devido a algum erro, esse problema pode se alastrar rapidamente por todo o núcleo, levando o sistema ao colapso (travamento, re-inicialização ou funcionamento errático). Além disso, a manutenção e evolução do núcleo se tornam mais complexas, porque as dependências e pontos de interação entre os componentes podem não ser evidentes: pequenas alterações na estrutura de dados de um componente podem ter um impacto inesperado em outros componentes, caso estes acessem aquela estrutura diretamente.
1.2. SISTEMAS MICRONÚCLEO
Segundo MAZIERO (2008, p. 20), afirma que outra possibilidade de estruturação pode consistir em retirar do núcleo todo o código de alto nível (normalmente associado às políticas de gerência de recursos), deixando no núcleo somente o código de baixo nível necessário para interagir como hardware e criar as abstrações fundamentais (como a noção de atividade).
Por fazer os núcleos de sistema menores, essa abordagem foi denominada micronúcleo (ou μ-kernel). Um micronúcleo normalmente implementa somente a noção de atividade, de espaços de memória protegidos e de comunicação entre atividades. Todos os aspectos de alto nível, como políticas de uso do processador e da memória, o sistema de arquivos e o controle de acesso aos recursos são implementados fora do núcleo, em processos que se comunicam usando as primitivas do núcleo.
Em um sistema micronúcleo, as interações entre componentes e aplicações são feitas através de trocas de mensagens. Assim, se uma aplicação deseja abrir um arquivo no disco rígido, envia uma mensagem para o gerente de arquivos que, por sua vez, se comunica com o gerente de dispositivos para obter os blocos de dados relativos ao arquivo desejado. Os processos não podem se comunicar diretamente, devido às restrições impostas pelos mecanismos de proteção do hardware. Por isso, todas as mensagens são transmitidas através de serviços do micronúcleo. Como os processos têm de solicitar “serviços” uns dos outros, para poder realizar suas tarefas, essa abordagem também foi denominada cliente-servidor.
2.EXEMPLOS DE SISTEMAS OPERACIONAIS BASEADOS EM AMBOS (DOIS DE CADA) EM BASE.
Segundo MAZIERO (2008, p. 18), arquitetura monolítica foi à primeira forma de organizar os sistemas operacionais; sistemas UNIX antigos e o MS-DOS seguiam esse modelo. Atualmente, apenas sistemas operacionais embutidos usam essa arquitetura, devido às limitações do hardware sobre o qual executam. O núcleo do Linux nasceu monolítico, mas vem sendo estruturado e modularizado desde a versão 2.0 (embora boa parte de seu código ainda permaneça no nível de núcleo).
As principais vantagens dos sistemas micronúcleo são sua robustez e flexibilidade: caso um subsistema tenha problemas, os mecanismos de proteção de memória e níveis de privilégio irão confiná-lo, impedindo que a instabilidade se alastre ao restante do sistema. Além disso, é possível customizar o sistema operacional, iniciando somente os componentes necessários ou escolhendo os componentes mais adequados às aplicações que serão executadas.
Vários sistemas operacionais atuais adotam parcialmente essa estruturação: MacOSX da Apple tem suas raízes no sistema Mach, ocorrendo o mesmo com o Digital UNIX. Todavia, o custo associado às trocas de mensagens entre componentes pode ser bastante elevado, o que prejudica seu desempenho e diminui a aceitação desta abordagem. O QNX é um dos poucos exemplos de micronúcleo amplamente utilizado, sobretudo em sistemas embutidos e de tempo-real.
3.QUAL O MAIS INDICADO PARA SISTEMAS DISTRIBUÍDOS?
Ao comparar os dois
...