Pourquoi Tanenbaum s'est-il trompé dans les débats Tanenbaum-Torvalds?

233

On m'a récemment confié la lecture des débats de Tanenbaum-Torvalds dans ma classe de système d'exploitation. Dans les débats, Tanenbaum fait certaines prédictions:

  1. Les micro-noyaux sont l'avenir
  2. x86 s'éteindra et les architectures RISC domineront le marché
  3. (Dans 5 ans) tout le monde utilisera un système d’exploitation GNU gratuit

J'avais un an lorsque les débats ont eu lieu et je manque donc d'intuition historique. Pourquoi ces prédictions ne se sont-elles pas révélées? Il me semble que, du point de vue de Tanenbaum, ce sont des prédictions assez raisonnables pour l'avenir. Que s'est-il passé pour qu'ils ne se réalisent pas?

Robz
la source
189
Lorsque vous prédisez l'avenir, privilégiez l'entropie et la chance par rapport à l'innovation et aux idéaux.
zzzzBov
18
J'ai écrit ici une réponse un peu marathon couvrant le terrain du point 1. En fait, il est assez difficile d'éviter ce débat lors de la discussion des différences entre les architectures de noyau. L'ironie la plus douce est en fait la signature, Linus "my first, and hopefully last flamefest" Torvaldsqui n'a évidemment pas été réalisée aussi.
Tim Post
13
Je laisse cela comme un commentaire plutôt que comme une réponse (je ne pense pas que ce soit assez "élaboré" pour être une réponse): Tanenbaum n'a pas tort de croire que les Micro-noyaux sont meilleurs, que x86 devrait quitter l'arène et que le système d'exploitation GNU (quel que soit le noyau sur lequel il fonctionne) était une meilleure solution. Il était peut-être naïf s'il affirmait réellement qu'il était persuadé que cela se produirait rapidement (ou du tout), en partie à cause de l'inertie sociale et des monopoles, et en partie parce que des micro-noyaux efficaces ne sont pas si faciles à mettre en œuvre dans les systèmes polyvalents . (alors oui, bonne chance )
njsg
15
Tanenbaum n’a pas totalement tort: ​​dans la nouvelle ère post PC, iOS est basé sur Mach et ARM, Android sur L4 et ARM. Seul GNU a perdu.
mouviciel
15
@mouviciel: et GNU ne sont perdus que sur le bureau. Les serveurs mobiles et embarqués sont pratiquement tous les monopoles de GNU.
gbjbaanb

Réponses:

171

Les micro-noyaux sont l'avenir

Je pense que Linus a touché les points sur les noyaux monolithiques dans son débat. Certaines leçons tirées de la recherche sur les micro-noyaux ont certainement été appliquées aux noyaux monolithiques. Microsoft avait parfois l'habitude de prétendre que le noyau Win32 était une architecture de micro-noyau. Il est un peu exagéré de regarder certains micro-noyaux manuels, mais les revendications avaient une justification technique.

x86 s'éteindra et les architectures RISC domineront le marché

Si vous sauvegardez à partir de postes de travail et de serveurs, RISC domine le marché des processeurs, quelle que soit leur mesure. ARM (R = RISC) dépasse le nombre de processeurs x86, il y a plus de processeurs ARM que de processeurs x86 et la capacité de calcul totale ARM est supérieure à la capacité de calcul x86. Cette année, un seul fournisseur ARM (ouais, Apple) pourrait être mieux vendu que tous les fournisseurs x86 combinés. X86 domine uniquement dans l’espace bureau et serveur. Tant que Windows est la plate-forme dominante pour les ordinateurs de bureau et Linux pour les serveurs, il est probable que cela reste vrai pendant un certain temps.

Il y a une partie b à cela aussi. Les ingénieurs d’Intel ont fait un travail incroyable pour extraire la vie de leur jeu d’instructions, allant même jusqu’à créer un noyau RISC avec un traducteur de code opération qui se trouve au-dessus. Comparez avec l'un des principaux fabricants de puces de bureau RISC, IBM, qui n'a pas pu obtenir un G5 économe en énergie et hautes performances pour les ordinateurs portables Apple dans un délai raisonnable.

(Dans 5 ans) tout le monde utilisera un système d’exploitation GNU gratuit

Je pense que les différents fournisseurs de systèmes d’exploitation proposent toujours des propositions de valeur convaincantes sur leurs systèmes d’exploitation. GNU n'est même pas nécessairement le joueur le plus important de la communauté Open Source, aussi une adoption plus répandue des logiciels open source ne s'est-elle pas traduite par des systèmes d'exploitation GNU. Pourtant, il y a beaucoup de choses sur GNU (tous les Mac sont livrés avec Bash de GNU , par exemple. Il existe probablement des outils système GNU sur les téléphones Android). Je pense que l'écosystème informatique est beaucoup plus diversifié que ne le prévoyait Tanenbaum, même lorsque vous limitez votre vue aux ordinateurs de bureau.

