Diferença entre Linux e Hurd, de um ponto de vista de usuário / programador (avançado)

2

Eu vi que sistemas rodando em cima do Hurd começam a ficar disponíveis (ou seja, Arch Hurd ) e eu fiquei me perguntando como um usuário, de qualquer forma adiantamento ele / ela pode ser, pode ver a diferença?

Linux e BSD devem ser praticamente os mesmos, porque ambos são monolíticos, então a única diferença deve ser a API syscall.

NB: quando eu escrevo Linux, não estou falando do GNU / Linux, como eu acho que o ambiente GNU deve eventualmente ser o mesmo em ambos os sistemas

EDIT : deletou a declaração sobre o BSD, eu não sei nada sobre esse sistema e esse não é o ponto da minha pergunta: $

EDIT 2 : Vamos tentar outra abordagem: Eu tenho um bom conhecimento do GNU / Linux. O que seria diferente com o GNU / Hurd? por exemplo,

    O módulo
  • certamente não pode existir com um micro-kernel, o que é equivalente? como é um driver de placa de vídeo?
  • se o kernel do Hurd (Mach) delegar tarefas-núcleo aos processos do espaço do usuário, quais são eles?
  • quem está encarregado dessas tarefas principais? (um equivalente de super init ?)

(side-question: essa pergunta pertence ao stackoverflow?)

    
por Kevin 10.03.2011 / 14:15

2 respostas

1

Hurd - > Microkernel

enquanto

Linux - > kernel monolítico

semelhante à diferença entre o kernel monolítico b / w e o Microkernel

1 ) O kernel monolítico é muito mais antigo que o Microkernel . É usado no Unix.      enquanto     Idéia de microkernel apareceu no final do 1980's .

2 ) o exemplo do os que possuem os kernels monolíticos são UNIX, LINUX      enquanto     os os que possuem Microkernel são QNX, L4, HURD , inicialmente Mach (não mac os x) posteriormente serão convertidos em kernel híbrido, mesmo MINIX não é puro kernel porque o driver de dispositivo é compilado como parte do kernel.

3 ) O kernel monolítico é mais rápido que o microkernel .    enquanto  O primeiro microkernel Mach é 50% mais lento que o kernel monolítico, enquanto versões posteriores como L4 são apenas 2% ou 4% mais lentas do que o kernel monolítico.

4 ) O kernel monolítico geralmente é volumoso . enquanto     O kernel monolítico puro deve ser pequeno em tamanho , mesmo se encaixando no cache de primeiro nível do processador s (primeiro microkernel de geração).

5 ) no driver de dispositivo do kernel Monolítico reside no espaço do kernel . enquanto   No driver de dispositivo Microkernel, reside no espaço do usuário .

6 ) uma vez que o driver de dispositivo reside no espaço do kernel, ele torna o kernel monolítico menos seguro que o microkernel. (Falha no driver pode levar a falha) enquanto     Microkernels são mais seguros do que o kernel monolítico, portanto, usado em alguns dispositivos militares.

7 ) Os kernels monolíticos usam sinais e soquetes para garantir o IPC enquanto     A abordagem do microkernel usa filas de mensagens. 1 gen de microkernel mal implementado IPC então eram lentos em switches de contexto.

8 ) adicionar novo recurso a um sistema monolítico significa recompilar todo o kernel Enquanto    Você pode adicionar novos recursos ou patches sem recompilar .

    
por 02.02.2013 / 18:27
0

Por que não ler primeiro o que é o HURD: link

Resumidamente (do meu ponto de vista), o HURD é um kernel rodando sobre um micro núcleo do MACH, permitindo atualizações de até mesmo as coisas do kernel do HURD sem uma reinicialização.

Tudo isso é bom e teórico, mas na prática, a única coisa que você notará é a falta de suporte (driver) para o HURD.

O HURD é como o BSD e o LINUX. . tudo praticamente o mesmo, mas diferente. Eles são todos kernels com suas próprias vantagens e desvantagens.

    
por 10.03.2011 / 15:28

Tags