Noyau Linux 88628 31615679 2008-07-16T07:23:29Z SRombauts 6198 /* Chronologie */ ajout de "[[point de montage|montage]] "--bind" en lecture seule" pour le dernier noyau {{Infobox Logiciel | nom = Linux | logo = [[Image:NewTux.svg|48px|Tux, le manchot]] | image = | description = | développeurs = [[Linus Torvalds]] et des milliers de contributeurs | dernière version = {{Dernière version stable/Noyau Linux}} | version avancée = {{Dernière version avancée/Noyau Linux}} | environnement = [[GNU/Linux]] | langue = | type = [[Noyau de système d'exploitation|Noyau]] | licence = [[Licence publique générale GNU|GNU GPL 2]] | site web = [http://www.kernel.org/ www.kernel.org] }} Le '''noyau Linux''' est un [[Noyau (informatique)|noyau]] de [[système d'exploitation]] de type [[Unix]]. Le noyau Linux est un [[logiciel libre]] développé par une large communauté de contributeurs. Formellement, « [[Linux]] » est le nom du seul noyau, mais dans les faits, on appelle souvent « Linux » l'ensemble du système d'exploitation, aussi appelé « [[GNU/Linux]] », voire l'ensemble d'une [[distribution Linux]]. Le noyau est le cœur du système, c'est lui qui s'occupe de fournir aux [[logiciel]]s 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 les [[compatibles PC]], d'architecture [[x86]]. Depuis, il a été [[Portage informatique|porté]] sur nombre d'architectures dont [[m68k]], [[PowerPC]], [[StrongARM]], [[Alpha]], [[SPARC]], [[Architecture MIPS|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 [[multi-utilisateur]]. 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 Tanenbaum 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). == Histoire == Le noyau Linux a vu le jour le {{Date|5|octobre|1991}}, date à laquelle [[Linus Torvalds]] annonça sur le forum [[Usenet]] [news://comp.os.minix comp.os.minix] la disponibilité d'une ébauche de son [[système d'exploitation]]<ref>Le message sur [[s:Naissance de Linux|wikisource]]</ref>. C'était la version 0.02, la 0.01 ayant eu une diffusion plus que confidentielle<ref>[[Linus Torvalds]] a annoncé publiquement qu'il travaillait sur un nouveau système d'exploitation le {{Date|25|août|1991}}</ref>. Avant d'être un [[Noyau (informatique)|noyau]], Linux était un émulateur de [[Terminal informatique|terminal]] que Linus utilisait pour se connecter via un [[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 [[Intel 80386|80386]], machine très moderne pour l'époque. Après ajout de diverses fonctionnalités dont un système de fichiers hérité 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 milliers de [[programmeur]]s bénévoles à travers le monde ont participé à ce projet. == Développement du noyau Linux == Le noyau Linux n'est pas développé par une entreprise, mais par une communauté de [[Programmeur|développeur]]s bénévoles, de nombreux développeurs étant toutefois rémunérés pour ce travail par des entreprises (parfois concurrentes). La [[licence de logiciel|licence]] du noyau Linux est la [[licence publique générale GNU]]. Cette licence est libre, ce qui permet d'utiliser, copier et modifier le code source selon ses envies ou ses besoins. Ainsi, quiconque a les connaissances nécessaires peut participer aux tests et à l'évolution du [[Noyau (informatique)|noyau]]. Le noyau Linux 2.6 fournit plus de 200 [[appel système|appels systèmes]] possibles aux applications listés dans <tt>&lt;asm/unistd.h&gt;</tt> === Rôle de Linus Torvalds === Linus Torvalds, créateur du noyau Linux, est le mainteneur officiel depuis le début en 1991. Il est une sorte de « dictateur bienveillant », l'autorité en terme de choix techniques et organisationnels. Les différentes versions du noyau publiées par Linus Torvalds s'appellent « mainline » ou « vanilla » en anglais. Ce sont les noyaux vanilla qui sont intégrés par les distributeurs, avec l'addition de quelques patches de sécurité, de corrections de bogue ou d'optimisations. === Mode de numérotation === Les numéros de version du noyau sont composés de trois chiffres : le premier est le numéro majeur, le second le numéro mineur. Avant l'apparition des versions 2.6.x, les numéros mineurs pairs indiquaient une version stable et les numéros mineurs impairs une version de développement. Ainsi, les versions 2.2, 2.4 sont stables, les versions 2.3 et 2.5 sont des versions de développement. Cependant, depuis la version 2.6 du noyau, ce modèle de numérotation stable/développement a été abandonné et il n'y a donc plus de signification particulière aux numéros mineurs pairs ou impairs. Le troisième chiffre indique une révision, ce qui correspond à des corrections de bogues, de sécurité ou un ajout de fonctionnalité, par exemple 2.2.26, 2.4.30 ou 2.6.11. Depuis mars 2005 (date de publication du noyau 2.6.11), Greg Kroah-Hartman et Chris Wright tentent de maintenir une branche stabilisée du noyau vanilla de Linus Torvalds. Leur but est de stabiliser davantage le noyau, en intégrant des patches de correction de bogues, de sécurité ou d'optimisation simples et concis répondant à des critères stricts. Cette branche n'intègre pas de nouvelles fonctionnalités. Leurs publications sont indiquées par un quatrième chiffre de version, par exemple 2.6.11.1 ou 2.6.11.6. Le fonctionnement technique et organisationnel de cette branche sera éprouvé avec le temps, sur le moyen et long terme. === Les patches === Il existe une multitude de [[Patch (informatique)|patches]] disponibles sur Internet au sein de la communauté de développement du noyau Linux. Les plus connus sont ceux d'[[Andrew Morton]] suffixés -mm qui intègrent des patches de fonctionnalités et optimisations très demandées et les WOLK (Working Over Loaded Kernel, noyau surchargé fonctionnel). Les patches d'[http://kerneltrap.org/node/517 Ingo Molnar] suffixés -rt sont utilisés par les distributions linux multimédia comme [[Demudi Linux|DeMuDi]] ; ils permettent d'obtenir les performances temps réel nécessaires au bon fonctionnement d'une station de travail multimédia professionnelle. Ingo Molnar est aussi à l'origine du débogueur du noyau [[kgdb]]. <!--À COMPLÉTER--> === Chronologie === {| class="wikitable" ! Version !! Date !! Caractéristiques |- | 0.01 || {{Date|17|septembre|1991|en informatique}} || diffusion confidentielle |- {{ligne grise}} | 0.02 || {{Date|5|octobre|1991|en informatique}} || annonces sur usenet, système quasi inutilisable |- | 0.03 || {{Date||octobre|1991|en informatique}} || bash et gcc disponibles en binaire |- {{ligne grise}} | 0.10 || {{Date||décembre|1991|en informatique}} || premières contributions externes, internationalisation du clavier |- | 0.11 || mi-décembre 1991 || pilote pour disquette, [[Small Computer System Interface|SCSI]] en développement |- {{ligne grise}} | 0.12 || {{Date|5|janvier|1992|en informatique}} || mémoire virtuelle, système utilisable, plus de matériel supporté, diffusé en [[Licence publique générale GNU|GNU GPL]], consoles virtuelles |- | 0.95 || {{Date|7|mars|1992|en informatique}} || init/login, [[X Window System|X Window]] est porté, un [[groupe de discussion]] existe : alt.os.linux |- {{ligne grise}} | 0.95a || {{Date|17|mars|1992|en informatique}} || 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 les plus fréquentés de usenet et sont réorganisés 3 fois, signe que la communauté grandit et est très active. |- {{ligne grise}} | 1.0 || {{Date||mars|1994|en informatique}} || Le noyau Linux est stable, pour la production et fournit les services d'un [[UNIX]] classique |- | 1.2 || {{Date||mars|1995|en informatique}} || Beaucoup plus d'architectures processeur, modules chargeables, … |- {{ligne grise}} | 2.0 || {{Date||juillet|1996|en informatique}} || [[PowerPC]], [[Multiprocesseur]], plus de matériels supportés, gestion du réseau plus complète, apparition de la mascote [[Tux]] |- | 2.2 || {{Date||janvier|1999|en informatique}} || [[FrameBuffer]], [[New Technology File System|NTFS]], [[Joliet (système de fichiers)|Joliet]], [[IPv6]], … |- {{ligne grise}} | 2.4 || {{Date||janvier|2001|en informatique}} || [[Universal Serial Bus|USB]], [[Personal Computer Memory Card International Association|PCMCIA]], I2O, [[Network File System|NFS]] 3, … |- | 2.6 || {{Date||décembre|2003|en informatique}} || [[Advanced Linux Sound Architecture|ALSA]], noyau préemptible, [[Network File System|NFS]] 4, … |- | 2.6.21 || {{Date||avril|2007|en informatique}} || Interface de paravirtualisation [[VMI]], [[Dynticks]] et [[Clockevents]], … |- {{ligne grise}} | 2.6.22 || {{Date||juillet|2007|en informatique}} || Toute nouvelle couche wifi, allocateur de mémoire SLUB, [[Ordonnancement d'E/S|ordonnanceur d'E/S]] [[CFQ]], nouveaux pilotes … |- {{ligne grise}} | 2.6.23 || {{Date||octobre|2007|en informatique}} || Nouvel [[Ordonnancement dans les systèmes d'exploitation|ordonnanceur de tâches]] [[Completely Fair Scheduler|CFS]], environnement de support des pilotes en espace utilisateur UIO intégré au noyau, SLUB allocateur de mémoire par défaut, … |- {{ligne grise}} | 2.6.24 || {{Date||janvier|2008|en informatique}} || Unification des architectures [[x86|i386 et x86_64]], [[Entrées-Sorties|E/S]] vectorielles, authentification des périphériques USB, ordonnancement de groupe avec [[Completely Fair Scheduler|CFS]], … |- {{ligne grise}} | 2.6.25 || {{Date||avril|2008|en informatique}} || SMACK (alternative à [[SELinux]]), gestion du bus [[Controller area network|CAN]], refonte de ''timerfd'', amélioration de la gestion du [[Système temps réel|temps réel]]… |- {{ligne grise}} | 2.6.26 || {{Date|13|juillet|2008|en informatique}} || Intégration du débogueur du noyau [[kgdb]], début de support des [[Topologie mesh|réseaux à topologie maillée]] unifiée, support des écrans [[Braille]], support du [[PAT]] pour architecture [[x86]], [[point de montage|montage]] "--bind" en lecture seule, gestion de droits de sécurité par [[processus]] ([[securebits]]), amélioration de la [[virtualisation]] avec [[Kernel-based Virtual Machine|KVM]]… |} === Compilation du noyau === Le [[code source]] du noyau Linux est disponible sur le site [http://www.kernel.org kernel.org]. Pour compiler votre nouveau noyau, tapez ces commandes dans l'ordre : * <tt>make mrproper</tt> * <tt>make xconfig</tt> ou <tt>make menuconfig</tt> ou <tt>make config</tt> ou <tt>make oldconfig</tt> * <tt>make dep</tt> (pas besoin sur les noyaux 2.6) * <tt>make clean</tt> * <tt>make bzImage</tt> * <tt>make modules</tt> * <tt>make modules_install</tt> '''Notes :''' avec un noyau 2.6, il suffit, en [[Utilisateur root|root]], de taper <code>make menuconfig</code>, puis <code>make</code>, et enfin <code>make modules_install</code>. Vous devrez ensuite copier le fichier arch/i386/boot/bzImage en fichier /boot/vmlinuz-(version du noyau), par la commande <code>cp arch/i386/boot/bzImage /boot/vmlinuz-(version du noyau)</code>, puis de modifier ou ajouter une entrée dans /etc/lilo.conf, et taper la commande <code>lilo</code> si vous utilisez lilo, ou dans /boot/grub/menu.lst si vous utilisez grub. Certaines distributions (Debian, Ubuntu, …) proposent un utilitaire <tt>make-kpkg</tt> pour fabriquer un paquet installable d'un noyau. == Litiges == Simple défi d'étudiant au départ, le noyau Linux est devenu, en tant que concurrence gratuite commerciale ou non, une menace pour les autres systèmes d'exploitations commerciaux. Ces dernières années, il a été la cible de campagnes publicitaires et d'actions en justice. La nature même du développement décentralisé du noyau Linux, les milliers de participations à son évolution de la part d'entreprises ou de particuliers, et la protection du code source par la licence [[Licence publique générale GNU|GPL]] juridiquement contestée en font une structure peu apte à se défendre de manière autonome. Face à un concurrent coriace sur le plan du rapport qualité/prix, il est donc tentant de porter la concurrence sur le terrain juridique. # '''Sur la marque''' : En [[1995]], Linux avait acquis une certaine notoriété ; un particulier eut l'idée de déposer la marque '''Linux''', ce que personne n'avait fait (la même chose était arrivée avec [[Mouvement de libération des femmes|MLF]] quelques années avant en France). La réaction fut vive dans toute la communauté, le litige se régla à l'amiable et '''Linus''' devint propriétaire du nom Linux (et donc libre de le refuser ou non à une distribution qu'il estimerait s'écarter trop du projet initial). # '''Sur les droits d'auteur''' : un procès opposa [[SCO Group|SCO]] à [[International Business Machines Corporation|IBM]] au sujet du noyau Linux : voir à ce sujet [[SCO contre Linux]]. # '''Sur les brevets logiciels''' : incompatibles avec l'idée de logiciel libre et celle d'[[interopérabilité]] indispensable à leurs succès, les [[brevet logiciel|brevets logiciels]] sont une [[épée de Damoclès]] pesant sur la communauté Linux, qui se mobilisa au [[Parlement européen]], et réussit à y faire échec. == Notes == <references /> == Voir aussi == === Articles connexes === * [[Documentation du noyau Linux]] * [[initial console|La console initiale du noyau]] === Liens externes === * {{en}} [http://www.kernel.org/ Le site dépositaire des noyaux linux] * {{en}} [http://lxr.linux.no/ Linux Cross Reference] {{ODP|World/Français/Informatique/Logiciels/Systèmes_d'exploitation/Linux/}} <!-- Dans le but de limiter les liens externes puisque wikipédia n'a pas vocation à être un annuaire, les liens externes sont limités aux catégories équivalentes de DMOZ qui est un annuaire (cf. www.aef-dmoz.org) régit par un même esprit que celui de wikipédia et où vous êtes invités à enregistrer votre site plutôt que de l'ajouter ici --> {{Linux}} {{Portail|GNU/Linux|logiciels libres|informatique}} [[Catégorie:Noyau Linux|*]] [[Catégorie:Noyau informatique]] {{Lien BA|de}} [[bg:Линукс]] [[cs:Linuxové jádro]] [[csb:Linux (jądro)]] [[de:Linux (Kernel)]] [[en:Linux kernel]] [[es:Linux (núcleo)]] [[fa:هسته لینوکس]] [[ilo:Linux]] [[it:Kernel Linux]] [[ja:Linuxカーネル]] [[lv:Linux]] [[nl:Linux-kernel]] [[nn:Linux-kjernen]] [[no:Linux-kjernen]] [[pl:Linux (jądro)]] [[pt:Núcleo do Linux]] [[ro:Nucleul Linux]] [[ru:Linux (ядро)]] [[scn:Kernel Linux]] [[sh:Linux]] [[sv:Linuxkärnan]] [[th:ลินุกซ์ เคอร์เนล]] [[tl:Linux]] [[vi:Hạt nhân Linux]] [[zh:Linux 内核]]