moins
la source
8
Au point 3, linux est très répandu, probablement le système d’exploitation le plus utilisé, Windows et VxWorks. Donc, le point 3 peut être considéré comme vrai. Cela rend 2 points corrects sur 3, ce qui est très bon compte tenu de l'informatique imprévisible.
deadalnix
11
@deadalnix - Je voulais faire une mention explicite de la portée sur 3, en se limitant aux ordinateurs de bureau. Si une batterie de serveurs Google exécute Linux (si?) Et que chaque boîte compte pour le nombre Linux, et que mon modem câble exécute une version simplifiée des comptes Linux, et que mon téléphone Android compte, Linux domine probablement. Mais bien que j'ai vu de beaux graphiques de processeurs ARM vs x86 vendus / utilisés au fil du temps, je n'en ai pas vu pour les systèmes d'exploitation, en particulier lorsque vous mélangez des périphériques intégrés.
ccoakley
6
Toujours en ce qui concerne la partie 2, les différentes modernisations x86 vont au-delà de RISC et réalisent des opérations fascinantes avec des "micro-opérations" en interne, qui offrent une flexibilité encore meilleure en matière de planification avec la réorganisation des instructions à la volée, ce qui améliore considérablement les performances. au-delà de ce dont les adhérents RISC peuvent même rêver. Les processeurs RISC pourraient également l’obtenir, mais pour l’instant, vous ne comparez pas RISC contre CISC, vous comparez diverses stratégies JIT en matériel avec des interfaces ISA assez abstraites.
moelleux
5
@KonradRudolph recréant la citation des ventes totales via Google: 3 milliards de puces ARM expédiées en 2009 ( vanshardware.com/2010/08/mirror-the-coming-war-arm-versus-x86 ), tandis que le nombre de puces x86 vendues est estimé à 400 millions en 2011. (4 fois le nombre trimestriel indiqué ici: computerworlduk.com/news/it-business/3345299/… ). Le marché des solutions intégrées est énorme et largement non-Intel.
ccoakley
5
Je ne pense pas que le point 3 soit vrai en ce sens que Tanenbaum voulait dire. À l’époque, GNU HURD suscitait beaucoup d’optimisme. Revendiquer Linux (quelle que soit sa variante) comme une victoire de GNU OS n’est tout simplement pas valable. Espace utilisateur? Sûr. Mais dans un sens, le noyau Linux l’a emporté malgré GNU.
regularfry
60

Les experts en logiciels ont ignoré les aspects économiques du matériel

... ou "Moore avait raison et ils avaient tous deux tort"

La plus grande chose qui a été négligée dans ce débat a été l’impact de la technologie de fabrication des processeurs et de l’économie, entraîné par la réduction de la taille des transistors exprimée dans la loi de Moore (ce qui n’est pas surprenant car ils en savaient beaucoup sur le matériel du Fabrication de CPU ou économie). Les coûts de fabrication fixes qui sont amortis sur les CPU (par exemple, la conception ISA, la conception de CPU et les installations de production de CPU) ont rapidement augmenté, augmentant ainsi la valeur des économies d'échelle; avec des coûts de processeur par unité (en termes de "rapport qualité-prix" et de "rendement pour le watt"), le coût d'un processeur ne doit pas nécessairement être amorti sur une sélection aussi étendue de fonctions pour offrir une valeur ajoutée, de sorte que l'informatique dans les produits avec fonction fixe a explosé; Les budgets des transistors CPU ont augmenté de manière exponentielle,

1. L'échelle de l'unité centrale l'emporte sur la diversité de l'unité centrale

L'importance des économies d'échelle a permis de faire en sorte que les avantages d'un processeur ISA / CPU ciblant un marché plus vaste (et donc plus large) l'emportent sur les avantages potentiels des choix de conception qui restreignent le marché d'un processeur ISA / CPU. Les OS peuvent prendre en charge des parts de marché de plus en plus grandes par processeur ISA / CPU pris en charge. Par conséquent, les exercices de portage sont peu nécessaires (voire nuls) pour permettre à un écosystème OS de prospérer. Les domaines problématiques Les cibles d'ISA et de CPU ont tendance à être si larges qu'elles se chevauchent généralement. Ainsi, pour tout logiciel au-delà d'un compilateur, la taille des exercices de portage a également diminué. On peut dire que Torvalds et Tanenbaumsurestimé la partie de la conception et de la mise en œuvre du noyau qui doit maintenant être spécifique à ISA ou même au processeur. Comme Tanenbaum l'a décrit, les noyaux d'OS modernes font abstraction des distinctions entre les CPU et les ISA. Cependant, le code spécifique au processeur / ISA dans les systèmes d'exploitation modernes est beaucoup plus petit qu'un micro-noyau. Plutôt que de mettre en œuvre le traitement / ordonnancement des interruptions, la gestion de la mémoire, la communication et les E / S, ces bits non portables ne représentent qu'une infime partie de la mise en œuvre de ces services, même la grande majorité de l'architecture de ces fonctions de base du système d'exploitation est portable.

2. Open Source a remporté la bataille, mais a perdu la guerre

Plus rentable signifie qu'une part plus importante de l'informatique est réalisée par des produits à fonction fixe, où la possibilité de modifier le produit ne fait pas partie de la proposition de valeur pour le client. Ironiquement, l’open source s’épanouit dans ces dispositifs à fonction fixe, mais le plus souvent, les utilisateurs de ces produits tirent davantage parti de ces libertés, plutôt que les utilisateurs finaux (ce qui était encore vrai du marché du logiciel à l’époque: Microsoft était un gros consommateur de logiciels open source, mais leurs clients ne l'étaient pas). De même, on pourrait affirmer que l'open source a plus de mal à occuper les postes de travail généraux que partout ailleurs, mais à mesure que le Web et le cloud computing se développaient, l'informatique de bureau était de plus en plus utilisée à des fins plus étroites (principalement par le biais d'un navigateur), les autres fonctions étant exécutées dans le nuage (ironiquement, principalement sur des plates-formes open source). En bref: l'open source est vraiment propriétaire de l'espace informatique à usage général, mais le marché est devenu plus sophistiqué; moins souvent que les emballages de produits informatiques s'arrêtent à la fonction d'usage général, mais continuent pour les produits destinés aux fonctions fixes, où une grande partie de l'avantage de l'informatique à source ouverte est en contradiction avec les objectifs du produit.

