Livre : Développement système sous Linux

Posté par  . Édité par Nils Ratusznik, Xavier Teyssier et patrick_g. Modéré par Xavier Teyssier. Licence CC By‑SA.
38
19
août
2013
Doc

Eyrolles publie depuis quelques années un livre de Christophe Blaess intitulé « Développement système sous Linux, Ordonnancement multitâches, gestion mémoire, communications, programmation réseau », qui en est déjà à sa troisième édition. Ce livre s'adresse aussi bien aux administrateurs système qui souhaitent mieux connaître leur système d'exploitation préféré qu'aux développeurs qui veulent faire de la programmation proche du système.

Faut-il acheter ce livre les yeux fermés ? Faut-il passer quelques heures dans le mois à contribuer à Linuxfr.org pour avoir la possibilité de le gagner ? Ou faut-il passer son chemin et se contenter des bonnes vieilles pages de manuel ? La réponse dans la suite de la dépêche…

Forme : 16/20

La mise en page est lisible, voire trop puisque le livre fait plus de 1000 pages alors qu'il aurait été possible de sauver quelques arbres avec une police de caractères plus ramassée. Cependant l'éditeur vend aussi le livre en format e-book, vous avez donc le choix de votre empreinte carbone à la commande ! Concernant le style, celui-ci est clair et efficace, même si une relecture par un littéraire manque par endroits (on trouve des "à" ou des "de" remplacés par des "sur", ce qui en plus d'être peu agréable à lire peut poser des problèmes à ceux qui lisent difficilement le français). Par ailleurs l'organisation du livre vous semblera peut-être étrange, par exemple les fichiers ne sont détaillés que dans un des derniers chapitres, alors que les différents types de fichiers ont été étudiés précédemment…

Respect du sujet 10/20 ou 30/20… on va dire 20/20

Les amateurs des bibliothèques C légères seront peut-être déçus, ce livre est dédié à GNU/Linux et étudie de façon quasi-complète la glibc en occultant totalement les autres bibliothèques C, l'oubli du « GNU » devant « Linux » étant impardonnable dans ce contexte, on serait tenté de mettre une mauvaise note à ce sujet, mais cela est bien rattrapé par deux choix de l'auteur : d'une part le sujet de la glibc est traité dans presque toutes ses fonctionnalités, y compris celles qu'on pourrait ne pas attendre dans un livre ne s'intéressant qu'aux appels système, d'autre part l'auteur fait systématiquement référence aux normes du monde Unix lorsqu'il s'agit d'expliquer une fonctionnalité.

Intérêt pour les développeurs : 17/20

Le livre a pour sujet la programmation et devrait donc intéresser directement les développeurs. Le code est presque systématiquement écrit en C (on peut le télécharger sur le site de l'éditeur, cf. premier lien de la dépêche), ce qui risque de rebuter les développeurs d'autres langages de plus haut niveau. Cependant le livre s'avère totalement intéressant pour les développeurs C, même s'ils passeront probablement certains chapitres qu'ils maîtrisent sur le bout des doigts (un développeur C qui ne connaît pas malloc() et free() ne devrait pas avoir accès à un compilateur). Pour ceux qui développent dans d'autres langages, cela devrait leur apporter autant qu'aux administrateurs système.

Intérêt pour les administrateurs système et les curieux : 19/20

Le livre ne se contente pas de donner des lignes de code prêtes à être copiées/collées : il explique précisément chaque concept associé, comment il a été implémenté historiquement dans Unix et comment les normes les conçoivent. On regrettera cependant l'impasse faite sur les sockets Unix, pourtant très utilisés par des programmes sous Linux.

Un livre à avoir

Même si vous pensez bien connaître GNU/Linux, il est très probable que vous apprendrez quelque chose en lisant ce livre. Ce livre peut même servir d'outil de travail pour les administrateurs système : on fait un strace sur un processus dont on ne comprend pas le fonctionnement, et pour chaque appel que l'on ne comprend pas on peut aller dans l'index du livre qui nous emmènera vers la page expliquant le concept sous-jacent.

Aller plus loin

  • # Commentaire supprimé

    Posté par  . Évalué à 6. Dernière modification le 19 août 2013 à 12:16.

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

    • [^] # Re: Un plus par rapport aux livres existants ?

      Posté par  . Évalué à 4.

      Même qestion. Quelle est sa place entre l'historique Stevens et le récent The Linux Programming interface qui sont deux énormes références.

      J'ai l'impréssion que c'est un peu plus orienté "débutant" et ratisse large. J'ai tort ?

      • [^] # Re: Un plus par rapport aux livres existants ?

        Posté par  . Évalué à 6.

        Le bouquin est utilisable par quiconque connaît déjà le C standard. Donc en gros, si on sait « à peu près » ce qu'est un pointeur, on peut lire ce bouquin. Je considère que ce bouquin est légèrement en-dessous du niveau de ceux de Stevens, avec des parties clairement spécifiques à Linux (même si la plupart du temps, on parle d'appels POSIX). Quelque part, je suppose qu'on pourrait le considérer comme une version « résumée » des UNIX programming (IPC+Network).

        Je trouve que son vrai avantage est qu'il est relativement complet (il explique même comment écrire des paquets IP en mode « raw » dans un passage), et écrit par et pour un francophone. J'étais en 2è année d'IUT quand j'ai lu une partie de ce bouquin, et avec mon expérience limitée en C, c'était suffisant pour réaliser mon projet à l'époque.

  • # Christophe Blaess: wahou !

    Posté par  . Évalué à 7.

    C'est à mon avis une excellent référence. J'ai commencé par son blog, et je dois dire qu'il donne l'impression de trés bien maitriser son sujet.

    J'imagine que son livre, ne peut être que trés bon. Je vais l'acheter ne serait ce que pour soutenir ce genre d'ouvrage.

  • # Excellent ouvrage très complet

    Posté par  . Évalué à 6.

    Je suis d'accord sur l'ensemble du journal, c'est un livre vraiment très complet concernant les fonctions de la Glibc. On trouve par exemple trois chapitres dédiés aux signaux, un chapitre haut niveau sur les flux d'entrées sorties, un chapitre bas niveau sur les descripteurs de fichier, deux chapitres sur la gestion de la mémoire en C…
    Bien pratique d'avoir ce genre d'ouvrage sous le coude pour un développeur système GNU/Linux.

  • # Ha oui bon bouquin.

    Posté par  . Évalué à 2. Dernière modification le 25 août 2013 à 13:59.

    J'ai ce livre en PDF (ou une ancienne édition).

    Et même pour moi qui n'ai pas touché au C au moins depuis la Fac, je trouve le contenu très clair, très compréhensif, ce n'est pas à mon avis une bible technique ni la référence du sujet mais c'est en tout cas un très bon tremplin pour qui veut s'initier à la programmation bas niveau.

    Je m'étais dis que j'essaierai de développer quelque chose au niveau "système" un jour … mais je ne sais toujours pas "quoi" ni pour quoi "faire" … les drivers de ma carte réseau fonctionnant bien nativement bon … On ne va pas non plus réinventer la roue … je n'ai vraiment pas d'idée, pourtant j'aimerais bien me casser la tête à refaire un peu de C (mais pour faire autre chose qu'afficher les tables de multiplication à l'écran cette fois …)

Suivre le flux des commentaires

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