Noyau Linux
Linux est le nom d'un noyau de système d'exploitation de type Unix. Le noyau Linux est développé sur le modèle des logiciels libres par une importante communauté de contributeurs. Pour plus d'information sur les systèmes à base de noyau Linux, voir les pages Linux et Distribution Linux.
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. Le noyau Linux a été développé par Linus Torvalds au début des années 1990 pour la plate-forme PC (Intel x86). Depuis, il a été porté sur nombre d'architectures dont PowerPC, StrongARM, Alpha, SPARC, MIPS, etc. Il peut être au cœur autant d'un ordinateur personnel que d'un superordinateur, voire d'un système embarqué tel un téléphone portable ou un assistant personnel.
Ses caractéristiques principales sont d'être multitâche et multiutilisateur. Il respecte les normes POSIX ce qui en fait un digne héritier des systèmes UNIX. Au départ, le noyau a été conçu pour être monolithique. Ce choix technique fut l'occasion de débats enflammés avec Andrew S. Tanenbaum, professeur à l'université libre d'Amsterdam, qui avait développé Minix, Andrew Tannebaum arguant que les noyaux modernes se devaient d'être des micro-noyaux et Linus répondant que les performances des micronoyaux n'étaient pas bonnes. Depuis sa version 2.0, le noyau, bien que n'étant pas un micro-noyau, est modulaire, c'est-à-dire que certaines fonctionnalités peuvent être ajoutées ou enlevées du noyau à la volée (en cours d'utilisation).
| Sommaire |
Histoire
Linux a vu le jour le 5 octobre 1991 date à laquelle Linus Torvalds annonça sur le forum usenet comp.os.minix la disponibilité d'une ébauche de son système d'exploitation. C'était la version 0.02, la 0.01 ayant eu une diffusion plus que confidentielle. Le message en question ainsi que sa traduction sont à lire sur wikisource.
Avant d'être un noyau, Linux était un émulateur de terminal que Linus utilisait pour se connecter via modem au serveur de son université. Il fut écrit à l'origine de façon ludique et initié pour comprendre le fonctionnement de son ordinateur, un 386, machine très moderne pour l'époque. Après ajout de diverses fonctionnalités dont un système de fichiers compatible avec celui de minix, Linus orienta son projet vers quelque chose de plus ambitieux : un système d'exploitation aux normes POSIX.
La mise à disposition du code de Linux (qui s'était appelé Freax dans la chambre de Linus) suscita beaucoup d'intérêt de la communauté des utilisateurs de minix. Dès lors, des centaines de programmeurs bénévoles à travers le monde ont participé à ce projet.
Chronologie du noyau Linux
| Version | Date | Caractéristiques |
|---|---|---|
| 0.01 | septembre 1991 | diffusion confidentielle |
| 0.02 | 5 octobre 1991 | annonces sur usenet, système quasi inutilisable |
| 0.03 | octobre 1991 | bash et gcc disponibles en binaire |
| 0.10 | décembre 1991 | premières contributions externes, internationalisation du clavier |
| 0.11 | mi-décembre 1991 | pilote pour disquette, SCSI en développement |
| 0.12 | 5 janvier 1992 | mémoire virtuelle, système utilisable, plus de matériel supporté, diffusé en GNU GPL, consoles virtuelles |
| 0.95 | 7 mars 1992 | init/login, X window porté, la communauté Linux existe : alt.os.linux |
| 0.95a | 17 mars 1992 | Nouveau mainteneur pour les linux root diskette : Jim Winstead |
| 0.96 - 0.99 patch level 15Z | 2 ans de développement, pour l'ajout de fonctionnalités et de corrections, les forums comp.os.linux.* sont des plus fréquentés de usenet et sont réorganisés 3 fois, signe que la communauté grandit et est très active. | |
| 1.0 | mars 1994 | Linux est stable, pour la production et fournit les services d'un unix classique |
| 1.2 | mars 1995 | Beaucoup plus d'architectures processeur, modules chargeables, ... |
| 2.0 | juillet 1996 | PowerPC, Multiprocesseur, plus de matériels supportés, gestion du réseau plus complète, apparition de la mascote Tux |
| 2.2 | janvier 1999 | FrameBuffer, NTFS, Joliet, IPv6,... |
| 2.4 | janvier 2001 | USB, PCMCIA, I2O, NFS 3, ... |
| 2.6 | decembre 2003 | ALSA, noyau préemptible, NFS 4, ... |
La numérotation du noyau se fait à l'aide de trois chiffres, un majeur (W), un mineur (X) et celui de la mise-à-jour (Y). Ainsi nous avons une numérotation de la forme W.X.Y pour le noyau. Les noyaux stables ont un numéro mineur pair (X pair). Les autres sont en branche de développement.
Après la sortie du noyau 2.6, une nouvelle forme de numérotation a fait son apparition : 2.6.Y.Z, où Y représente la mise à jour et Z représente les corrections de bogues ainsi que les problèmes de sécurité importants.
Compilation du noyau
Le code source du noyau Linux est disponible sur le site kernel.org. Pour compiler votre nouveau noyau, tapez ces commandes dans l'ordre :
- make mrproper (pas besoin sur les noyaux 2.6)
- make xconfig ou make menuconfig ou make config
- make dep (pas besoin sur les noyaux 2.6)
- make clean
- make bzImage
- make modules
- make modules_install
Note : avec un noyau 2.6, il suffit de taper make puis make modules en utilisateur, et enfin make modules_install en root.