3. 2 n Croissance signifie fixe k L'épargne n'est pas importante

La croissance exponentielle des budgets de transistors a conduit à la prise de conscience du fait que le coût du budget de transistors d’une architecture CISC est presque totalement fixe. L’avantage stratégique de RISC réside dans le fait qu’il élimine la complexité du jeu d’instructions de la CPU au compilateur (sans doute en partie motivée par le fait que les rédacteurs de compilateur tiraient un bien meilleur profit des ISA complexes que du codage par les développeurs humains dans l’assemblage, mais les compilateurs pouvaient beaucoup plus facilement raisonner. mathématiquement sur, et donc exploitent, un ISA plus simple); les économies de transistors obtenues pourraient ensuite être appliquées à l'amélioration des performances du processeur. La mise en garde était que les économies de budget des transistors générées par un ISA plus simple étaient en grande partie fixes (et que la conception du compilateur comportait également des frais généraux). Alors que cet impact fixe constituait une énorme partie du budget de la journée, Comme on peut l’imaginer, il ne faut que quelques cycles de croissance exponentielle pour que l’impact devienne trivial. Cet impact en déclin rapide, combiné à l'importance croissante susmentionnée de la monoculture de CPU, ne laissait qu'une très petite fenêtre d'opportunité pour toute nouvelle ISA de s'établir. Même là où les nouvelles ISA ont réussi, les ISA "RISC" modernes ne sont pas les ISA orthogonales décrites dans la stratégie RISC, car la croissance continue des budgets de transistors et l’applicabilité plus large du traitement SIMD en particulier ont encouragé l’adoption de nouvelles instructions adaptées à des fonctions spécifiques. Cet impact en déclin rapide, combiné à l'importance croissante susmentionnée de la monoculture de CPU, ne laissait qu'une très petite fenêtre d'opportunité pour toute nouvelle ISA de s'établir. Même là où les nouvelles ISA ont réussi, les ISA "RISC" modernes ne sont pas les ISA orthogonales décrites dans la stratégie RISC, car la croissance continue des budgets de transistors et l’applicabilité plus large du traitement SIMD en particulier ont encouragé l’adoption de nouvelles instructions adaptées à des fonctions spécifiques. Cet impact en déclin rapide, combiné à l'importance croissante susmentionnée de la monoculture de CPU, ne laissait qu'une très petite fenêtre d'opportunité pour toute nouvelle ISA de s'établir. Même là où les nouvelles ISA ont réussi, les ISA "RISC" modernes ne sont pas les ISA orthogonales décrites dans la stratégie RISC, car la croissance continue des budgets de transistors et l’applicabilité plus large du traitement SIMD en particulier ont encouragé l’adoption de nouvelles instructions adaptées à des fonctions spécifiques.

4. Simple: séparation des préoccupations. Complexe: Séparation de l'espace d'adressage.

