1 points par GN⁺ 2024-06-23 | 1 commentaires | Partager sur WhatsApp
  • Andrew S. Tanenbaum, professeur émérite d’informatique à la VU Amsterdam, a reçu l’ACM Software System Award pour MINIX, qui a influencé l’enseignement des systèmes d’exploitation et la conception d’OS
  • MINIX 1.0 était un système d’exploitation UNIX à micro-noyau pour IBM PC, créé en 1987 en parallèle du manuel Operating Systems: Design and Implementation
  • Le MINIX initial comptait environ 12 000 lignes de code et comprenait un micro-noyau, un gestionnaire de mémoire, un système de fichiers et des utilitaires UNIX essentiels ; il est devenu un logiciel libre et open source en 2000
  • MINIX a inspiré Linux, a servi de base à MeikOS et s’exécute aussi à l’intérieur de microprocesseurs largement utilisés
  • L’ACM Software System Award récompense des systèmes logiciels ayant eu un impact durable ; le prix est doté de 35 000 dollars et financé par IBM

Une récompense obtenue grâce à MINIX

  • Andrew S. Tanenbaum, professeur émérite d’informatique à la VU Amsterdam, a reçu l’ACM Software System Award pour MINIX
  • MINIX a servi à enseigner les principes des systèmes d’exploitation à plusieurs générations d’étudiants, et a aussi influencé la conception de systèmes d’exploitation, dont Linux

Les débuts et la composition de MINIX 1.0

  • Tanenbaum a créé MINIX 1.0 en 1987 pour accompagner le manuel Operating Systems: Design and Implementation
  • Il s’agissait d’un petit système d’exploitation UNIX à micro-noyau destiné à l’IBM PC, très populaire à l’époque
  • Le MINIX initial comptait environ 12 000 lignes de code et comprenait les éléments suivants
    • un micro-noyau
    • un gestionnaire de mémoire
    • un système de fichiers
    • des utilitaires UNIX essentiels
  • MINIX est devenu un logiciel libre et open source en 2000

Son influence sur Linux et d’autres systèmes

  • MINIX ne s’est pas contenté d’accompagner le succès du manuel de Tanenbaum : son influence a été bien plus large
  • Il a inspiré Linux, qui est devenu un système d’exploitation open source à succès alimentant des serveurs cloud, des téléphones mobiles et des appareils de l’Internet des objets
  • MINIX a servi de base au système d’exploitation MeikOS pour les ordinateurs basés sur Meikotransputer
  • MINIX s’exécute aussi à l’intérieur de microprocesseurs largement utilisés
  • Une version ultérieure, MINIX 3.0, visait les ordinateurs aux ressources limitées, les ordinateurs embarqués et les applications nécessitant une grande fiabilité

Diffusion de la conception à micro-noyau

  • La défense par Tanenbaum de la conception à micro-noyau a influencé plusieurs générations de concepteurs de systèmes d’exploitation, indépendamment de l’impact direct de MINIX

Nature de l’ACM Software System Award

  • L’ACM Software System Award est décerné à des organisations ou à des personnes ayant développé des systèmes logiciels dont l’impact durable tient à une contribution conceptuelle, à une adoption commerciale, ou aux deux
  • Le prix est doté de 35 000 dollars
  • Le Software System Award est financé par IBM

