vendredi 2 novembre 2018

Andy Tanenbaum:


"J'étais aux États-Unis pendant quelques semaines, donc je n'ai pas beaucoup commenté sur LINUX , mais pour quoi ça vaut la peine,
J'ai quelques commentaires maintenant.


Comme la plupart d’entre vous le savent, pour moi, MINIX est un passe-temps, quelque chose que je fais le soir quand je m'ennuie à écrire des livres et qu'il n'y a pas de grandes guerres, ou de révolutions, et quand les audiences du sénat étant télévisées en direct sur CNN, n'ont plus rien d'autres comme sujet que les histoire de
"pd" ou "lesbiennes", ou "travelots"...

Mon vrai job est professeur, enseignant et chercheur. Et ce dans le domaine des systèmes de communication inter-systèmes appliquer SI et SE des machines de type mini-ordinateur, micro-ordinateur, adresser l’électronique grand publique personnel
OS: Operating-system. Système-d'exploitation.


En raison de mon métier,
je pense en savoir assez bien sur les orientations des recherche passer et ce que les conclusions ont donnez comme trajectoires vers ce vers où nous allons en ce qui concerne informatique des années qui vont venir.

Et c'est pourquoi je sais déjà que nous allons dans la prochaine années entre cinq ans si ont vas vite, ou une décennie si ont perds notre temps a récrire encore une foies de plus tout C,vers C++. Tout C++ vers GCC, tout GCC vers LLVM, tout LLVM vers GO, tout GO vers RUST, tout RUST vers node, ...
Sans parler de CPP vers D++, et en plus si une foie de plus ont ne prévois pas depuis le débuts, donc de base et par le design, que ça soit un micro-noyau portable et modulaire. C'est tirez soit mème une balle dans chaque pieds au départs de la course a pieds.
Mais mème si cela devrais encore prendre 15 ans il n'y auras plus rien de mieux a faire que ce que l'ont as déjà avec du monolithique.

Deux aspects ressortent:
1. SYSTÈME MICROKERNEL VS MONOLITHIQUE

La plupart des systèmes d’exploitation plus anciens sont monolithiques, c’est-à-dire l’ensemble des systèmes d’exploitation.
Le système est un fichier a.out unique qui s'exécute en «mode noyau».

Ce binaire contient la gestion des processus, la gestion de la mémoire, le système de fichiers et le chemin racine, ainsi que utilisateurs, serveurs, invité, et l’accès local du repos.

Des exemples de tels systèmes sont UNIX, MS-DOS, VMS, MVS, OS / 360, MULTICS, et beaucoup plus. L’alternative est un système basé sur un micro-noyau, dans lequel la plupart des systèmes d’exploitation s'exécute en tant que processus séparé, principalement en dehors du noyau.

Ils communiquent en passant le message.
Le travail du noyau est de gérer le passage du message, traitement des interruptions, gestion des processus de bas niveau et éventuellement des E / S.

Des exemples de cette conception sont le RC4000, Amoeba, Chorus, Mach et le
pas encore publié Windows / NT.

Bien que je puisse entrer ici dans une longue histoire sur les mérites relatifs du aux deux conceptions, il suffit de dire que parmi les personnes qui conçoivent les systèmes d'exploitation, le débat est essentiellement terminé. Les micro-noyaux ont gagné.