Le noyau Linux moderne (comme la plupart des autres noyaux) correspond à la définition plutôt vague du macro-noyau et non à la définition plutôt étroite du micro-noyau. Cela dit, avec son architecture de pilotes, ses modules chargés de manière dynamique et ses optimisations de multitraitement qui rendent les communications spatiales dans le noyau de plus en plus similaires à la transmission des messages par un micro-noyau, sa structure ressemble plus à une conception de micro-noyau (telle qu'incarnée par Minix) qu'à la conception de macro-noyau (telle qu'incarnée par la conception de Linux au moment de la discussion). À la manière d'un micro-noyau, le noyau Linux fournit une communication généralisée, la planification, la gestion des interruptions et la gestion de la mémoire pour tous les autres composants du système d'exploitation. ses composants ont tendance à avoir un code et des structures de données distincts. Alors que les modules sont chargés dynamiquement, Des morceaux de code portable faiblement couplés, qui communiquent via des interfaces fixes, n'utilisent plus une propriété des micro-noyaux: ils ne sont pas des processus d'espace utilisateur. À la fin, la loi de Moore garantissait que les problèmes liés au matériel, tels que la portabilité (une préoccupation de Tanenbaum) et la performance (une préoccupation de Torvalds), diminuaient, mais que les problèmes de développement de logiciels devenaient d'une importance primordiale. Les avantages non réalisés restants qu'une séparation d'espaces d'adresses pourrait fournir sont compensés par les bagages supplémentaires imposés au logiciel du système d'exploitation en raison de limitations de conception et de la complexité accrue des interfaces de composants. s Law garantissait que les problèmes liés au matériel, tels que la portabilité (une préoccupation de Tanenbaum) et les performances (une préoccupation de Torvalds), diminuaient, mais que les problèmes de développement de logiciels devenaient d'une importance primordiale. Les avantages non réalisés restants qu'une séparation d'espaces d'adresses pourrait fournir sont compensés par les bagages supplémentaires imposés au logiciel du système d'exploitation en raison de limitations de conception et de la complexité accrue des interfaces de composants. s Law garantissait que les problèmes liés au matériel, tels que la portabilité (une préoccupation de Tanenbaum) et les performances (une préoccupation de Torvalds), diminuaient, mais que les problèmes de développement de logiciels devenaient d'une importance primordiale. Les avantages non réalisés restants qu'une séparation d'espaces d'adresses pourrait fournir sont compensés par les bagages supplémentaires imposés au logiciel du système d'exploitation en raison de limitations de conception et de la complexité accrue des interfaces de composants.

Fait intéressant, ce qui a été une tendance forte est l’émergence de l’hyperviseur, qui, tout comme les micro-noyaux, fait abstraction du matériel. Certains prétendent que les hyperviseurs sont des micro-noyaux. L’architecture de l’hyperviseur est différente, car les responsabilités qui incombent à des micro-noyaux sont gérées par les noyaux "invités", au sommet desquels se trouvent des hyperviseurs multiplexés.

En conclusion: l'avenir favorise ceux qui adoptent la sémantique la moins stricte

* .. ou "Nullpickers sucer à prédire l'avenir"

Dans la pratique, une grande partie du bien / du mal dans le débat est une question de sémantique (et cela faisait partie des arguments de Torvalds et IMHO Tanenbaum n’a pas pleinement compris). Il est difficile d’établir des définitions précises de l’avenir car de nombreux facteurs en dehors de l’argument peuvent intervenir. Une sémantique plus souple signifie que vos prédictions sont une cible plus grande sur le tableau de fléchettes que les autres gars, vous offrant ainsi de meilleures chances. Si vous ignorez la sémantique, les arguments avancés par Torvalds et Tanenbaum étaient corrects à propos de beaucoup de choses et erronés à propos de très peu de choses.

tl; dr

La plupart des ISA ne correspondent pas à la définition sémantique de RISC, mais exploitent la plupart des avantages de conception qui caractérisaient les CPU RISC à l'époque. la quantité de système d'exploitation spécifique au processeur est inférieure à celle attendue par Tanenbaum, sans parler de Torvalds; l'open source domine l'informatique à usage général, mais les consommateurs de ce marché sont principalement ceux qui intègrent l'informatique à des produits à fonction fixe, où une grande partie des avantages des logiciels open source ne sont pas réalisés; Séparer la fonction du système d'exploitation entre les espaces d'adresses ne s'est pas avéré bénéfique, mais la séparation de la fonction du système d'exploitation entre le matériel "virtuel" l'a été. Si vous voulez affirmer que vos prédictions se sont avérées correctes, laissez-vous le plus de marge possible pour les manœuvres sémantiques, tout comme M. Torvalds.

PS Une dernière observation ironique: Linus Torvalds est l’un des plus fervents partisans de la conservation du plus grand nombre possible de nouvelles fonctionnalités dans l’espace utilisateur et hors du noyau Linux.

Christopher Smith
la source
42
  • Les micro-noyaux sont l'avenir

Il s'est trompé, il semble que tout converge vers l'utilisation de noyaux hybrides. Linux est toujours formellement monolithique, mais l’ajout d’objets tels que FUSE, etc., lui donne un aspect hybride.

  • x86 s'éteindra et les architectures RISC domineront le marché

Ok, donc x86 n'a pas disparu. Mais RISC ne domine-t-il pas le marché? Des milliards de smartphones utilisant ARM, toutes les consoles de jeu utilisant des processeurs RISC, la plupart du matériel réseau utilisant des processeurs MIPS.

De plus, au début des années 2000, RISC et le CDCI ont tellement convergé qu’il n’y avait pas de différences nettes dans la conception interne. Les processeurs x86 modernes sont essentiellement des RISC internes avec une interface CISC.

  • (Dans 5 ans) tout le monde utilisera un système d’exploitation GNU gratuit

Si par GNU OS il entendait GNU Hurd, alors une prédiction totalement fausse. Ce que les gens utilisent massivement, c'est Android. Android est Linux, mais ce n'est pas GNU, car il n'utilise pas GNU libc. Au lieu de cela, il utilise le propre Bionic de Google . Et la part de marché de Linux de bureau standard est toujours inférieure à 2%. Mais parlait-il vraiment de PC grand public? Sur le marché des serveurs, Linux domine absolument avec 70 à 90% des parts, en fonction du segment.

vartec
la source
5
"Sur le marché des serveurs, Linux domine avec 70% à 90% des parts, en fonction du segment." Où est la preuve pour ça?
quant_dev
4
Les chiffres de vartec sont probablement exagérés. Je vais laisser ça ici fr.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca
4
@quant_dev: 92% des serveurs Top500, 60 à 70% des serveurs Web, infrastructure complète de Google, infrastructure FB complète, infrastructure Amazon complète, etc.
vartec
1
Pouvez-vous fournir des liens pour sauvegarder vos déclarations?
quant_dev
13
Top500: i.top500.org/stats , Google: lwn.net/Articles/357658 , Amazon: news.cnet.com/2100-1001-275155.html , FB: http: /www.infoq.com/presentations/Facebook -Software-Stack
vartec
21
  1. Pas certain.

  2. Demi-droite. Les puces «x86» actuelles sont des RISC sous le capot, avec essentiellement une «interface CISC». x86 ne s'est pas éteint parce qu'Intel avait une part de marché et un chiffre d'affaires suffisants pour effectuer cette transition et la réaliser correctement avant que d'autres solutions RISC ne capturent une part de marché importante.

  3. Deux raisons principales: compatibilité et facilité d'utilisation.

    Encore une fois, les systèmes existants (Windows et, dans une moindre mesure, Mac OS) ont une base installée très importante. Cela signifie que beaucoup d'utilisateurs utilisent beaucoup de programmes. Les systèmes d'exploitation GNU gratuits ne peuvent pas dupliquer cela. Le projet WINE a beaucoup travaillé dans cette direction, mais il ne remplace toujours pas un système Windows réel, et les développeurs de WINE n'essaient même pas de prétendre le contraire. Les gens ne veulent pas utiliser un système d'exploitation qui n'exécutera pas leurs programmes favoris, aussi génial soit-il. (Et sans base d'utilisateurs installée, personne ne veut développer pour le système. C'est un problème de poule à l'oeuf.)

    Et puis nous arrivons à la convivialité. Ma mère a un système Windows. Elle peut l'utiliser parfaitement pour ses besoins. Tout ce dont elle a besoin pour travailler avec son ordinateur est disponible à partir de l’interface Windows. Si je lui utilisais les mots "ligne de commande", elle ne saurait même pas de quoi je parle. Autant que je sache, il n’est toujours pas possible de le faire sur un système d’exploitation GNU libre. En fait, il est si difficile de travailler avec Linux que même le plus grand des demi-dieux de la communauté a parfois de gros problèmes avec des tâches simples. Et ils ne semblent jamais «comprendre» et travaillent pour résoudre les problèmes, ce qui explique pourquoi ils ne gagnent jamais de parts de marché. (L'article lié devrait être une lecture obligatoire pour quiconque tente de produire un programme grand public!)

