Seconde édition de "Systèmes d'exploitation"

Posté par  . Modéré par Benoît Sibaud.
0
25
juin
2003
Livre
Le livre "Systèmes d'exploitation" d'Andrew Tanenbaum semble être une référence pour tous ceux qui veulent connaître les mécanismes internes des systèmes d'exploitation. Je l'avais consulté il y a quelques temps et m'était senti quelque peu "frustré" par le fait qu'il datait un peu et que tous les exemples reposaient sur Minix, le système écrit par l'auteur à but pédagogique. Je suis tombé hier chez un libraire sur une nouvelle édition de ce livre dans lequel Linux et Windows 2000 font leur apparition, au détriment de Minix. La version originale date de 2000, c'est la version française qui est sortie cette année. Cette nouvelle édition a, semble-t'il, été "épurée" de quelques 400 pages de contenu ancien. L'auteur considère par exemple que tout ce qui concerne les systèmes distribués n'a plus sa place ici puisqu'ils font généralement l'objet de cours à part.
D'un autre coté, d'autres chapitres ont été ajoutés :
* Nouveaux chapitres sur la sécurité informatique
* Exploitation étendue de Linux (rigolo quand on pense aux threads musclés entre Tanenbaum et Torvalds à ses débuts), Unix et Windows dans les exemples
* Chapitre sur la conception de SE
* Étude des interfaces graphiques, des systèmes multiprocesseurs, virus, systèmes sécurisés, terminaux réseaux

Le livre contient en outre 450 exercices et problèmes. Un peu moins de 1000 pages, 45€, Éditions Pearson Education

