Développement système sous Linux
Tirer le meilleur parti de l'environnement Linux La possibilité de consulter les sources du système, de la bibliothèque glibc et de la plupart des applications qui tournent sur cet environnement représente une richesse inestimable aussi bien pour les passionnés qui souhaitent intervenir sur le...
Tallennettuna:
| Päätekijä: | |
|---|---|
| Aineistotyyppi: | Livre papier |
| Kieli: | Français |
| Julkaistu: |
Paris :
Éditions Eyrolles
DL 2019.
|
| Painos: | 5e édition. |
| Aiheet: | |
| Huomautus: |
La couv. porte en plus : "Ordonnancement multitâche, gestion mémoire, communications, programmation réseau" |
| Autres localisations: | Voir dans le Sudoc |
| LEADER | 12180nam a22002897a 4500 | ||
|---|---|---|---|
| 001 | 779675 | ||
| 008 | 191011t20192019xxe ||| |||| 00| 0 fre d | ||
| 009 | PPN238714063 | ||
| 020 | |a 9782212677607 (br.) : |c 46 EUR | ||
| 024 | |a 9782212677607 | ||
| 041 | 0 | |a fre | |
| 082 | |a 005.432 |z fre | ||
| 082 | |a 005.422 82 |z fre | ||
| 084 | |a 004 | ||
| 100 | 1 | |a Blaess, Christophe. | |
| 245 | 1 | 0 | |a Développement système sous Linux |c Christophe Blaess. |
| 250 | |a 5e édition. | ||
| 260 | |a Paris : |b Éditions Eyrolles, |c DL 2019. | ||
| 300 | |a 1 vol. (XIX-1051 p.) : |b ill., couv. ill. en coul. ; |c 23 cm. | ||
| 500 | |a La couv. porte en plus : "Ordonnancement multitâche, gestion mémoire, communications, programmation réseau" | ||
| 504 | |a Bibliogr. p. [1035]-1036. Index | ||
| 505 | 0 | |a P. 1 -- Chapitre 1 Concepts et outils -- P. 1 -- Généralités sur le développement sous Linux -- P. 4 -- Outils de développement -- P. 26 -- Bibliothèques supplémentaires pour le développement -- P. 27 -- Conclusion -- P. 29 -- Chapitre 2 Les processus -- P. 29 -- Principe des processus -- P. 59 -- Conclusion -- P. 61 -- Chapitre 3 Exécution d'un programme -- P. 61 -- Lancement d'un nouveau programme -- P. 73 -- Fonctions simplifiées pour exécuter un sous-programme -- P. 83 -- Conclusion -- P. 85 -- Chapitre 4 Environnement et ligne de commande -- P. 86 -- Variables d'environnement -- P. 97 -- Arguments en ligne de commande -- P. 106 -- Exemple complet d'accès à l'environnement -- P. 114 -- Conclusion -- P. 115 -- Chapitre 5 Fin d'un programme -- P. 115 -- Terminaison d'un programme -- P. 123 -- Exécution automatique de routines de terminaison -- P. 128 -- Attendre la fin d'un processus enfant -- P. 139 -- Signaler une erreur -- P. 148 -- Conclusion -- P. 149 -- Chapitre 6 Déroulement des Pthreads -- P. 150 -- Présentation -- P. 150 -- Implémentation -- P. 152 -- Création de threads -- P. 161 -- Fin d'un thread -- P. 169 -- Attributs des threads -- P. 171 -- Synchronisation entre threads -- P. 177 -- Conclusion -- P. 179 -- Chapitre 7 Aspects avancés des Pthreads -- P. 179 -- Annulation d'un thread -- P. 184 -- Fonctions de nettoyage -- P. 186 -- Variables conditions -- P. 191 -- Types de mutex -- P. 196 -- Mutex partagés et robustesse des mutex -- P. 197 -- Taille de la pile -- P. 198 -- Données globales privées -- P. 199 -- Conclusion -- P. 201 -- Chapitre 8 Fonctions horaires -- P. 202 -- Horodatage et type time_t -- P. 203 -- Lecture de l'heure -- P. 209 -- Configuration de l'heure système -- P. 211 -- Conversions, affichages de dates et d'heures -- P. 225 -- Calcul d'intervalles -- P. 227 -- Fuseau horaire -- P. 230 -- Conclusion -- P. 231 -- Chapitre 9 Sommeil des processus et contrôle des ressources -- P. 231 -- Endormir un processus -- P. 243 -- Timers temps réel -- P. 247 -- Notifications par descripteur -- P. 249 -- Suivre l'exécution d'un processus -- P. 253 -- Obtenir des statistiques sur un processus -- P. 256 -- Limiter les ressources consommées par un processus -- P. 264 -- Conclusion -- P. 265 -- Chapitre 10 Ordonnancements sous Linux -- P. 265 -- États d'une tâche -- P. 270 -- Fonctionnement multitâche, priorités -- P. 279 -- Systèmes multiprocesseurs, migrations -- P. 284 -- Ordonnancements temps réel -- P. 292 -- Conclusion -- P. 293 -- Chapitre 11 Gestion classique des signaux -- P. 293 -- Généralités -- P. 295 -- Liste des signaux sous Linux -- P. 309 -- Émission d'un signal sous Linux -- P. 311 -- Délivrance des signaux -- P. 324 -- Conclusion -- P. 325 -- Chapitre 12 Gestion portable des signaux -- P. 325 -- Réception des signaux avec sigaction () -- P. 337 -- Blocage des signaux -- P. 342 -- Attente d'un signal -- P. 350 -- Un signal particulier : l'alarme -- P. 354 -- Conclusion -- P. 355 -- Chapitre 13 Signaux temps réel -- P. 356 -- Caractéristiques des signaux temps réel -- P. 360 -- Émission d'un signal temps réel -- P. 368 -- Traitement rapide des signaux temps réel -- P. 373 -- Conclusion -- P. 375 -- Chapitre 14 Gestion de la mémoire du processus -- P. 375 -- Allocation et libération de mémoire -- P. 394 -- Débogage des allocations mémoire -- P. 399 -- Suivi des allocations et des libérations -- P. 406 -- Utilisation de Valgrind -- P. 411 -- Conclusion -- P. 413 -- Chapitre 15 Gestion avancée de la mémoire -- P. 413 -- Verrouillage de pages en mémoire -- P. 417 -- Projection d'un fichier sur une zone mémoire -- P. 428 -- Protection de l'accès à la mémoire -- P. 433 -- Conclusion -- P. 435 -- Chapitre 16 Utilisation des blocs mémoire et des chaînes -- P. 436 -- Manipulation de blocs de mémoire -- P. 442 -- Mesures, copies et comparaisons de chaînes -- P. 454 -- Caractères accentués et codage UTF-8 -- P. 461 -- Recherches dans une zone de mémoire ou dans une chaîne -- P. 472 -- Conclusion -- P. 473 -- Chapitre 17 Tris, recherches et structuration des données -- P. 473 -- Fonctions de comparaison -- P. 476 -- Recherche linéaire, données non triées -- P. 482 -- Recherches dichotomiques dans une table ordonnée -- P. 489 -- Manipulation, exploration et parcours d'un arbre binaire -- P. 495 -- Gestion d'une table de hachage -- P. 502 -- Récapitulatif sur les méthodes d'accès aux données -- P. 504 -- Conclusion -- P. 505 -- Chapitre 18 Routines avancées de traitement des blocs mémoire -- P. 505 -- Utilisation des expressions rationnelles -- P. 514 -- Cryptage de données -- P. 519 -- Conclusion -- P. 521 -- Chapitre 19 Types de données et conversions -- P. 521 -- Types de données génériques -- P. 523 -- Types de tailles définies -- P. 530 -- Conversions entre différents types -- P. 539 -- Types et conversions mathématiques -- P. 548 -- Conclusion -- P. 549 -- Chapitre 20 Entrées-sorties simplifiées -- P. 549 -- Flux standard d'un processus -- P. 553 -- Écritures dans un flux -- P. 570 -- Saisie de caractères -- P. 592 -- Conclusion -- P. 593 -- Chapitre 21 Flux de données -- P. 593 -- Différences entre flux et descripteurs -- P. 595 -- Ouverture et fermeture d'un flux -- P. 598 -- Fermeture d'un flux -- P. 599 -- Présentation des buffers associés aux flux -- P. 601 -- Ouvertures particulières de flux -- P. 604 -- Lectures et écritures dans un flux -- P. 608 -- Positionnement dans un flux -- P. 615 -- Problèmes de portabilité -- P. 616 -- Paramétrage des buffers associés à un flux -- P. 625 -- Chapitre 22 Descripteurs de fichiers -- P. 625 -- Ouverture et fermeture d'un descripteur de fichier -- P. 636 -- Lecture ou écriture sur un descripteur de fichier -- P. 648 -- Positionnement dans un descripteur de fichier -- P. 650 -- Manipulation et duplication de descripteurs -- P. 659 -- Verrouillage d'un descripteur -- P. 668 -- Conclusion -- P. 669 -- Chapitre 23 Communications classiques entre processus -- P. 670 -- Les tubes -- P. 684 -- Les tubes nommés -- P. 690 -- Conclusion -- P. 691 -- Chapitre 24 Communications avec les IPC -- P. 692 -- Communications avec les IPC Posix -- P. 707 -- Les mécanismes IPC Système V -- P. 723 -- Conclusion -- P. 725 -- Chapitre 25 Entrées-sorties avancées -- P. 725 -- Entrées-sorties non bloquantes -- P. 733 -- Multiplexage d'entrées-sorties -- P. 745 -- Entrées-sorties asynchrones -- P. 758 -- Écritures synchronisées -- P. 762 -- Conclusion -- P. 763 -- Chapitre 26 Programmation réseau -- P. 763 -- Réseaux et couches de communication -- P. 768 -- Résolution de nom -- P. 780 -- Conclusion -- P. 781 -- Chapitre 27 Utilisation des sockets -- P. 781 -- Concept de socket -- P. 782 -- Création d'une socket -- P. 785 -- Affectation d'adresse -- P. 788 -- Mode connecté et mode non connecté -- P. 790 -- Attente de connexions -- P. 796 -- Demander une connexion -- P. 801 -- Fermeture d'une socket -- P. 804 -- Recevoir ou envoyer des données -- P. 812 -- Accès aux options des sockets -- P. 818 -- Programmation d'un démon ou utilisation de inetd -- P. 821 -- Conclusion -- P. 823 -- Chapitre 28 Accès au contenu des répertoires -- P. 824 -- Lecture du contenu d'un répertoire -- P. 830 -- Changement de répertoire de travail -- P. 836 -- Création et suppression de répertoire -- P. 838 -- Suppression ou déplacement de fichiers -- P. 842 -- Fichiers temporaires -- P. 844 -- Recherche de noms de fichiers -- P. 860 -- Conclusion -- P. 861 -- Chapitre 29 Attributs des fichiers -- P. 861 -- Informations associées à un fichier -- P. 869 -- Taille du fichier -- P. 872 -- Horodatages d'un fichier -- P. 873 -- Liens physiques -- P. 875 -- Liens symboliques -- P. 879 -- Noeud générique du système de fichiers -- P. 883 -- Masque de création de fichier -- P. 884 -- Surveillance du système de fichiers -- P. 888 -- Conclusion -- P. 889 -- Chapitre 30 Accès aux informations du système -- P. 889 -- Groupes et utilisateurs -- P. 896 -- Nom d'hôte et de domaine -- P. 898 -- Informations sur le noyau -- P. 901 -- Système de fichiers -- P. 911 -- Journalisation -- P. 923 -- Conclusion -- P. 925 -- Chapitre 31 Internationalisation -- P. 926 -- Principe -- P. 926 -- Catégories de localisations disponibles -- P. 930 -- Traduction de messages -- P. 940 -- Configuration de la localisation -- P. 956 -- Conclusion -- P. 957 -- Chapitre 32 Gestion du terminal -- P. 957 -- Définition des terminaux -- P. 975 -- Connexion à distance sur une socket -- P. 986 -- Configuration d'un port série RS-232 -- P. 995 -- Conclusion -- P. 997 -- Chapitre 33 Entrées-sorties par GPIO -- P. 997 -- Port GPIO -- P. 998 -- Accès aux GPIO par / sys -- P. 1001 -- Accès aux GPIO par / dev -- P. 1014 -- Utilisation de la libgpiod -- P. 1034 -- Conclusion -- P. 1035 -- Bibliographie -- P. 1035 -- Standards -- P. 1035 -- Livres et articles -- P. 1037 -- Index | |
| 520 | |a Tirer le meilleur parti de l'environnement Linux La possibilité de consulter les sources du système, de la bibliothèque glibc et de la plupart des applications qui tournent sur cet environnement représente une richesse inestimable aussi bien pour les passionnés qui souhaitent intervenir sur le noyau, que pour les développeurs curieux de comprendre comment fonctionnent les programmes qu'ils utilisent quotidiennement. Nombreuses sont les entreprises qui ont compris aujourd'hui tout le parti qu'elles pouvaient tirer de cette ouverture des sources, gage de fiabilité et de pérennité, sans parler de l'extraordinaire niveau de compétences disponible au sein d'une communauté de programmeurs aguerris au contact du code des meilleurs développeurs open source. Un ouvrage conçu pour les programmeurs Linux et Unix les plus exigeants Sans équivalent en langue française, l'ouvrage de Christophe Blaess constitue une référence complète du développement système sous Linux, y compris dans les aspects les plus avancés de la gestion des processus, des threads ou de la mémoire. Les programmeurs travaillant sous d'autres environnements Unix apprécieront tout particulièrement l'attachement de l'auteur au respect des standards (C Ansi, glibc, Posix...), garant d'une bonne portabilité des applications. Cette cinquième édition a été entièrement revue et mise à jour pour s'adapter aux standards actuels. Elle s'est en outre étoffée d'un nouveau chapitre sur l'accès aux entrées-sorties GPIO, particulièrement employées dans les systèmes industriels et embarqués. Compléments web Tous les exemples des programmes du livre sont en téléchargement sur notre site Internet www.editions-eyrolles.com/dl/0067760 A qui s'adresse cet ouvrage ? Aux développeurs concernés par les aspects système de la programmation sous Linux et Unix Aux administrateurs système en charge de la gestion d'un parc Linux et/ou Unix Aux étudiants en informatique (1er et 2e cycles universitaires, écoles d'ingénieurs, etc.) | ||
| 630 | |a Linux |n système d'exploitation des ordinateurs | ||
| 630 | |a C (langage de programmation) | ||
| 650 | |a Programmation système (informatique) | ||
| 997 | |0 779675 |1 Livre papier |a Ressource papier |b INSA |c 0/Bourges/ |c 0/Orléans/ |c 1/Bourges/INSA CVL/ |c 1/Orléans/BU Sciences, Technologies, STAPS/ |z Orléans, BU Sciences, Technologies, STAPS, 005.432 LINU Bl |z Bourges, INSA CVL, 005.432 Lin BLA | ||