Mason Wheeler
la source
16
-1 pour un article de blog datant d'il y a 8 ans, ce qui n'est plus pertinent.
vartec
16
@Vartec: N'est plus pertinent? Faites-vous sérieusement l’affirmation selon laquelle un utilisateur peut choisir Linux aujourd’hui et commencer à exécuter le répertoire complet des tâches courantes des utilisateurs finaux sans même avoir à savoir qu’une ligne de commande existe, comme ils le peuvent sous Windows ou OSX?
Mason Wheeler
17
@Mason: quand as-tu vu pour la dernière fois par exemple Ubuntu? Il est plus facile d'effectuer une tâche commune d'utilisateur final sur Ubuntu sans connaître la console, que sur OSX (enfin, sur OSX, rendre les fichiers cachés visibles nécessite un doctorat en nérdologie). Dans Ubuntu, ça marche. Sous Windows, vous devez installer des pilotes ou autre chose. Dans OSX, ça ne marche pas. BTW. votre mère utilise-t-elle RegEdit :-P
vartec
8
@ MasonWheeler: bien sûr. Tout le monde peut ramasser Ubuntu et l' utiliser avec aucune substance de ligne de commande du tout . Mon colocataire - certainement pas très doué en technologie - n'a eu aucun problème pour passer de Windows à Ubuntu. Les autres personnes que je connais qui utilisent Ubuntu - dont l’expérience varie mais qui ne sont pas toutes des experts - n’ont eu aucun problème non plus. Mon ancien compagnon de chambre l’année dernière a eu plus de problèmes avec son Mac que mon compagnon de chambre actuel avec Ubuntu, avec des niveaux d’expérience informatique similaires. (Même l’impression était de loin plus facile sous Linux que sous Mac!) Ainsi, le tout en ligne de commande Linux est une fausse représentation.
Tikhon Jelvis
18
@MasonWheeler: Etes-vous sérieusement en train d'affirmer qu'un utilisateur peut aujourd'hui choisir Windows et configurer une imprimante réseau?
Christoffer Hammarström
14

Je pense qu'il y a plusieurs raisons assez sérieuses, mais qui n'ont pas été mentionnées.

La première est l'hypothèse plutôt aveugle de Tanenbaum selon laquelle la supériorité technique conduirait à la domination du marché. Les gens se disputent depuis des années pour savoir si les micro-noyaux (nanokernels, picokernels, etc.) sont techniquement supérieurs, mais pour le moment, supposons qu’ils le soient. Nous nous demandons toujours si cette supériorité technique est susceptible de se traduire par une domination du marché. Je vais poser que ce n'est pas. Pour la plupart des gens, Windows, Mac OS, etc. sont suffisants. Pire encore, les améliorations qui feraient une différence significative pour la plupart des utilisateurs concerneraient l'interface utilisateur, et non le noyau.

La seconde consiste à surestimer considérablement le taux de changement sur un marché (raisonnablement) mature. Il est assez facile de changer les choses rapidement si vous avez un nouveau marché. Pour que pratiquement tout le monde soit changé en cinq ans, la migration aurait dû se dérouler à toute vitesse, même s'il l'avait prédit.

Je noterais également une autre manière dont il avait raison et que je n'ai pas vue mentionnée. Les gens ont déjà noté l'omniprésence de RISC (par exemple, dans les téléphones cellulaires). Ce qu'ils n'ont pas mentionné, c'est l'omniprésence de ce que j'appellerais "microkernel 2.0". Ceci est maintenant plus souvent appelé "machine virtuelle" ou "hyperviseur". Ce sont vraiment des micro-noyaux.

