présentation sur l'échafaudage dans des travaux en hauteur
Cours SE Gestion des périphériques - IG IPSET
1. Le système d’exploitation Linux
Gestion des périphériques
Cours Système d’exploitation
BTS-IG
G.Mohamed Bechir IPSET – 2023/2024
2. Le noyau …
• Le noyau est le cœur du système
• C’est lui qui s’occupe de fournir aux logiciels une interface pour
utiliser le matériel.
• Multi-utilisateur et multitâches
2
Système d'exploitation
3. Fichiers du noyau
• Les fichiers de démarrage du système se trouvant dans /boot
• Fichier /boot/vmlinuz-* est le noyau Linux compressé qui sera utilisé
après démarrage
• Fichier initrd est une image d’un système d’exploitation minimal
initialisé après démarrage du système
• Fichier system.map contient une table avec les symboles et leur
adresse mémoire
• Un fichier de configuration du noyau est présent dans le répertoire
boot : /boot/config
Système d'exploitation 3
4. La représentation des périphériques pour le
noyau
• Les périphériques sont représentés par des noms de fichier, et peuvent être
utilisés comme des fichiers ordinaires
• /dev contient les fichiers associés aux périphériques :
• Ex :
lp : imprimante
ttyn terminal n° n
hkn disque dur n° n
mtn bande magnétiques n°
• On liste le contenu de /dev : ls –l /dev
• Exemple pour les disques dur : ls –l /dev/sd*
Système d'exploitation 4
5. Le système de fichier virtuel udev
• Linux dispose d'une fonctionnalité permettant aux applications de
détecter l'apparition et la suppression des périphériques, que ceux-ci
soient détectés au démarrage du système ou qu'ils soient branchés à
chaud une fois l'ordinateur allumé.
• Cette fonctionnalité est principalement utilisée par le sous-
système udev (abréviation de « Userspace /dev »). Comme son nom
l'indique, udev a pour principale fonction de prendre en charge la
gestion du répertoire /dev/, mais en réalité il est capable de faire
beaucoup mieux que cela
Système d'exploitation 5
6. Le système de fichier virtuel udev
• Lorsque le noyau détecte un changement au niveau dans la
configuration matérielle.
• Il signale ce changement via un canal de communication aux
applications qui s’y intéressent.
• udev utilise le démon udevd pour écouter sur ce canal de
communication et il met chacun de ces évènements dans une file
pour les traiter dans leur ordre d’apparition.
Système d'exploitation 6
7. La détection automatique du matériel
• udev peut réaliser les opérations suivantes lorsque le noyau signale la
présence d'un nouveau périphérique :
• Chargement du module du pilote de périphérique si nécessaire ;
• Si le périphérique requiert un firmware, chargement de celui-ci ;
• Création du fichier spécial de périphérique et de ses alias nécessaires à
l'utilisation du périphérique ;
• Exécution des opérations d'initialisation complémentaires ou lancement des
applications utilitaires associées au périphérique ;
• Notification de la présence du périphérique à l'ensemble des autres
programmes qui s'intéressent à la gestion du matériel (par exemple le
gestionnaire de bureau).
Système d'exploitation 7
8. La détection automatique du matériel
• Le noyau, et donc udev, ne sont en réalité capables de détecter que
les périphériques connectés au bus IDE, USB, PCMCIA, FireWire ou
PCI. En effet, ces bus utilisent des technologies suffisamment
récentes et permettent la détection, la configuration automatique et
l'identification précise des périphériques. De ce fait, seuls les pilotes
de périphériques de ce type peuvent être chargés automatiquement
par udev. Les pilotes des périphériques plus anciens (périphériques
ISA par exemple) ne peuvent être chargés automatiquement, car ces
périphériques ne sont détectés que si leur pilote est déjà chargé dans
le noyau.
Système d'exploitation 8
9. Chargement des modules de pilotes de
périphérique
Les modules du noyau sont des
bibliothèques que l'on peut charger
dans le noyau lorsque celui-ci a
besoin d'une certaine fonctionnalité.
Une fois chargés, les modules font
partie intégrante du noyau et
ajoutent leurs fonctions à celles
existantes.
Système d'exploitation 9
11. Commandes de configuration
• La plupart des commandes de configuration sont exécutées au login.
D’autres commandes sont exécutées à chaque lancement d’un shell.
Parmi celles-ci, citons les commandes suivantes :
• stty pour initialiser les paramètres du terminal.
• mail pour vérifier si vous avez du courrier privé.
• quota pour contrôler si vous avez des dépassements de quota.
Système d'exploitation 11
12. Fichiers d’initialisation
• Lorsqu'un utilisateur se connecte sur le système, certaines tâches sont
exécutées automatiquement.
• Ces tâches sont définies dans les fichiers d'initialisation se trouvant dans le
répertoire principal de chaque utilisateur.
• La plupart de ces fichiers commencent par « . » et ils ne sont pas donc
visibles avec ls, mais avec ls -a.
• .bash_profile : ce fichier contient des séquences d’instructions exécutées à
chaque lancement d’un shell de connexion bash.
• .bashrc : ce fichier contient des séquences d’instructions exécutées à
chaque nouveau sous-shell bash ouvert (excluant les shells de connexion).
• .bash_logout : ce fichier contient des commandes exécutées en fin de
connexion pour un shell de connexion bash.
Système d'exploitation 12
14. Méthodologie de recherche de pannes
• Analyse de la panne avec les outils d’aide
• Analyser les messages d’erreur
• Utiliser les traceurs (à voir)
• Travailler sur les fichiers log (sous Linux chaque service installé aura son
propre ficher de log) :
Fichiers de log système
• syslog (/var/log/syslog)
• auth.log (/var/log/auth.log)
• kern.log (/var/log/kern.log)
• messages (/var/log/messages)
• daemon.log (/var/log/daemon.log)
Système d'exploitation 14
15. Méthodologie de recherche de pannes
Connexions utilisateur
• /var/log/lastlog
• /var/log/faillog
Fichiers de log des programmes : /var/log/apt
• Vérification de l’état d’un service : sudo systemctl status nom-service
• Redémarrage réseau : sudo systemctl restart networking
• Redémarrer le système : systemctl reboot ou bien shutdown -r now
ou utiliser tout simplement la commande sudo reboot
• Arrêter l’ordinateur : sudo halt
Système d'exploitation 15
16. Méthodologie de recherche de pannes
• La commande w : permet de voir d’un seul coup d’œil si la machine
est vraiment surcharge et si oui, à quel point?
• La commande ps : permet d’obtenir la liste des processus qui
tournent au moment où la commande est lancé.
• La commande ps –ef: lister tous les processus
• La commande top : liste dynamique des processus (contrairement à la
liste ps)
• La commande Ctrl + C ou la commande kill : arrêter un processus
Système d'exploitation 16
17. Analyser les traces du noyau (les traceurs)
• Il est nécessaire d’utiliser des pratiques d’instrumentations pour garantir les
performances attendues du noyau
• L’instrumentation consiste généralement à surveiller et à mesurer les
performances, à diagnostiquer les erreurs et à écrire des informations de suivi
• Linux propose des outils d’instrumentations connus sous le nom de traceurs
• Se sont :
Outils avancés d’analyse et de tests de performance
Peuvent généralement tracer n’importe quelle fonction du noyau ou d’une
application
Capturent tous les événements qui se produisent dans le noyau (changements de
contexte, défaut(s) de page, interruptions, etc)
Système d'exploitation 17
18. Optimisation des performances
• Améliorer la prise en charge du matériel
• Optimiser l’utilisation de la mémoire vive (RAM)
• Désactiver les fonctionnalités inutiles
• Composants inutiles dans le BIOS
• Services inutiles
• Accélérer l’environnement de bureau
• Tester les performances du réseau (débit, cache DNS, …)
• Utiliser les outils standards d’analyse
Système d'exploitation 18