Développement système sous Linux
Auteur principal : | |
---|---|
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