Quina diferència hi ha entre un nucli monolític i un micro-nucli?


Resposta 1:

El nucli monolític és un únic gran procés que s’executa completament en un únic espai d’adreces. És un fitxer binari estàtic únic. Tots els serveis del nucli existeixen i s'executen a l'espai d'adreces del nucli. El nucli pot invocar funcions directament. Exemples de sistemes operatius basats en nucli monolític: Unix, Linux.

En microkernels, el nucli es desglossa en processos separats, coneguts com a servidors. Alguns dels servidors s'executen a l'espai del nucli i d'altres funcionen a l'espai de l'usuari. Tots els servidors es mantenen separats i s’executen en diferents espais d’adreces. Els servidors invocen "serveis" els uns dels altres enviant missatges mitjançant IPC (Interprocess Communication). Aquesta separació té l’avantatge que si un servidor falla, altres servidors encara poden funcionar de manera eficient. Exemples de sistemes operatius basats en microkernel: Mac OS X i Windows NT.

1) El nucli monolític és molt més antic que Microkernel, la idea es va concebre a finals dels anys vuitanta.

2) Els nuclis monolítics s'utilitzen a Unix i Linux. Els microcernels s'utilitzen en QNX, L4 i HURD. Inicialment es va utilitzar en Mach (no en Mac OS X) però després es va convertir en un nucli híbrid. Fins i tot Minix no és un nucli pur, ja que els controladors de dispositius es compilen com a part del nucli.

3) Els nuclis monolítics són més ràpids que els microrelats. El primer Mach microkernel era un 50% més lent que el nucli monolític, mentre que la versió posterior com L4 era només un 2% o 4% més lenta que el nucli monolític.

4) Els nuclis monolítics generalment són voluminosos. Un microkernel pur ha de tenir una mida petita per adaptar-se a la memòria cau L1 del processador (microkernel de primera generació).

5) Als nuclis monolítics, els controladors de dispositiu resideixen a l’espai del nucli mentre que al Microkernel els controladors de dispositiu resideixen a l’espai d’usuari.

6) Com que el controlador del dispositiu resideix a l'espai del nucli, fa que el nucli monolític sigui menys segur que el microcrèntol, i es pot causar un error al conductor. Els micrococells són més segurs que el nucli monolític, per tant, s'utilitzen en alguns dispositius militars.

7) Els nuclis monolítics utilitzen senyals i zòbils per garantir l’IPC, l’enfocament de microkernel utilitza cues de missatges. Els microkernels de 1er gen IPC mal implementat, de manera que eren lents els interruptors de context.

8) Afegint una nova característica a un sistema monolític significa recompilar tot el nucli, mentre que amb microcerns podeu afegir noves funcions o pedaços sense tornar a compilar.


Resposta 2:

Aquí teniu un breu vídeo realitzat per ajudar-vos a comprendre millor.

NERVOL MONOLÍTIC

  • Tot el sistema operatiu es col·loca dins del nucli. S'executa com un únic procés gran, ja que tots els serveis es col·loquen dins del nucli, tenen un espai d'adreces únic. És de mida més gran. És fàcil implementar / codePerformance és elevat (ja que el nucli pot invocar qualsevol funció directament com tot està situat al nucli) Menys segur (si un servei falla, el sistema sencera

MICROKERNEL

  • El nucli només es col·loca dins del nucli (només hi ha una gestió bàsica de memòria i un codi de comunicació entre processos) El nucli es desglossa en processos anomenats servidors. Els serveis (els servidors ofereixen serveis) estan separats, tenen espais d’adreces diferents. És més reduït. implementar / codePerformance és baix (a mesura que els servidors estan separats, per tant, per invocar serveis d’altres servidors és necessari l’IPC (Inter Process Communication), que requereix el permís del nucli i augmenta el temps d’accés i redueix el rendiment) Més segur (fins i tot si es bloqueja un servei, d’altres poden funcionar correctament a causa de la separació)

Resposta 3:

Aquí teniu un breu vídeo realitzat per ajudar-vos a comprendre millor.

NERVOL MONOLÍTIC

  • Tot el sistema operatiu es col·loca dins del nucli. S'executa com un únic procés gran, ja que tots els serveis es col·loquen dins del nucli, tenen un espai d'adreces únic. És de mida més gran. És fàcil implementar / codePerformance és elevat (ja que el nucli pot invocar qualsevol funció directament com tot està situat al nucli) Menys segur (si un servei falla, el sistema sencera

MICROKERNEL

  • El nucli només es col·loca dins del nucli (només hi ha una gestió bàsica de memòria i un codi de comunicació entre processos) El nucli es desglossa en processos anomenats servidors. Els serveis (els servidors ofereixen serveis) estan separats, tenen espais d’adreces diferents. És més reduït. implementar / codePerformance és baix (a mesura que els servidors estan separats, per tant, per invocar serveis d’altres servidors és necessari l’IPC (Inter Process Communication), que requereix el permís del nucli i augmenta el temps d’accés i redueix el rendiment) Més segur (fins i tot si es bloqueja un servei, d’altres poden funcionar correctament a causa de la separació)