1 commentaires

 
GN⁺ 2024-06-23
Avis de Hacker News
  • Je n’oublierai jamais ça. Je crois que c’était à Stanford : j’assistais à une conférence du fondateur/CEO de Netflix, Reed Hastings, où il expliquait comment lui était venue l’idée de Netflix.
    Un étudiant lui a demandé : « Quand avez-vous compris qu’il fallait passer à Internet ? » Il a répondu : « Ça faisait partie de l’idée dès le départ. Je savais que les réseaux deviendraient ce qu’ils sont aujourd’hui. Il y a une phrase dans un manuel d’informatique : “Ne sous-estimez jamais la bande passante d’un camion rempli de bandes magnétiques roulant sur l’autoroute.” Nous nous sommes dit qu’il fallait d’abord expédier des DVD, jusqu’à ce que le réseau atteigne le niveau que nous voulions. »
    En entendant ça, je me suis dit : « Waouh ! Je me souviens de cette citation et du dessin. » J’ai cherché dans mon manuel, et c’était bien dans le manuel de réseaux de Tanenbaum. Au-delà de cette anecdote, cet homme a eu une influence énorme sur toute l’industrie, sans même parler du débat sur les kernels.

    • Il y a quelques pistes menant à la source d’origine sur https://en.m.wikipedia.org/wiki/Sneakernet
    • Imaginez la scène : appeler son entreprise Netflix puis déclarer « Internet n’est qu’un effet de mode ».
  • C’est un prix vraiment bien mérité pour un excellent pédagogue, et une excellente nouvelle. J’ai encore son manuel sur les systèmes distribués que je consultais autrefois, et je pense toujours que j’aurais aimé que Minix l’emporte et que ce modèle à microkernel devienne la base de l’écosystème FOSS *nix.
    Pour ceux qui ne le sauraient pas, Andrew tient aussi Electoral Vote [1], un blog de science électorale qui analyse et prédit les élections américaines à partir d’un modèle de sondages du collège électoral. C’est l’un des meilleurs sites de politique américaine.
    [1]:https://www.electoral-vote.com/evp2024/Info/welcome.html

    • electoral-vote.com n’est désormais plus seulement un blog de science électorale. Andrew et son coauteur Christopher Bates publient chaque matin un résumé très clair de l’actualité politique de la veille et de ses conséquences possibles sur la politique américaine.
      Rien qu’en lisant leurs billets quotidiens, spirituels sans être emportés par l’émotion, on peut rester assez bien informé en tant que citoyen américain.
  • J’étais en train de me planter sévèrement en architecture des ordinateurs, et j’ai eu 5 % à l’un des partiels. J’ai remplacé le manuel recommandé par le livre d’Andrew et je n’ai rien fait d’autre que le lire deux heures par jour ; j’ai eu 100 % à l’examen final.
    C’était un livre incroyablement accessible :-)

    • Il y a une vingtaine d’années, on utilisait aussi des livres de Tanenbaum dans deux cours d’informatique. C’étaient d’excellents manuels, et je les ai moi aussi trouvés assez faciles à comprendre.
    • Waouh, c’était quel livre ?
    • Par curiosité, quel était le manuel recommandé au départ ?
  • Un prix tout à fait mérité pour un excellent pédagogue qui rend l’informatique accessible et agréable.
    Structured Computer Organization est censé être un manuel, mais il est si bien écrit que je l’ai lu d’un bout à l’autre comme un thriller.
    On n’entend pas souvent ce genre de chose à propos de Knuth, par exemple. Ce qui, bien sûr, n’enlève rien au fait que Knuth est remarquable à sa manière.

  • Les livres d’AST, en particulier ceux qui traitent directement de Minix, me semblent se situer sur le même plan philosophique que l’article The Night Watch.
    Au fond, cet article parle non pas de devenir ignorant à cause des abstractions, mais du confort que donne la familiarité avec le réel ; non pas d’impuissance, mais d’une absence de peur acquise.
    On n’a presque jamais à exécuter du code au niveau kernel tout en branchant un oscilloscope ou une sonde logique sur les broches d’un processeur pour observer les lignes de données, mais nous connaissons tous au moins une personne capable de faire ce genre de chose sans sourciller. Et pourtant, un peu plus de connaissance et de familiarité avec ce qui est proche du silicium, une fiche technique de processeur posée à proximité, des modes de segmentation mémoire qui ne paraissent pas étrangers : tout cela aide énormément un développeur logiciel.
    C’est un saut que tout le monde devrait tenter au moins une fois, car il permet de faire tomber les barrières mentales qui empêchent de comprendre comment les choses fonctionnent réellement.

  • Il ne faut pas non plus oublier que MINIX est caché dans presque tous les CPU Intel modernes, comme partie du Management Engine. Ce fait assez méconnu en fait l’un des systèmes d’exploitation les plus largement déployés.

    • Pourquoi avoir utilisé Minix plutôt que quelque chose comme L4 ou seL4 ?
      Je me demande aussi quelle version de Minix a réellement été utilisée. Minix v3.1 est sorti avec le livre en 2005, la 3.2 en 2012 et la 3.3 en 2014.
    • Je me demande parfois à quoi ressemblerait le monde aujourd’hui si MINIX avait été publié sous une licence FLOSS similaire à celle de Linux.
      Le débat entre Linus Torvalds et Andrew Tanenbaum aurait pu être un tournant majeur de l’histoire de la technologie, mais MINIX semble avoir manqué une occasion énorme d’occuper une place bien plus importante dans l’histoire.
    • J’ai l’impression que plusieurs microcontrôleurs ARM et systèmes sur puce dominent en volume, donc je me demande si c’est vraiment exact.
      Si l’on suppose que la plupart d’entre eux exécutent une forme de Linux ou un système d’exploitation temps réel, on finit par se demander lequel de MINIX ou de Linux est le plus répandu.
    • L’ACM devrait exiger qu’AST prenne ses distances avec ce fait avant de lui remettre le prix.
  • J’ai lu Operating Systems: Design and Implementation en 1988 ou 1989, et ce fut une expérience éclairante et agréable.
    À l’époque, je souhaitais seulement qu’un système d’exploitation ressemblant à Unix soit disponible « librement ». Par « libre », j’entendais le sens intuitif du mot, pas la définition formelle que j’ai découverte plus tard. Cela aurait pu être Minix.

    • C’était le meilleur des manuels que j’ai dû lire pendant mes études dans les années 80. Le code source de Minix fourni en annexe a été mon premier contact avec un grand code C bien écrit.
    • C’était l’un des manuels de mon cursus, et je l’ai lu avec beaucoup de plaisir.
  • Son Computer Networks était l’un de mes livres préférés à l’époque où j’étudiais l’informatique.
    Quelques années plus tard, j’ai donné un cours sur les systèmes distribués en école de commerce, et j’ai construit mes supports à partir de ce livre. Même aujourd’hui, il me semble toujours pertinent.

    • C’était mon manuel préféré de tout mon cursus de premier cycle en informatique. Il est encore dans ma bibliothèque.
      Je n’ai jamais vraiment approfondi le réseau, mais cette culture générale est restée et m’a été utile à maintes reprises. Je peux dire que c’est quelque chose qui me distingue des autres ingénieurs.
    • Même si ce fil porte sur Tanenbaum, personnellement je trouve que Data Communications and Networking de Forouzan explique mieux les choses et traite mieux les détails de chaque couche réseau.
      Cela dit, Modern Operating Systems est excellent, et quand je l’ai recommandé à des camarades à l’université, j’ai eu des réactions similaires.
  • Je trouve un peu dommage qu’à ce stade, la recherche sur les systèmes semble quasiment à l’arrêt.
    Je pensais que vers 2024 nous utiliserions des systèmes d’exploitation distribués permettant de déplacer librement, et sans trop de problèmes, des processus entre téléphone, ordinateur de bureau, portable et NAS.

    • Il y a encore beaucoup de recherche et d’innovation, mais elles ne se manifestent pas forcément sous la forme de projets logiciels entièrement nouveaux. Le coût de création d’un nouvel OS est tout simplement colossal.
      Si vous voulez faire autre chose que du matériel dédié, il faut être compatible avec les logiciels utiles existants. Un nouveau changement de paradigme qui exige de modifier les logiciels existants a un chemin très difficile vers le succès. Il y a tout de même énormément de progrès incrémentaux dans les systèmes d’exploitation.
      L’idée d’un véritable système d’exploitation distribué est probablement venue à l’esprit de beaucoup de monde. Je suis assez convaincu que les OS existants finiront par évoluer dans cette direction. On commence déjà à en voir des morceaux ici et là.
    • On dirait que vous gardez en tête, comme moi depuis longtemps, le point de vue de Rob Pike http://www.herpolhode.com/rob/utah2000.pdf
      Beaucoup de choses se sont passées depuis cet article, mais j’ai le sentiment inquiétant qu’il avait raison et que nous avons cessé d’essayer réellement d’élargir et d’explorer le champ des possibles. Cela dit, cela tient peut-être davantage à l’état du monde académique qu’au domaine lui-même.
      Avant que la vague d’engouement n’arrive, les applications GPGPU agrémentées de machine learning ne valaient pas non plus une avalanche d’invitations en conférence. À cause de l’hégémonie académique et de la dure réalité de la course aux financements, je ne me suis malheureusement pas beaucoup intéressé à la recherche sur les systèmes.
    • La recherche ne s’est pas arrêtée ; c’est plutôt que la mainmise des géants de la tech a réduit les incitations à créer des appareils grand public.
      Si quelqu’un essayait de mettre en œuvre ce genre d’idées intéressantes, il serait jugé durement parce que le reste de sa stack ne rivaliserait pas avec un Pixel ou un iPhone. Regardez Rabbit.
      Ce que vous décrivez est un sujet central de la recherche moderne sur les systèmes, et les grands fournisseurs cloud mettent en œuvre en interne toutes sortes de choses de ce type.
    • C’est dans les rôles liés à l’infrastructure qu’il faut regarder ce genre de choses. Par exemple, lorsqu’on vide une VM ou un nœud Kubernetes, la migration à chaud des VM et des conteneurs se fait régulièrement.
      Les consommateurs se soucient généralement davantage de l’expérience utilisateur. Un logiciel qui synchronise le contenu vers un serveur pour le rendre disponible sur tous les appareils est bien moins contraignant que d’essayer de déplacer des processus en temps réel sur un réseau instable.
    • Pour moi, ce genre de choses a toujours été dans la catégorie « très cool, mais à l’utilité incertaine ».
      Beaucoup de chercheurs en systèmes étaient totalement obsédés par le clustering, la transparence réseau et les systèmes distribués, et y voyaient le sommet du système d’exploitation. Je n’ai jamais compris pourquoi. Je comprends parfaitement que ce soit cool, mais je n’ai jamais vu en quoi il était si important qu’un système serveur-ordinateur portable-téléphone-réseau fonctionne comme un seul système.
      Je pense que beaucoup d’efforts ont été gaspillés à poursuivre ce dragon. Étudier des choses cool est une bonne chose, et des éléments utiles en sont probablement sortis, donc le mot « gaspillé » n’est peut-être pas exact. Mais je n’ai pas l’impression qu’il y ait eu une justification suffisante, et ces efforts auraient peut-être pu être mieux employés.
      L’alternative — des outils et modèles de programmation multi-systèmes permettant de gérer plusieurs systèmes sans les faire apparaître comme une image unique au niveau le plus bas — n’a pas suscité beaucoup d’amour dans le monde académique après TCP/IP, et a surtout été développée par l’industrie.
  • Un autre fait intéressant à propos de Tanenbaum est qu’il était la personne derrière electoral-vote.com.
    Avant que tout le monde ait son propre modèle et que Nate Silver — ou devrais-je dire Poblano — rafle la mise en 2008, c’était l’endroit où aller pour comprendre l’élection présidentielle américaine de 2004 entre Bush et Kerry. Cela a énormément aidé beaucoup de gens à comprendre les sondages et les statistiques.

    • electoral-vote.com est toujours très actif : https://www.electoral-vote.com/
      Vous le savez peut-être déjà, mais je voulais le souligner pour ceux qui l’ignoreraient.
      Le professeur Tanenbaum a désormais aussi un coauteur, le professeur Bates. Bates est professeur d’histoire à UCLA/Cal Poly. Le site publie tous les jours ; autrefois, il ne publiait qu’en semaine, et seulement pendant les périodes électorales.