Le seul argument réel pour les systèmes monolithiques était la performance, et il y
est maintenant suffisamment de preuves montrant que les systèmes de micro-noyau peuvent être tout aussi rapidement que les systèmes monolithiques ( par exemple, Rick Rashid a publié des documents comparant Mach 3.0 aux systèmes monolithiques) qu’il est maintenant partout sauf le shoutin`.

MINIX est un système basé sur un micro-noyau.

Le système de fichiers et la gestion de la mémoire sont des processus distincts, fonctionnant en dehors du noyau.

Les pilotes d’E / S sont  également des processus séparés dans le noyau, mais uniquement parce que c'est la nature de gestion des process hérités pour leur  sous processus de calculs qui est complexes et ce de par la nature des processeurs Intel qui rend cela difficile à faire autrement.

LINUX est un système de style monolithique, c’était est un pas de géant dans les années 1970. 
C’est comme prendre un programme en C existant et le réécrire en DE BASE.
Mais de nos jours, écrire un système monolithique en 1991 est une très mauvaise idée.

2. PORTABILITÉ
Il était une fois le processeur 4004. Quand il a grandi, il est devenu un 8008. Ensuite, il a subi une chirurgie plastique et est devenu le 8080.

Il a commencé avec le 8086, qui a engendré le 8088, qui a engendré le 80286, qui a engendré le 80386, qui a engendré le 80486, et ainsi de suite jusqu'à la N-ème génération.

Pendant ce temps, les puces RISC sont arrivées et certaines d’entre elles fonctionnent 100 MIPS. Des vitesses de 200 MIPS et plus sont probables dans les années à venir.

Ces choses ne vont pas disparaître soudainement. Ce qui va se passer est-ce qu'ils vont progressivement prendre le relais de la ligne 80x86.

Ils vont Exécutez les anciens programmes MS-DOS en interprétant le logiciel 80386.

J'ai même a écrit mon propre simulateur IBM PC en C, que vous pouvez obtenir par FTP à partir de ftp.cs.vu.nl = 192.31.231.42 en répertoire minix / simulateur.

Je pense que c’est une grossière erreur de concevoir un système d'exploitation pour une architecture spécifique, car ne va pas être autour de tout ce long.

MINIX a été conçu pour être raisonnablement portable et a été transféré de la
ligne de cpu Intel vers les cpu 680x0 (Atari, Amiga, Macintosh), SPARC et NS32016.

LINUX est assez étroitement lié au 80x86. Pas le chemin à parcourir.

Ne vous méprenez pas, je ne suis pas mécontent de LINUX. Ça va amener tout le monde qui veulent désactiver MINIX sous BSD UNIX. Mais en toute honnêteté, je voudrais suggèrent que les personnes qui veulent un système d’exploitation ** "moderne" ** MODERNE ** recherchent un OS portable basé sur un micro-noyau, comme peut-être GNU ou quelque chose comme ça.

Andy Tanenbaum (a...@cs.vu.nl)

P.S. Amoeba dispose d’un émulateur UNIX (fonctionnant sous le nom d’utilisateur).
l’espace), mais il est loin d’être complet. S'il y a des gens qui voudraient
tiens à travailler sur cela, s'il vous plaît faites le moi savoir. Pour exécuter Amoeba, vous avez besoin de quelques 386,
l’un d’entre eux nécessite 16M, et tous ont besoin de la carte Ethernet WD."

1 Le débatGraphique d’un noyau monolithique exécutant l’espace noyau entièrement en mode superviseur

L'architecture du micro-noyau repose sur des programmes de serveur d'espace utilisateur
Au départ, le débat était relativement modéré à l’origine, les deux parties concernées ne faisant que des déclarations banales sur la conception du noyau, il devenait de plus en plus détaillé et sophistiqué à chaque tour de messages. En plus de la conception du noyau, le débat a été divisé en plusieurs autres sujets, tels que l’architecture des microprocesseurs qui l’emporterait à l’avenir.


Outre Tanenbaum et Torvalds, plusieurs autres personnes ont pris part au débat, notamment Peter MacDonald, l'un des premiers développeurs de noyau Linux et créateur de l'une des premières distributions, Softlanding Linux System; David S. Miller, l'un des principaux développeurs du noyau Linux; et Theodore Ts'o, le premier développeur de noyau Linux en Amérique du Nord.
Le débat s'est ouvert le 29 janvier 1992, lorsque Tanenbaum a publié pour la première fois sa critique du noyau Linux sur comp.os.minix, soulignant en quoi le design monolithique nuisait à ses capacités, dans un article intitulé "LINUX est obsolète" [1].


Bien qu’au début, il n’a pas expliqué les raisons techniques pour expliquer pourquoi il considérait que la conception du micro-noyau était meilleure, il a toutefois laissé entendre que c’était principalement lié à la portabilité, arguant que le noyau Linux était trop étroitement lié à la ligne de processeurs x86 pour être compatible avec toute utilisation à l'avenir, car cette architecture serait remplacée d'ici là.

Pour mettre les choses en perspective, il a expliqué à quel point écrire un noyau monolithique en 1991 constituait "un pas de géant dans les années 1970".
Depuis que les critiques ont été publiées dans un groupe de discussion public, Torvalds a pu y répondre directement.  


Il l'a fait un jour plus tard, arguant que MINIX avait des défauts de conception inhérents (citant l'absence de multithreading comme exemple spécifique), tout en reconnaissant qu'il trouvait la conception du noyau du micro-noyau supérieure "d'un point de vue théorique et esthétique". 3]

Il a également affirmé que, puisqu'il développait le noyau Linux pendant son temps libre et le distribuait gratuitement (le MINIX de Tanenbaum n'était pas libre à ce moment-là),

Tanenbaum ne devrait pas s'opposer à ses efforts. En outre, il a mentionné la manière dont il avait développé Linux spécialement pour le processeur Intel 80386, car il s'agissait en partie d'un exercice d'apprentissage destiné à Torvalds lui-même. tout en concédant que cela rendait le noyau lui-même moins portable que MINIX, il a affirmé qu'il s'agissait d'un principe de conception acceptable, car cela rendait l'interface de programmation d'application plus simple et plus portable. Pour cette raison, a-t-il déclaré, "Linux est plus portable que Minix".
Suite à la réponse de Linus, Tanenbaum a fait valoir que les limitations de MINIX étaient liées à son statut de professeur, indiquant que le système devait pouvoir fonctionner sur le matériel plutôt limité de l'étudiant moyen, qu'il a noté être un ordinateur basé sur Intel 8088. , parfois même sans disque dur. [4] À l'époque, Linux était spécialement conçu pour l'Intel 386, un processeur nettement plus puissant (et coûteux).



Tanenbaum a également précisé ce qui suit: "… il y a environ un an, il existait deux versions [de MINIX], une pour le PC (disquettes 360K) et une pour le 286/386 (1,2M). Version 286/386 par 2 sur 1. "

Il a noté que, même si Linux était gratuit, ce ne serait pas un choix viable pour ses étudiants, car ils ne pourraient pas se permettre le matériel coûteux nécessaire à son exécution, et que MINIX pouvait être utilisé sur "un ordinateur ordinaire à 4,77 MHz sans disque dur ". 
  
Pour cela, Kevin Brown, un autre utilisateur du groupe Usenet, a répondu que Tanenbaum ne devrait pas se plaindre des liens de Linux avec l’architecture 386, car c’était le résultat d’un choix délibéré plutôt que d’un manque de connaissances sur la conception du système d’exploitation.

Un objectif de conception explicite de Linux était de tirer parti des fonctionnalités spéciales de l'architecture 386. Alors, quel est exactement votre objectif?

Différents objectifs de conception vous permettent d'obtenir différentes conceptions. "[5] Il a également déclaré que la conception d'un système spécifiquement pour du matériel bon marché causerait des problèmes de portabilité à l’avenir.

Malgré le fait que MINIX ne prenne pas totalement en charge le nouveau matériel, Tanenbaum a affirmé que, l'architecture à venir étant surpassée par l'architecture x86, il n'a pas besoin de résoudre le problème, soulignant que "Bien sûr, dans 5 ans, être différent, mais dans 5 ans, tout le monde utilisera gratuitement GNU sur ses 200 MIPS, 64M SPARCstation-5. "

Il a déclaré que le noyau Linux finirait par perdre de son style à mesure que le matériel progresserait, car il était si étroitement lié à l'architecture 386 [4].
Torvalds a tenté de mettre fin à la discussion à ce moment-là, déclarant qu'il estimait qu'il n'aurait pas dû réagir de manière excessive aux déclarations initiales de Tanenbaum et qu'il lui composait un courrier électronique personnel pour s'excuser [6]. Cependant, il poursuivra le débat plus tard.


Conséquences Malgré ce débat, Torvalds et Tanenbaum semblent être en bons termes.

Torvalds veut bien comprendre qu'il n'a aucune animosité envers Tanenbaum et ce dernier souligne que les désaccords sur des idées ou des problèmes techniques ne doivent pas être interprétés comme des querelles personnelles

<< DiBona, Chris; Ockman, Sam; Stone, Mark; Behlendorf, Brian; Bradner, Scott; Hamerly, Jim; McKusick, Kirk; O'Reilly, Tim; Paquin, Tom; Bruce Perens; S. Raymond, Eric; Stallman, Richard; Tiemann, Michael; Torvalds, Linus; Vixie, Paul; Wall, Larry; Young, Bob (janvier 1999). "Le débat de Tanenbaum-Torvalds". Sources ouvertes: les voix de la révolution de l’Open Source. O'Reilly Media. ISBN 1-56592-582-3. "Quand Linus lui-même a entendu dire que nous incluions cela, il voulait s’assurer que le monde comprenait qu’il n’avait aucune animosité envers Tanenbaum et qu’il n’aurait en fait pas sanctionné son inclusion si nous n’avions pas pu le convaincre que cela montrerait la façon dont le monde pensait à la conception des systèmes d’exploitation à l’époque. " >>

acidburn0zzz.github.io