Développement système sous Linux

Détails bibliographiques
Auteur principal : Blaess Christophe (Auteur)
Format : Livre
Langue : français
Titre complet : Développement système sous Linux / Christophe Blaess
Édition : 5e édition
Publié : Paris : Eyrolles , DL 2019
Description matérielle : 1 vol. (XIX-1051 p.)
Sujets :
  • 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