Aller plus loin

  • # Re: Seconde édition de "Systèmes d'exploitation"

    Posté par  (site web personnel) . Évalué à 0.

    rigolo quand on pense aux threads musclés entre Tanenbaum et Torvalds à ses débuts

    Ouh le vilain troll ;-))

    Comme quoi, y'a que les &*^^%$# qui changent pas d'avis.
    • [^] # Re: Seconde édition de "Systèmes d'exploitation"

      Posté par  (site web personnel) . Évalué à 2.

      • [^] # Re: Seconde édition de "Systèmes d'exploitation"

        Posté par  . Évalué à 1.

        • [^] # Re: Seconde édition de "Systèmes d'exploitation"

          Posté par  . Évalué à 3.

          Mortel !
          - "Bien que je pourrais me lancer ici dans une longue histoire sur les mérites relatifs des deux concepts, je me contenterai de dire que parmi les personnes concevant à l'heure actuelle des systèmes d'exploitation, la discussion est essentiellement close. Les micro-noyaux ont gagné. Le seul vrai argument pour les systèmes monolithiques était la performance, et il est maintenant assez évident que les systèmes à micro-noyau peuvent être tout aussi rapides que les systèmes monolithiques (par ex., Rick Rashid a publié des notes comparant Mach 3.0 à des systèmes monolithiques), et il ne reste donc maintenant que des détails à régler."

          C'était il y a 11 ans ... Faut pas conclure que c'est un con. Mais c'est marrant.
          • [^] # Re: Seconde édition de "Systèmes d'exploitation"

            Posté par  (Mastodon) . Évalué à 6.

            Je pense que si Linux a eu le succès qu'on connait, c'est largement autant pour son mode de développement libre que pour ses performances techniques. Donc le succès de Linux n'invalide pas forcément la citation de Tanenbaum: meme s'il n'innovait pas trop sur le plan technique, il innovait sur le mode de développement.
            • [^] # Re: Seconde édition de "Systèmes d'exploitation"

              Posté par  . Évalué à 1.

              > meme s'il n'innovait pas trop sur le plan technique

              C'est ramener l'évaluation technique d'un noyau à sa conceptions micro-noyau ou non.

              Un noyau c'est pas que ça. Linux est "au top" pour la vm, le(s) système(s) de fichier, le réseau, SMP, etc...

              Ça compense très largement le manque "apparent" technologique car ce n'est pas un micro-noyau.
          • [^] # Re: Seconde édition de "Systèmes d'exploitation"

            Posté par  . Évalué à 1.

            Certes, aujourd'hui un micro-noyau (ou au moins un noyau mixte, modulaire, comme celui de Linux 2.x) est preferable. Mais au debut des annees 90, pour des raisons de performances utiliser un micro-noyau etait discutable.

            Je suis chercheur, et j'aime bien les "belles choses" du point de vue de la recherche. Je les utilise dans mes protos mais je prefere de bonnes vieilles choses bien eprouvees pour mon travail au quotidien. A l'epoque les micro-noyaux etaient de la belle recherche, mais pas fait pour etre utilises tous les jours.
    • [^] # Re: Seconde édition de "Systèmes d'exploitation"

      Posté par  (site web personnel) . Évalué à 3.

      Je pense pas vraiment qu'il ai changé d'avis, il disait que les noyaux monolithique
      c'était dépassé par rapport aux micro-noyaux...

      C'était vrais et ça l'est toujours, c'est juste que le domaine de la recherche à dix ans
      d'avance sur de l'industrie.

      Aïe pas tapper ;-)
      • [^] # Re: Seconde édition de "Systèmes d'exploitation"

        Posté par  . Évalué à 3.

        autres exemples d'affirmations que beaucoup soutiennent mordicus :
        - java et/ou .Net sont l'avenir
        - la delocalisation des dev en Inde
        - les mainframes sont morts (non, ca plus personne n'y croit)
        - ...
        • [^] # Re: Seconde édition de "Systèmes d'exploitation"

          Posté par  (site web personnel) . Évalué à 1.

          Mouai je fais une différence entre "beaucoup" et un professeur d'université...
          Disont qu'ils n'ont pas les même arguments !
          • [^] # Re: Seconde édition de "Systèmes d'exploitation"

            Posté par  . Évalué à 2.

            il y a bcp de profs d'universités réputés qui ont soutenu et soutiennent toujours ces affirmations.
            Ils sont un peu moins categoriques qu'en 1999-2000 mais ils les soutiennent toujours.
            Y a des profs qui font toute une partie de leurs cours sur l'affirmation " les logiciels sont maintenant realisés en inde, voyons comment on doit organiser les specifications- productions-tests- support ... etc"
            • [^] # Re: Seconde édition de "Systèmes d'exploitation"

              Posté par  (site web personnel) . Évalué à 1.

              !? Pour info un professeur d'université ce n'est pas (que) un enseingnant, il à la charge d'une équipe de recherche.
              Donc souvant (au moins lorsqu'ils parlent de leur domaine) il savent ce qu'ils disent...

              Et personellement j'ai jamais entendu un enseignant et/ou chercheur parler de la réalisation de logiciels en Inde... Pourtant je suis dans une équipe qui fait de la recherche en génie logiciel...
              • [^] # Re: Seconde édition de "Systèmes d'exploitation"

                Posté par  . Évalué à 1.

                C'est la dur réallité des choses. Enseignant et chercheur sont parfois éloignés de la réalité. Ne pas tenir compte des réalités économiques dans le developpement d'une application est, me semble t il, une grave erreur car ses contraintes économiques font partie des contraintes de l'utilisateur, des contraintes de besoin.

                Il faut admettre que les ingénieurs qui sortent d'université (financées par Microsoft en autres) sont très bon techniquement et sont également "bon marché".

                Je suis très étonné que tu n'es jamais entendu parler de la réalisation de logiciels en Inde. Les Etats-Unis (Microsoft, RedHat, IBM, CISCO...) embauchent beaucoup d'ingenieurs indiens. Non seulement ils parlent la langue, mais en plus ils sont formés aux methodes américaines. La vague risque bien de déferler en Europe également.
                • [^] # Re: Seconde édition de "Systèmes d'exploitation"

                  Posté par  . Évalué à 1.

                  > La vague risque bien de déferler en Europe également.

                  Faut pas rèver. S'il y a beaucoup de demande, les prix vont augmenter et ça va être moins attractif.

                  D'ailleurs le bruit court que 95 % des développeurs de Linux habitent en inde... et que Microsoft n'a plus les moyens de payer ses cher développeurs américains...
                • [^] # Re: Seconde édition de "Systèmes d'exploitation"

                  Posté par  (site web personnel) . Évalué à 1.

                  Si j'ai déjà entendu parler de la réalisation de logiciels en Inde mais sur internet ou dans la presse "professionel" pas à l'université.

                  "Enseignant et chercheur sont parfois éloignés de la réalité"
                  A l'université les enseignants sont très souvent aussi chercheur et dans un cas comme dans l'autre (au moins en informatique) je ne voient pas comment ils peuvent être éloignés de la réalité !

                  Et oui, il faut bien trouver des financements et donc monter des projets avec des partenaires industriels et donc réaliser des "choses" qui les intéressent.
                  Heureusement, que nous pouvont aussi faire de la recherche plus fondamental, c'est ce qui apporte le plus à la science (et donc aussi à l'industri, mais à plus long termes).

                  As-tu déjà regardé par exemple ce qui sort de l'INRIA ?

                  Concernant les methodes américaines et la vague qui risque de déferler en Europe (je résume),
                  il faut savoir que la majorité des développeurs americain code en VB et qu'ils sont incapable de faire un modèle... Les diplomés d'informatique européen n'ont pas vraiment de soucis à se faire
                  de ce point de vue avant un bon moment.
                  • [^] # Re: Seconde édition de "Systèmes d'exploitation"

                    Posté par  . Évalué à 2.

                    > Les diplomés d'informatique européen n'ont pas vraiment de soucis à se faire de ce point de vue avant un bon moment.

                    N'importe quoi!!
                    Je bosse pour Alcatel et dans mon projet le nombre de développeurs a chuté de beaucoup car une grosse partie de l'activité a été transféré en Roumanie.

                    Les développeurs Roumains sont surement moins aguerris que les Français, mais comme au même prix tu peux embaucher beaucoup plus de développeurs Roumains, les décideurs se sont dit que cela compenserait, ce qui est un calcul risqué mais éventuellement très rentable économiquement.

                    Je connais entre autre un gars qui est très, très mal a cause de ça..

                    Alors pas de souci a se faire, tu rêve!!
                    • [^] # Re: Seconde édition de "Systèmes d'exploitation"

                      Posté par  (site web personnel) . Évalué à 1.

                      Je disait que les diplomés européens n'avaient pas de soucis à se faire du points de vue de leurs conpétences... Après il faut savoir se vendre, il ne suffit pas de se tourner les pouces en attendant les propositions... Ca c'était bon il y à 4/5 ans ! Et personnellement je n'ai jamais vu un projet informatique ou le nombre de participants était plus important que leurs compétences (bien au contraire). De plus je te parle de dimplomés d'informatique et tu me parles de développeurs, c'est très réducteur... Et c'est peut-être là où est le problème, ils sont censé savoir faire plus de chose que du "simple" développement.
            • [^] # Re: Seconde édition de "Systèmes d'exploitation"

              Posté par  . Évalué à 2.

              Y a des profs qui font toute une partie de leurs cours sur l'affirmation " les logiciels sont maintenant realisés en inde, voyons comment on doit organiser les specifications- productions-tests- support ... etc"

              Tu parles d'un prof d'universite, ou d'ecole de commerce ? Un prof d'universite enseigne la science, pas les methodes de gestion.
            • [^] # Re: Seconde édition de "Systèmes d'exploitation"

              Posté par  . Évalué à 1.

              Vu mon expérience, s'il existe une faiblesse dans l'informatique c'est bien les parties "specifications- productions-tests- support" même quand le développement n'est pas fait en Inde.

              Mais comment attirer l'attention d'étudiants sur ces parties alors que développer est tellement plus confortable (ATTENTION : je n'ai pas dis simple ou facile).
        • [^] # Re: Seconde édition de "Systèmes d'exploitation"

          Posté par  . Évalué à 1.

          Bah quelque part, pour Java, c'est effectivement le présent et un peu l'avenir quand même.

          Certainement pas le seul langage d'avenir et dépendant de l'application à développer, mais que çà soit pour un développement rapide productif ou pour le développement d'applications d'entreprises sur un middleware, Java c'est nickel et çà continue d'évoluer.

          Evidemment, Java n'est pas à recommender pour le développement d'un OS ou pour des applications gourmandes (même si une machine puissante se sort très bien de progs java) devant tourner sur des architectures un peu anciennes...

          Au passage : "salut Alexis, çà roule ?" ;o)
      • [^] # Re: Seconde édition de "Systèmes d'exploitation"

        Posté par  (site web personnel) . Évalué à 0.

        Il parlait d'un noyau Monolithique, hors linux est devenu aussi un noyau modulaire ce qui a changé la donne...
        • [^] # Re: Seconde édition de "Systèmes d'exploitation"

          Posté par  . Évalué à 2.

          Tous les modules tournent en mode noyau sous Linux.
          Dans un micro noyau, il y a des partis qui tournent en mode user. Idéalement tout ce qui tourne autour du noyau est en mode user (système de fichier, vm, réseau, etc).

          Un module est relativement simple. C'est comme les greffons dans un navigateur.
          • [^] # Re: Seconde édition de "Systèmes d'exploitation"

            Posté par  (site web personnel) . Évalué à 1.

            Ca a aucun rapport avec le mode noyau ou utilisateur. C'est une question de portabilité.

            Tanenbaum prétendait que linux ne serait voué qu'a une archi intel, et que les micro noyaux seraient portables.

            Aujourd'hui, on peut "provisoirement" conclure que ça n'est pas l'efficacité d'un algorythme qui fait qu'un programme est portable ou non (traducteurs), mais la complexité de la couche sur laquelle il repose.

            Plus un algorythme est simple à comprendre et à mettre en oeuvre, et plus il est simple à porter, corriger, adapter, optimiser pour le materiel.

            C'est ce qui c'est passé avec le code de linux, et les modules tandis que des système comme the hurd basé sur des micros noyaux ont completement végétés, car le noyau est resté le jardin secret de quelques initiés, et qu'il était en décalage avec le fonctionnement optimal du materiel.

            D'ailleurs Tanenbaum dit:
            "My point is that writing a new operating system that is closely tied to any
            particular piece of hardware, especially a weird one like the Intel line,
            is basically wrong. "

            Tanenbaum occultait des problemes annexes à la programmation.

            Pour lui, le fait que l'architecture d'intel soit "étrange", sans doute parce que ça ne permettait pas aux micros noyaux de développer leurs potentiels, ne méritait pas qu'on développe dessus.

            Bilan: 10 ans après tout les pcs du grand publique utilisent l'architecture i386 intel(et ce qui en découle), et il y a coté une minorité de processeurs risc.

            Ce qui ne veut pas du tout dire que les micros noyaux sont moins interressants, et une alternative à part entière au noyau monolithique.
          • [^] # Re: Seconde édition de "Systèmes d'exploitation"

            Posté par  . Évalué à 2.

            sauf que le modele de modules noyaux a ete implemente dans l'esprit de copier les micro-noyaux. Ils gardent certes l'avantage de la rapidite comme ils font parti de l'as du noyau mais au niveau fiabilite (et c'est ca qui est demande de nos jours) c'est zero. Si le module crashe, l'ensemble du systeme crashe. Or generalement les modules sont les drivers, c'est a dire les bout de code les plus monstrueux et les plus buggues qu'on puisse trouver (j'exagere un peu la ;-).


            Je n'ai vais pas rentrer plus en detail dans le sujet mais juste faire un peu de pub :
            Projet nooks : http://www.cs.washington.edu/homes/mikesw/nooks(...)
            • [^] # Re: Seconde édition de "Systèmes d'exploitation"

              Posté par  (site web personnel) . Évalué à 1.

              Oui de toute manière, je trouve ça ridicule d'opposer le monolithique modulaire, aux micros noyaux.

              Je suis intervenu juste pour dire qu'au moment ou Tanenbaum a réagit comme ça c'était au début de linux, et il n'avait pas toutes les cartes en main.

              C'est marrant de relire ça, mais il faut aussi accepter que c'était il y a 12 ans, et se remettre dans le contexte de l'époque.
    • [^] # Re: Seconde édition de "Systèmes d'exploitation"

      Posté par  . Évalué à 3.

      "M. Torvalds, si vous etiez l'un de mes etudiants je ne vous mettrait pas une tres haute note [pour Linux]."
  • # Re: Seconde édition de "Systèmes d'exploitation"

    Posté par  (site web personnel) . Évalué à 5.

    Je l'ai souvent lu au cours de mes études. J'ai beaucoup aimé ce livre.

    Mais n'ayant pu que l'emprunter à la bibilothèque universitaire, j'ai donc franhis le pas cette fois en achetant cette nouvelle édition.
    Toujours aussi complet et bien écrit, c'est un délice de lire ce livre :-)
    Ce n'est que mon humble avis.
    De longues et amusantes heures de lecture sont devant moi, ce qui me réjouit :-)

    Effectivement ce post n'amène pas grand chose, juste mon enthousiasme pour ce livre et les informations et connaissances qu'il m'apporte.

    --
    http://titux.tuxfamily.org(...)
  • # Re: Seconde édition de "Systèmes d'exploitation"

    Posté par  (site web personnel) . Évalué à -6.

    ca fait 20 plombes qu'il est sorti ce bouquin (en anglais en tt cas)
  • # Commentaire supprimé

    Posté par  . Évalué à 1.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 1.

      Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Seconde édition de "Systèmes d'exploitation"

      Posté par  . Évalué à 1.

      Les bouquins de Tannenbaum ont été et sont encore des pilliers importants pour mes études, mais pour les systèmes distribués, je dois avouer que j'ai préféré:

      Distributed Systems Concepts & Design de Collouris/Dollimore/Kindberg.

      Il y a certaines dépendances entre les chapitres, qui sont indiquées, mais il est possible de feuilleter.
  • # Re: Seconde édition de "Systèmes d'exploitation"

    Posté par  . Évalué à 4.

    Ce livre est merveilleux. Rien que la couverture, avec ces analogies entre des images de cirque et le vocable des systèmes d'exploitation, vaut le détour !

    Je ne l'ai pas terminé, mais si j'ai un reproche à lui faire, il concerne les questions. Certes nombreuses, mais pas toujours judicieuses. Certaines se contentent de demander le contenu d'un paragraphe du chapitre précédent, d'autres plus fouillées ne sont pas accompagnées de réponse...

    M
    • [^] # Re: Seconde édition de "Systèmes d'exploitation"

      Posté par  . Évalué à 2.

      J'aimerais bien avoir une critique d'aujourd'hui de Linus Torval sur ce livre.
      • [^] # Re: Seconde édition de "Systèmes d'exploitation"

        Posté par  . Évalué à 1.

        Je cite Linus dans son livre sorti en 2001 : "Toute personne a lu un livre qui a changé sa vie [...]. Le livre qui me propulsa à des niveaux qui m'étaient inconnus jusqu'alors a été Operating Systems : Design and Implementations par Andrew S. Tanenbaum." (p78).

        On peut en conclure que la H de (na)guerre enterrée.

        M
  • # Re: Seconde édition de "Systèmes d'exploitation"

    Posté par  . Évalué à 1.

    Pour revenir sur quelques passages des commentaires:

    * Linux n'a pas un micro-noyau, vous lavez compris majoritairement mais j'ai cru voir certain commentaires voulant le faire s'en rapporcher. Non, même si vous pensez qu'il est proche, il n'est pas.

    * Rapidité du noyau Linux ? Ah! vaste sujet, beaucoup de recherche a été dessus. Mais bon, le résulat est que l'on se confrontera toujours à la barrière "compromis entre portabilité et compatibilité au niveau hardware contre vitesse d'execution". C'est un fait, une constante.
    Pourquoi Linux est un noyau modulaire (macro-noyau) ? L'origine vient de la façon dont le "grand ordonnanceur" travail et les temps de latence dans les changement de contextes (tâches, ITs). Le cpu d'origine étant de la classe des CISC (même si maintenant les Intel & Co. sont un curieux mélange) et au vu des instructions proposées, il n'était pas possible de développer micro-noyau rapide, contrairement à ce que l'on peut faire avec un cpu comme les PowerPC. En découlera tout son développement, ses critiques et encouragement.

    Pour moi Linux s'est imposé car il est arrivé au bon moment, celui où beaucoup de monde ne voulait d'une dérive de l'informatique, de système monolithique (au sens global, pas seulement sur le noyau). Il était le contre-pied à MS-Win. Et c'était intéressant de voir comment on pouvait inversé la vapeur d'un complexe financié et ce par la volonté non pas d'entreprises quelconque mais d'utilisateurs/développeur/etc... indépendants. Tout cela ajouté au phénomène "chouette moi aussi je peux bidouiller mon OS", intrinséque à "l'open source".

    Maintenant regardons ce qu'est devenus Linux. Personnellement j'ai peur. Oui, ce que j'ai redouté il y a 4-5 ans quand j'était heureux de bidouiller dans Linux est arrivé: ça popularité grandissante, il en est maintenant victime. Le developpement (dans son sens complet, pas seulement le système) est éparpillé sur beaucoup d'équipes, chacune possédant sa propre "philosophie" de de programmation et donc pas facile de faire cohabité tout ce petit monde parfois (remarque au sujet des drivers bidouillards). Le problème est mathématique, je ne critique pas les possibilités qu'apporte l'ouverture d'un système (toutes les possibilitées sont vues, etc...) mais lorsque qu'une certaine masse critique de developpeurs, la gestion, la distribution et la publicité (au près des utilisateur) devient difficiles et vague (pour le pauvre Mr lambda en bout de chaine). C'est d'ailleur pour cela que beaucoup de gens encore ne sont pas près de faire le pas vers Linux: pas toujours intuitif (vous me direz c'est le crédo des distributions de faire des choses prètes à l'emploi).
    Heureusement pour me rassurer je vois qu'il y a pour les principaux développement des équipes bien faites (pas trop grosses, ni trop petites) qui assurent un suivis et aussi garantissent "la pérénnité" des connaissances et non pas son éparpillement.

    * Pour ce qui est du developpement en Inde: on dit "ils sont bon en informatique" ça c'est bon pour le discours d'un manager. Ils aiment bien la réduction des idées. L'informatique étant un vaste domaine, il serait bien difficile qu'un peuple soit bon completement sur tout un domaine aussi vaste. En faite ils sont plutôt bon pour ce qui est du code de haut niveau et d'un truc tout à fait industriel "la qualité" (les niveaux CMM par exemple), ne confondez pas avec la qualité de travail, c'est pas toujours lié (malheureusement). Par contre si maintenant vous allez demander de faire un driver temps-réel à indien vous aller vous mordre les doigts. J'en ai fait l'expérience.
    Evidemment vous trouvez toujours l'exception. Mais je parle globalement bien-sûr.
    Donc faut crâcher sur tout, mais faut pas non plus faire tout avec des composantes uniques (développeurs Indiens ici par exemple).

    Voilà et à plus tard ;-)

    PS: sinon le bouquin est bien, bon Tanenbaum à toujours été un peu absolus sur certaines de ses idées. Mais dans l'ensembe il ne dit pas que des conneries. :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.