Noyau, pilotes et espace utilisateur

Les couches d'un système du matériel à l'application : noyau, pilotes et modules, appels système, bibliothèques, shell, et la frontière entre mode noyau et mode utilisateur.

  • 25 cartes
  • 4 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation

Quelques cartes du deck

  • Noyau : de quoi s'agit-il ?

    Voir la réponse

    Cœur du système d'exploitation, seul à s'exécuter avec tous les privilèges : il gère les processus, la mémoire, les fichiers et les périphériques.

    Les programmes ordinaires ne touchent jamais le matériel directement : ils passent par lui, qui vérifie chaque demande.

  • Dans un programme C sous Linux, lequel de ces appels de fonction fait entrer le processeur dans le noyau ?

    • write(1, buf, n)
    • strlen(buf)
    • memcpy(dst, src, n)
    • toupper(c)
    Voir la réponse

    write(1, buf, n)

    write envoie des octets vers un fichier ou un terminal : seul le noyau y a accès, d'où l'appel système. strlen, memcpy et toupper sont des fonctions de la libc qui ne travaillent que dans la mémoire du processus, en mode utilisateur.

  • Quand un programme appelle …, le processeur passe du mode … au mode … le temps de traiter la demande.

    Voir la réponse

    Quand un programme appelle write, le processeur passe du mode utilisateur au mode noyau le temps de traiter la demande.

    À la fin de l'appel, le noyau rend le processeur au programme en mode utilisateur, avec le résultat de sa demande.

  • Pilote : de quoi s'agit-il ?

    Voir la réponse

    Code qui sait parler à un matériel précis (disque, carte réseau, écran) et le présente au reste du système de façon uniforme.

    Grâce à lui, un programme écrit dans un fichier ou envoie un paquet sans savoir quelle marque de disque ou de carte est installée.

  • Après le branchement d'une clé Wi-Fi, dmesg affiche « firmware: failed to load » et aucune interface réseau n'apparaît. Quelle est la cause probable, et que faire ?

    • Le port USB est défectueux : brancher la clé sur un autre ordinateur
    • Le shell n'a pas le droit de voir la clé : relancer la session en root
    • Le pilote est chargé mais le firmware de la clé manque : installer son paquet
    • Le noyau est trop récent : revenir à une version plus ancienne de la distribution
    Voir la réponse

    Le pilote est chargé mais le firmware de la clé manque : installer son paquet

    Le message vient du noyau : c'est le pilote de la clé qui a réclamé ce fichier, donc la clé est reconnue et son pilote chargé. Beaucoup de puces ont besoin d'un microprogramme fourni à part, que la distribution propose en paquet (par exemple linux-firmware).