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...
Enregistré dans:
| Hovedforfatter: | |
|---|---|
| Format: | Livre papier |
| Sprog: | Français |
| Udgivet: |
Paris :
Éditions Eyrolles
DL 2019.
|
| Udgivelse: | 5e édition. |
| Fag: | |
| Kommentar: |
La couv. porte en plus : "Ordonnancement multitâche, gestion mémoire, communications, programmation réseau" |
| Autres localisations: | Voir dans le Sudoc |
Indholdsfortegnelse:
- 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

