Sans compter que le problèmes de perf, en grande partie liée aux kernel-switches à chaque interaction entre deux composants du système. Plus il y a de composants, et plus ils interagissent, plus les perfs baissent.
Déjà, sur un Athlon64, une opération d'écriture d'un octet dans un fichier (write(fd, &c, 1)), nécessite environ 350 cycles de CPU sous Linux, dont 160 cycles pour le kernel-switch proprement dit, alors que MINIX a besoin de 9000 cycles de CPU pour la même opération, mais, on peut supposer que le nombre d'interactions entre les composants système augmente avec la complexité du système nécessaire à gérer le matériel et les abstractions utiles dans la vraie vie.
Pour les fichiers, on s'en tire bien en gérant un tampon de mémoire de 8 ou 16 Ko. Maintenant, si on a un protocole entre deux modules (noyau ou applicatifs) qui dépendent beaucoup d'allers-retours de petites quantités données entre les deux modules, ça marche moins bien.
[^] # Re: Avis de Linus Torvalds sur les micro-noyaux
Posté par NanoTech . En réponse à la dépêche Entretien avec Andrew Tanenbaum à propos de MINIX. Évalué à 3.
Sans compter que le problèmes de perf, en grande partie liée aux kernel-switches à chaque interaction entre deux composants du système. Plus il y a de composants, et plus ils interagissent, plus les perfs baissent.
Déjà, sur un Athlon64, une opération d'écriture d'un octet dans un fichier (write(fd, &c, 1)), nécessite environ 350 cycles de CPU sous Linux, dont 160 cycles pour le kernel-switch proprement dit, alors que MINIX a besoin de 9000 cycles de CPU pour la même opération, mais, on peut supposer que le nombre d'interactions entre les composants système augmente avec la complexité du système nécessaire à gérer le matériel et les abstractions utiles dans la vraie vie.
Pour les fichiers, on s'en tire bien en gérant un tampon de mémoire de 8 ou 16 Ko. Maintenant, si on a un protocole entre deux modules (noyau ou applicatifs) qui dépendent beaucoup d'allers-retours de petites quantités données entre les deux modules, ça marche moins bien.