La grande différence est que Tanenbaum a pensé à un micro-noyau et à une émulation de système d'exploitation en mode utilisateur conçus spécifiquement l'un pour l'autre. Au lieu de cela, nous avons essentiellement maintenu le système d'exploitation inchangé et conçu le micro-noyau pour l'exécuter tel quel. Ce n’est pas aussi agréable techniquement, mais du point de vue du marché, il est nettement supérieur - au lieu d’un tout nouveau système, l’utilisateur peut continuer à utiliser la majeure partie de son code existant tel quel, et simplement ajouter un nouveau "utilitaire" qui se trouve être vraiment un système d'exploitation micro-noyau.

Jerry Coffin
la source
8

Une des principales raisons était Windows, en particulier Windows 3.1 et un peu plus tard, Windows 95 et NT 3.51. Les consommateurs ont particulièrement apprécié les interfaces graphiques, contrairement aux anciens systèmes Unix et DOS à base de texte. Cela signifiait que plus de personnes en moyenne achèteraient des ordinateurs pour un usage domestique. En outre, l'explosion d'Internet au milieu des années 90 a entraîné une augmentation des ventes.

Les prix des ordinateurs personnels ont également baissé au cours des années 90 jusqu'à ce qu'ils atteignent le point où ils se trouvent aujourd'hui. Cela était dû aux économies d’échelle présentées par une demande accrue des consommateurs et des entreprises. Par exemple, mes cinq ordinateurs actuels coûtent moins cher que le 486 ordinateurs de bureau que j'ai acheté en 1992.

D'une certaine manière, il a peut-être raison mais dans une direction inattendue. La montée en puissance des appareils mobiles, des smartphones et des tablettes a partiellement contribué à la simplification des systèmes d’exploitation et pourrait réduire l’importance de x86. Cependant, ils vont bien au-delà de ce qui avait été prédit en 1992.

jfrankcarr
la source
7

En fin de compte, tout se résume au fait que les choses n’aiment pas vraiment changer.

Nous n'avons pas migré vers un micro-noyau mieux architecturé, car les monolithiques étaient plus faciles à créer, tournaient plus vite et tout le monde savait comment les construire. De plus, étant donné que Linux a été développé en tant que noyau monolithique et est devenu populaire, aucun micro-noyau n’a connu le succès escompté. (c'est un peu la même raison pour laquelle nous utilisons tous Windows, nous utilisons Windows car tout le monde exécute Windows)

RISC, d’autres ont fait remarquer que x86 est à peu près une architecture RISC de nos jours, avec un wrapper CISC au-dessus pour une compatibilité ascendante.

Beaucoup de gens utilisent un système d’exploitation GNU gratuit - sur le serveur. Le Web en est à peu près le moteur. Personne ne le remarque car tous les clients sont Windows. À cette époque, vous aviez le choix: Linux était encore un système d'exploitation amateur; une saveur d'Unix mais vous ne pouviez pas vous permettre de l'acheter; ou pas cher n joyeux Windows. Linux a mis trop de temps à remplacer Unix et n'a toujours pas assez de solution convaincante pour fonctionner sur le bureau (en partie à cause de problèmes idéologiques avec différents systèmes Windows, de pilotes graphiques binaires et de l'absence d'une ABI stable). Cela se passe plutôt bien dans d'autres marchés non liés aux ordinateurs de bureau, tels que celui des systèmes intégrés et mobiles.

gbjbaanb
la source
6

Tous sont vrais si vous ne pensez pas qu'un ordinateur est quelque chose sur votre bureau.

  1. C'est vrai - les micro-noyaux n'ont jamais fonctionné parce qu'ils n'étaient jamais assez micro. Si la totalité de votre Linux intégré est plus petite que le bit x86 spécifique du noyau MACH, la question des micro-noyaux est-elle pertinente?

  2. RISC domine le marché. Plus de processeurs ARM sont vendus chaque année que les processeurs X86. Vous n'êtes probablement jamais à plus de 6 pieds d'un processeur ARM.

  3. Presque tout le monde utilise Linux, que ce soit dans son routeur, sa TV setop, son Tivo et son téléphone Android - ils ne savent tout simplement pas qu'ils ont un système d'exploitation

Martin Beckett
la source
4
"Les micro-noyaux n'ont jamais fonctionné parce qu'ils n'étaient jamais assez micro"> Si je comprends bien, le mot "micro" ne fait pas nécessairement référence à des octets ou des lignes de code. L'idée est de pousser les fonctionnalités dans l'espace utilisateur, ce qui minimise les services fournis par le noyau lui-même. Par exemple, un système avec un micro-noyau aurait un processus utilisateur dédié à la gestion du système de fichiers. Donc, l'existence d'une version allégée de Linux qui est plus petite que minix n'est pas vraiment pertinente.
Robz
1
La taille de @Robz est pertinente: le but d'un micro-noyau est de vous donner la portabilité et d'activer certains cas extrêmes (comme l'exécution de deux environnements de système d'exploitation simultanément sur une machine sans virtualisation). Si le micro-noyau est plus gros qu'un hybride / monolithe limitant les plateformes sur lesquelles il peut être déployé, il tend à détruire l'argument voulant qu'il soit plus facile d'obtenir la portabilité en écrivant un petit composant s'il n'est pas plus petit que l'alternative.
Marcin
4

