[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Differents type de noyau (dérivé de "Re: [HS] Le gouvernement américain a-t-il tenté de mettre un accès secret dans Linux ?")



stephane.gargoly@laposte.net a écrit :
Bonjour à tous les utilisateurs et développeurs de Debian :

Dans son message du 20/09/13 à 13:07, BERTRAND Joël a écrit :
À titre personnel et ayant passé pas mal de temps sur les problèmes de
design de langage et d'OS, je pense que le système parfait est un
ensemble de serveurs sur un micronoyau (un vrai, un L4, pas un Mach ou
un XNU qui sont des noyaux hydrides), ce qui est encore différent d'un
L4/Linux. C'est ce qui est expliqué ici : http://www.freevms.net. Chaque
bout de code, chaque pilote dans un espace mémoire propre à lui et
indépendant de tout le reste. Sans cela, tout système va se complexifier
à l'extrême jusqu'à ne plus être maintenable.

Tiens, relance-on le débat Torvalds-Tanenbaum concernant l'opposition "noyau monolithique versus micronoyau" ? :-)

Tanenbaum est plutôt dans le trip noyau hybride. Son point de vue est que son "micro"-noyau doit déjà contenir des unixismes et que le nombre de serveur est limité (voire atteint 1 dans le cas de mklinux par exemple). C'est ce qui fait que XNU est par exemple un très mauvais noyau et que MacOS X ne devrait pas être POSIX (le coup des sémaphores n'étant pas implantés dans XNU, MacOS X ne peut offrir la base de POSIX 1.2001 que sont les sémaphores anonymes).

Moi, personnellement, j'ai tendance à me défier d'une quelconque "supériorité" technique d'un tel type de noyau qui a ses avantages/qualités et inconvénients/défauts par rapport aux autres types...

Contrairement à Andrews Tanenbaum, je ne suis pas un expert en noyaux mais, au cours de ces presque quinze années précédentes, je pu lire de la littérature (ouvrages spécialisés qu'on trouve habituellement dans des bibliothèques universitaires, articles/dossiers dans des revues informatiques plus destinées aux développeurs/administrateurs qu'au grand public) et j'en tire la conclusion que, principalement, :
1. Le choix entre les noyaux monolithiques et les micronoyaux se base sur le niveau de performance et de sécurité que l'on souhaite.

Mouais. C'était vrai du temps de Mach, XNU et des autres noyaux hybrides. L4, par exemple, a été conçu pour être minimal et surtout permettre des IPC rapides.

2. Il n'y a pas (ou, du moins, pas beaucoup) de noyaux monolithiques "purs" ni de micronoyaux "purs" mais bien souvent des noyaux monolithiques modulaires et des noyaux hybrides.

Pour ceux qui veulent savoir plus sur les différents types des noyaux (avec leurs caractéristiques - et leurs problématiques - propres), il y a la page Wikipédia suivante : http://fr.wikipedia.org/wiki/Noyau_de_syst%C3%A8me_d%27exploitation#Diff.C3.A9rents_types_de_noyaux

	Un module ne sera _jamais_ un serveur au sens des micro-noyaux.

Cependant, toujours sur Wikipédia, je recommande plutôt les pages anglaises (car elles sont plus développées) :
- (Vue d'ensemble) http://en.wikipedia.org/wiki/Kernel_(computing)#Kernel-wide_design_approaches
- (Noyau monolithique) http://en.wikipedia.org/wiki/Monolithic_kernel
- (Micronoyau) http://en.wikipedia.org/wiki/Microkernel

Notons qu'il existe un autre type de noyaux : les exo-noyaux. Cependant, j'ai plutôt l'impression qu'ils ont plus servi en un objet de recherche en informatique qu'en une application industrielle/commerciale... ;-)

Pour se faire ne bone idée sur ce qu'est un micro-noyau, lire la doc de L4/X2 (pistachio). C'est bien plus clair que cette page ;-)

	Cordialement,

	JKB


Reply to: