L4 (micronúcleo)

A família L4 é uma família de micronúcleos de segunda geração baseada nos projetos e implementações originais do cientista da computação alemão Jochen Liedtke. Foi originalmente implementada como código de montagem extremamente otimizado específico do Intel i386,[1] a interface de programação de aplicativos recebeu desenvolvimento extensivo em várias direções, ambas em obter um nível de independência de plataforma e também em melhorar a segurança, isolação e robustez.

Há várias reimplementações da interface de núcleo binária original do micronúcleo L4 (interface binária de aplicação) e seus sucessores de alto nível, incluindo L4Ka::Pistachio (Uni Karlsruhe), L4/MIPS (UNSW) e Fiasco (TU Dresden). Por essa razão, o nome L4 foi generalizado e não se refere mais à implementação original de Liedtke. Ele serve para toda a família de micronúcleos, incluindo a interface do L4 e suas diferentes versões.

O L4 é usado em produções de alguns telemóveis.

Paradigma de desenvolvimento

[editar | editar código-fonte]

Especificando a ideia de um micronúcleo, Liedtke afirma:

Um contenco é tolerado dentro do micronúcleo apenas se mover ele para fora do núcleo, ex., permitir implementações concorrentes, fosse impedir a implementação de funcionalidades requeridas pelo sistema.[2]

Seguindo este espírito, o micronúcleo L4 fornece apenas quatro mecanismos básicos: endereçamento de espaço, linhas de execução, escalonamento, e comunicação entre processos síncrona.

Um sistema operacional baseado em um micronúcleo como o L4 tem que fornecer serviços como servidores no espaço de usuário que núcleos monolíticos como o Linux ou gerações anteriores de micronúcleos incluíam internamente. Por exemplo, para implementar um sistema Tipo unix seguro, servidores terão que fornecer o gerenciamento de permissões que o Mach incluiu no núcleo.

A percepção de algumas desvantagens no projeto e performance da primeira geração do Mach levaram um grande número de desenvolvedores a reexaminar todo o conceito de micronúcleo na metade de 1990. O conceito assincronia no buffer do núcleo para comunicação entre processos usado no Mach acabou se tornando uma das principais razões para sua má performance. Isto fez com que alguns desenvolvedores colocassem componentes de tempo crítico, como sistemas de ficheiro ou drivers, novamente dentro do núcleo, o que é claro, entrava em conflito com o conceito de um verdade micronúcleo.

Uma analise detalhada do gargalo do Mach indicou que dentre outras coisas o sei conjunto de trabalho era muito grande: havia muitas perdas de cache a maioria destas eram no núcleo. Em outras palavras, o código local era de ma qualidade. Isto criou a ideia de que micronúcleos deveriam na verdade ser pequenos o bastante para conter a maioria das seções críticas no cache de instruções.

Referências

  1. Liedtke, Jochen (1993). «Improving IPC by kernel design». 14th ACM Symposium on Operating System Principles. Asheville, NC, USA. pp. 175–88 
  2. Jochen Liedtke (1995). «On µ-Kernel Construction». Proc. 15th ACM symposium on Operating Systems Principles (SOSP). pp. 237–250 

Ligações externas

[editar | editar código-fonte]