1) Il s'est trompé sur les micro-noyaux. D'après ce que j'ai compris, l'exigence de rapidité l'emporte sur la séparation des préoccupations imposée dans les micro-noyaux, du moins dans le noyau Linux.

2) L'architecture prédominante dans les tablettes et les téléphones mobiles est ARM, qui est un jeu d'instructions RISC. Même Windows a été porté.

3) Tout le monde n’exécute pas un système d’exploitation GNU libre. Ceci est principalement dû aux brevets et à la compatibilité ascendante. Ceux qui ne veulent pas de Windows choisissent fréquemment OS X.

utilisateur1249
la source
1) La vitesse comptait encore plus à l'époque! Je ne suis pas sûr que cela aurait tellement d'importance aujourd'hui.
gbjbaanb
Cela dépend de l'endroit où se trouvent vos goulots d'étranglement.
Lorsque votre seule exigence est "être plus rapide que l'autre", cela ne devient pas plus facile avec le temps. À mon sens, HURD aurait pu devenir une option viable très rapidement après Linux, et ils l'ont raté en perdant du temps sur un port de L4 à Mach.
regularfry
2

1. Microkernels a échoué

Pour les raisons que Linus Torvalds a exposées, sur le papier, il semble théoriquement attrayant, mais sa mise en oeuvre sur des systèmes modernes - systèmes très complexes - rend la complexité impossible à gérer de façon exponentielle. L’étude de cas est GNU Hurd, un système entièrement à micro-noyau qui n’a même pas réussi à atteindre les fonctions de base. La structure de Mac OS X est similaire à celle de Hurd. Il s'agit du système d'exploitation le moins stable et le plus contraint du marché.

2. Architecture du processeur

Ceci est devenu diversifié pour divers cas d'utilisation. Une architecture de processeur n’a pas dominé car les cas d’utilisation embarqués, mobiles, de bureau, de serveur, etc. sont différents et nécessitent des approches différentes. Tannenbaum n'a pas vu cette diversification.

3. GNU vs Monde?

GNU ne dominait pas, mais Linux le faisait sur serveur, embarqué et mobile. Les tablettes et téléphones Apple fonctionnent sous iOS, ce qui est tout simplement un vieil Unix. Il est difficile d’obtenir des statistiques précises pour les déploiements Linux sur poste de travail car il n’existe pas de véritable mécanisme central - la vente d’unités - pouvant donner une valeur exacte. La plupart des déploiements Linux sur le bureau sont parfois enregistrés en tant que déploiements Windows car les utilisateurs achètent un système Windows et l'écrivent ensuite avec Linux. Toutefois, si vous segmentez les systèmes d’exploitation, alors que Linux a environ 5 à 6% du nombre total de postes de travail sur le bureau, selon http://www.w3schools.com/browsers/browsers_os.asp , ce qui correspond au nombre d’utilisateurs de Windows Vista dans le monde, ce qui est très significatif. .

D'après mes propres estimations provenant de diverses sources, il semble que Linux sur le bureau puisse en réalité être égal au nombre d'utilisateurs de Windows XP - environ 25% - si vous comptez des pays non occidentaux comme la Chine et l'Inde où Linux est plus populaire que dans États-Unis ou de l’UE mais qui pourraient ne pas être comptés dans les statistiques occidentales car ils ne comptent que le trafic sur des sites Web anglophones destinés aux Occidentaux.

En Inde, la plupart des étudiants utilisent Ubuntu ou Fedora, car il s’agit du système d’exploitation par défaut des systèmes d’enseignement indiens et du célèbre IIT. La plupart des bureaux du gouvernement indien utilisent également Linux. En Chine, Red Flag Linux est l’OS officiel du gouvernement et des systèmes scolaires chinois - les Académies des arts et des sciences - et l’OS recommandé en Chine par les médias gérés par l’État pour empêcher les jeunes Chinois appauvris d’utiliser des copies piratées de Windows. Si vous tenez compte de l'utilisation de Linux en Inde et en Chine, cela choquerait la plupart des experts en technologie occidentaux et changerait radicalement la perception de la véritable domination de l'ordinateur Linux dans les pays en développement non occidentaux où il est dominant.

AG Restringere
la source
1
La réalité est que Windows est en train d'être massacré sur le système d'exploitation pour le bureau et le serveur. Si vous pensez que seulement 45% environ des utilisateurs utilisent Windows 7, cela signifie que l'adoption d'un nouveau système d'exploitation Windows réduit chaque cycle de mise à niveau Windows de 10 à 15% et que les utilisateurs conservent l'ancienne version ou optent pour Mac ou Linux. La situation est encore pire pour les serveurs, chaque mise à niveau de serveur Windows allant de 20 à 30% des utilisateurs passant immédiatement à des grappes de serveurs Linux ...
AG Restringere
1
Excellent article sur ce qui précède ... focus.com/fyi/50-places-linux-running-you-might-not-expect
AG Restringere Le
1

La production est devenue moins chère, le x86 étant si proche du prix du RISC qu'il n'était plus envisageable de l'utiliser. Il y avait aussi un petit lock-in vendeur.

