Programmation modules sous Linux  (partie 1)

Suivant
Informations système
I . Le noyau
1 . Présentation
2 . Rôles
3 . Principe
4 . Strucure du noyau
5 . Mode kernel/user
6 . Appels systèmes
7 . Gestion du noyau
8 . Création d'un noyau

1 . Présentation

Fichier exécutable chargé en mémoire et exécuté au démarrage de la machine
Son nom n'est pas standardisé (souvent vmlinuz)
Doit être présent sur le disque de boot dans le répertoire /boot
Possibilité de construire son propre noyau


2 . Rôle

Le noyau assure la gestion des ressources physiques et logiques du système :

  gestion des périphériques par les pilotes ou drivers
  gestion des fichiers par la couche VFS (Virtual File System) qui permet une gestion uniforme des systèmes de fichiers (ext2, vfat, nfs, smb, ...)
  gestion des processus pris en charge par l'ordonnanceur (scheduler)


3 . Principe


4 . Structure du noyau


5 . Mode kernel/user

Un processus possède deux niveaux d’exécution : noyau (Kernel) et utilisateur (User).

   Le mode noyau constitue un mode privilégié : aucune restriction n’est imposée au noyau du système. Ce dernier peut utiliser l’ensemble des instructions du processeur, manipuler toute la mémoire et dialoguer directement avec tous les contrôleurs de périphériques.

   Le mode utilisateur est le mode d’exécution normale d’un processus. Celui ci ne possède aucun privilège : certaines instructions lui sont interdites, il n’a accès qu’aux zones qui lui sont allouées et il ne peut interagir avec la machine physique. Un processus en mode utilisateur effectue des opérations dans son environnement, sans interférer avec les autres processus et peut être interrompu à tout moment. Il ne peut pas accéder directement aux ressources de la machine : il doit, pour cela, effectuer des appels systèmes.


6 . Appels systèmes

Les processus utilisent les services par l'intermédiaire d'une interface de programmation : une API.
Une API regroupe un ensemble de fonctions du noyau : les primitives ou appels systèmes (system calls).
Les primitives sont le seul et unique moyen pour accèder aux fonctionnalités du noyau.
API POSIX, définie par l'IEEE et normalisée par l'ISO
Programmation de base : langage C
Exemple de primitives : open(), read(), write() et close().


7 . Gestion du noyau

On peut modifier ou construire un noyau pour :

   Ajouter un périphérique et son pilote
   Ajouter une nouvelle fonctionnalité au noyau
   Retirer des pilotes ou des fonctionnalités non utilisées
   Installer un noyau plus récent
   Installer un noyau monolithique


8 . Création d'un noyau

La procédure pour construire un nouveau noyau sera la suivante :

  1) Sauvegarder l'ancien noyau, ses modules et ses fichiers de configuration
  2) Installer les sources du noyau
  3) Configurer le noyau
  4) Compiler le noyau et les modules
  5) Installer le nouveau noyau et ses modules
  6) Configurer le chargeur de boot (LILO)
  7) Créer une disquette de démarrage
  8) Arrêter le système et redémarrer


Précédent
Sommaire
Sommaire
 
Suivant
Informations système
© 2002 for www.tvtsii.net by tv