Lucas Kauffman
la source
Je ne pense pas que le pilote de RISC fût jamais un prix, mais bien que les architectures RISC étaient mieux conçues que x86. Malheureusement, MIPS et SPARC n’ont jamais très bien progressé et DEC n’a plus d’argent avant que l’Alpha obtienne suffisamment de parts de marché pour peser. Intel était capable de générer pas mal de performances sur x86, il n'y avait donc vraiment aucune raison impérieuse de changer (pour la plupart des gens). Maintenant que les performances sont mesurées en termes de watts au lieu de MHz, x86 commence à glisser lentement vers son absence de pertinence.
TMN
Oui, je sais, je viens de dire pourquoi RISC a augmenté beaucoup plus rapidement que RISC au début. Bien sûr, ces temps-ci, cela a beaucoup changé.
Lucas Kauffman
1
  1. Les micro-noyaux remplacent les appels de méthodes par des messages inter-processus, ce qui ajoute à la complexité du développement pour certains avantages hypothétiques. En fin de compte, une bonne composition permet d’obtenir les mêmes avantages, même si tout se déroule dans le même processus.
  2. La question n'est plus pertinente. Les architectures CISC n'existent plus, tous les processeurs modernes sont RISC dans leur cœur, mais cela n'a pas tué le jeu d'instructions x86. Les processeurs x86 depuis l'ère Pentium-Pro (il y a 17 ans) utilisent la conversion de code opérationnel pour permettre à un noyau essentiellement RISC de ressembler de l'extérieur à un processeur x86.
  3. Le pire est le mieux . Les effets d'itération, de pragmatisme, de réseau et d'écosystème battent la pureté à chaque fois.
Coin
la source
1

Les micro-noyaux sont le futur x86 va disparaître et les architectures RISC vont dominer le marché (dans 5 ans) tout le monde utilisera un système d’exploitation GNU gratuit

Cela dépend de la façon dont vous voyez et définissez l'avenir, au sens traditionnel où ses prédictions ont échoué.

Cependant, le temps n'est pas encore écoulé (une autre discussion plus approfondie est laissée de côté) .

Ainsi, les choses pourraient encore changer:

  1. Les micro-noyaux ou certaines variantes pourraient faire leur retour

  2. RISC / ARM pourrait bien dominer -> tablettes / mobiles

  3. Dans 10 ou 15 ans. Qui sait, l'open source change lentement le monde ..

Darknight
la source
1
Bien sûr, les choses peuvent changer dans le futur. Ma question est de savoir comment le monde est maintenant et pourquoi il n'a pas déjà été tenu compte de ses prédictions.
Robz
Ces raisons ont déjà été énumérées par d'autres. Je vous propose un point de vue différent. Dans le cadre d'une discussion saine, tous les points de vue doivent au moins être pris en compte. Vive longtemps et prospère mon ami.
Darknight
À propos de 3, la différence est que le système d’exploitation GNU n’est plus pertinent. Personne n'utilise le noyau GNU Hurd, et si vous supprimez tous les outils de l'espace utilisateur GNU des ordinateurs de bureau Linux ou OS X, la plupart des gens ne le remarqueront même pas. Si vous regardez d'autres déploiements réussis de systèmes d'exploitation open source (par exemple, les routeurs basés sur Linux et Android), la plupart d'entre eux ne dépendent pas non plus des composants GNU. Il existe de nombreux outils GNU très populaires et utiles, certes, mais ils sont loin de faire partie du "système d'exploitation" utilisé par les utilisateurs.
ehabkost
0

Pour 2: le jeu d'instructions CISIC présente un gros avantage: il est plus compact que le code machine compressé. De nos jours, décoder les instructions de l'ICCA en micro-opérations coûte très peu cher et accéder à la mémoire RAM est très coûteux. Donc, le CDCI a l’avantage d’insérer plus de code dans les caches L1 / L2 / L3

Christian
la source
0

Je me souviens du temps - et du temps qui l'a précédé. Je ne sais pas pour les microkernaux, mais

2) L'idée de RISC reposait sur deux piliers: l'optimisation logicielle pouvait être mieux réalisée dans le logiciel que dans le matériel et les puces RISC pouvaient être fabriquées économiquement plus rapidement que les puces CISC.

Les deux idées se sont révélées fausses à court terme. Intel pouvait, et a fait, des puces CISC cadencées plus rapidement que les puces RISC concurrentes, à un prix concurrentiel. Intel pourrait, et a fait, rendre les puces CISC qui optimisent le programme matériellement mieux que celles du compilateur ou du superviseur d’exécution du logiciel - et toute optimisation logicielle pourrait être ajoutée par-dessus Puce RISC.

3) L'informatique, la programmation et les opérations ont été complètement réinventées 4 fois dans ma carrière. Du cadre principal au PC. De la ligne de commande à l'interface graphique. De l'interface graphique à Internet. D'Internet à l'iPad. La révolution semble normale maintenant, mais NOUS N'AVONS PAS PRÉVU CELA. Comme tous les programmeurs plus âgés à l'époque, il prédit la «fin de l'histoire».

Très peu de personnes utilisaient un système d’exploitation GNU au cours des cinq dernières années, car le décompte avait repris.

Peut-être que ça continue. Il y a 5 ans, vous auriez prédit que notre serveur Windows serait remplacé par des serveurs * nix (à l'heure où j'écris, SAMBA a publié un serveur de domaine AD, qui était la pièce manquante du puzzle). Cela ne se produira pas là où je travaille: nous n’aurons aucun serveur local.

david
la source