You are on page 1of 35

Introduction Microsoft Windows

ArticleTable des matires Windows Windows Installation Icones Fentres Interface graphique Structure des dossiers Base de registre Tche DirectX Easter eggs Astuces Utilisation Optimisation Personnalisation Outils de diagnostic Organisation Scurit A lire aussi Systme d'exploitation UNIX Windows 2000/XP Mac OS MS-DOS AS/400 OS

Historique de Windows
Windows est le systme d'exploitation commercialis par la socit Microsoft, dont le sige est implant Seattle. La socit Microsoft, initialement baptis Traf-O-Data en 1972 a t rebaptise Micro-soft en novembre 1975, puis Microsoft le 26 novembre 1976.

Microsoft a dbut son activit avec la commercialisation en aot 1981 de la version 1.0 du systme d'exploitation Microsoft DOS (MS-DOS), un systme d'exploitation 16 bits en ligne de commande. La premire version de Microsoft Windows (Microsoft Windows 1.0) est apparue en novembre 1985. Il s'agissait d'une interface graphique, inspire de l'interface des ordinateurs Apple de l'poque. Windows 1.0 n'a pas eu de succs auprs du public, pas plus que Microsoft Windows 2.0, lanc le 9 dcembre 1987. C'est le 22 mai 1990 que le succs de Microsoft Windows a dbut avec Windows 3.0, puis Windows 3.1 en 1992 et enfin Microsoft Windows for Workgroup, baptis par la suite Windows 3.11, comprenant des fonctionnalits rseau. Windows 3.1 ne peut pas tre considr comme un systme d'exploitation part entire car il s'agit d'une interface graphique fonctionnant au-dessus du systme Ms-DOS. Le 24 aot 1995, Microsoft lance le systme d'exploitation Microsoft Windows 95. Windows 95 marque la volont de Microsoft de transfrer des fonctionnalits de MS-DOS dans Windows, mais cette version s'appuie encore largement sur le systme DOS 16-bits et garde notamment les limitations du systmes de fichiers FAT16, si ce n'est la possibilit d'utiliser des noms de fichiers longs. Aprs des rvisions mineures de Microsoft Windows 95, baptises successivement Windows 95A OSR1, Windows 95B OSR2, Windows 95B OSR2.1 et Windows 95C OSR2.5, Microsoft commercialise le 25 juin 1998 la version suivante de Windows : Windows 98. Windows 98 intgre nativement d'autres fonctionnalits de MS-Dos mais s'appuie toujours sur ce dernier. D'autre part Windows 98 souffre d'une mauvaise gestion du partage de la mmoire entre processus, pouvant provoquer des dysfonctionnement du systme. Une seconde dition de Windows 98 parat, le 17 fvrier 2000, elle se nomme Windows 98 SE (pour Second Edition). Le 14 septembre 2000, Microsoft commercialise Windows Me (pour Millenium Edition), galement appel Windows Millenium. Windows Millenium s'appuie largement sur Windows 98 (donc sur MS-DOS), mais apporte des fonctionnalits multimdia et rseau supplmentaires. D'autre part, Windows Millenium intgre un mcanisme de restauration du systme permettant de revenir un tat prcdent en cas de plantage. Paralllement, Microsoft a lanc ds octobre 1992 un systme d'exploitation entirement 32 bits (ne s'appuyant donc pas sur MS-DOS) pour un usage professionel, une poque o les entreprises utilisaient essentiellement des mainframes. Il s'agit de Windows NT (pour Windows New Technology). Windows NT n'est donc pas une version ou une volution de Windows 95, mais un systme d'exploitation part entire. Le 24 mai 1993 la premire version de Windows NT est commercialise. Il s'agit de Windows NT 3.1, puis Windows NT 3.5 sort en septembre 1994 et Windows 3.51 en juin 1995. C'est avec Windows NT 4.0, lanc sur le march le 24 aot 1996, que Windows NT va enfin connatre un rel succs. En juillet 1998, Microsoft commercialise Windows NT 4.0 TSE (Terminal Server Emulation), le premier systme Windows permettre la possibilit de brancher des terminaux sur un serveur, c'est--dire d'utiliser des clients lgers pour accder une session ouverte sur le serveur. Le 17 fvrier 2000, la version suivante de Windows NT 4.0 est baptise Windows 2000 (en lieu et place de Windows NT 5.0) afin de montrer la convergence des systmes NT avec les systmes Windows 9x. Windows 2000 est un systme entirement 32-bits possdant les

caractristiques de Windows NT, ainsi qu'une gestion amliore des processus et une prise en charge complte des priphriques USB et Firewire. Puis, le 25 octobre 2001, Windows XP fait son apparition. Il s'agit de la convergence des systmes prcdents. Enfin le 24 avril 2003, un systme d'exploitation ddi pour les serveurs est commercialis par Microsoft : Windows Server 2003. Dernire modification le mardi 14 octobre 2008 17:40:30 par Jeff Ce document intitul Introduction Microsoft Windows issu de Comment a Marche Informatique (www.commentcamarche.net) est mis disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixes par la licence, tant que cette note apparat clairement. Installatio n Meilleures rponses Le systeme d'exploitations windows - Rechercher Windows Installer - Tlcharger Microsoft Windows Installer est un service d'installation et de configuration d'application. Il permet de grer les applications comportant l'extension MSI. WindowsInstaller-KB893803-v2x86.exe est le pack pour l'installation ou la mise jour de... Internet Explorer 8 - Tlcharger Cette nouvelle version du navigateur de Microsoft offre de nouvelles fonctions en plus des prcdentes. Vous aurez la possibilit d’effectuer facilement des recherches partir des services tels que : Digg, Facebook, Windows Live Spaces et bien... Microsoft windows update - Fiches pratiques Le moyen le plus commode pour tenir jour son systme est de passer par Dmarrer>Tous les programmes>Windows Update. Une fois sur le site, seules seront proposes les mises jour ncessaires. Cependant, un assez grand nombre d'utilisateurs... Microsoft windows installer vista - Fiches pratiques Pour rappel, Microsoft Windows Installer est un service d'installation et de configuration d'application, permettant de grer les applications comportant l'extension MSI. Lorsqu'une application portant l'extension .MSI est corrompue ou endommage,... Windows Mobile Device Center - Tlcharger ActiveSync est l'ancienne application permettant de synchroniser les appareils mobiles Microsoft avec un ordinateur. Avec l'arriv de Windows Vista, il est dsormais ncessaire d'utiliser Windows Mobile Device Center. Windows Mobile Device Center... System 7 intgral microsoftwindows - Guide d'achat Logiciel Librairies (DLL) - Tlcharger

Introduction microsoft pour mac - Articles La petite histoire du Macintosh Cet article a pour but de retracer lhistoire dApple (la firme la pomme) dans ses grandes lignes, et plus particulirement celle de son produit phare : le Macintosh. Steve Wozniak et Steve Jobs sont les deux... Cd d'installation microsoftwindows 2000 telecharger - Fiches pratiques Cette astuce s'applique Windows XP et Windows 2000. Rgulirement, pour effectuer des mises jour ou ajouter des composants Windows, le systme vous demande d'insrer le CD d'installation de Windows dans le lecteur. Une solution permet... Microsoft windows compatibility default - Fiches pratiques Que vous ayez install vous-mmes la mise jour SP2, ou que votre version de Windows soit directement une SP2, vous pouvez dcouvrir que certains logiciels ne fonctionnent plus ou mal ! 1 - Prcisions gnrales 2 - Compatibilits... Microsoft Windows 7 Integral OEM 32 bits - 3 postes - Guide d'achat VERSION OEM : l'origine, un logiciel OEM (Original Equipment Manufacturer) est un programme dont la vente est subordonne l'achat d'un matriel "physique" (ordinateur). - Un logiciel OEM peut tre achet par un particulier mais il faut savoir... Support IPX pour Vista - Tlcharger Le protocole IPX/SPX sert de nombreux anciens jeux pour pouvoir jouer en rseau (RedAlert, Command &Conquer, etc.). Malheureusement, Microsoft a retir le support du protocole IPX/SPX dans Vista (32bit). Nanmoins, il est possible de... Software\Microsoft\Windows\CurrentVersion et Software\Microsoft\Windows\CurrentVersion\Policies\Explorer - Fiches pratiques En temps normal, sous Windows 2000, XP, Vista, 7. une fentre s'ouvre automatiquement lors de l'insertion d'un cd, d'un DVD, d'une cl USB ou d'une carte mmoire afin de proposer diffrentes actions effectuer ("ouvrir le dossier", "copier avec...",... Verifier version microsoftwindows live messenger - Fiches pratiques Pour connatre la version de windows que vous utilisez, la manire la plus simple est la suivante: Dmarrer ->Executer -> Tapez : Winver et cliquez sur OK. Vous aurez maintenant une fentre qui va s'ouvrir, dans cette fentre il y aura la version... TuxPaint - Tlcharger TuxPaint est un logiciel de dessin libre conu pour les jeunes enfants gs de 3 ans et plus. Il possde une interface simple avec un assistant anim dont l'objectif est d'encourager les enfants crer des dessins. TuxPaint propose un canevas... Plus

Internet Explorer 8
La rdaction vous conseille de dcouvrir la nouvelle version d'IE 8 optimise pour CommentCaMarche

Top of Form

Systme d'exploitation
ArticleTable des matires Systmes d'exploitation Systme d'exploitation Fichier Rpertoire Extensions connues Processus et PID Types MIME Gestion de la mmoire Variables d'environnement Le bug de l'an 2000 A lire aussi Linux UNIX Windows Windows 2000/XP Mac OS MS-DOS AS/400 FAQ OS

Description du systme d'exploitation


Pour qu'un ordinateur soit capable de faire fonctionner un programme informatique (appel parfois application ou logiciel), la machine doit tre en mesure d'effectuer un certain nombre

d'oprations prparatoires afin d'assurer les changes entre le processeur, la mmoire, et les ressources physiques (priphriques). Le systme d'exploitation (not SE ou OS, abrviation du terme anglais Operating System), est charg d'assurer la liaison entre les ressources matrielles, l'utilisateur et les applications (traitement de texte, jeu vido, ...). Ainsi lorsqu'un programme dsire accder une ressource matrielle, il ne lui est pas ncessaire d'envoyer des informations spcifiques au priphrique, il lui suffit d'envoyer les informations au systme d'exploitation, qui se charge de les transmettre au priphrique concern via son pilote. En l'absence de pilotes il faudrait que chaque programme reconnaisse et prenne en compte la communication avec chaque type de priphrique !

Le systme d'exploitation permet ainsi de "dissocier" les programmes et le matriel, afin notamment de simplifier la gestion des ressources et offrir l'utilisateur une interface hommemachine (note IHM) simplifie afin de lui permettre de s'affranchir de la complexit de la machine physique.

Rles du systme d'exploitation


Les rles du systme d'exploitation sont divers :

Gestion du processeur : le systme d'exploitation est charg de grer l'allocation du processeur entre les diffrents programmes grce un algorithme d'ordonnancement. Le type d'ordonnanceur est totalement dpendant du systme d'exploitation, en fonction de l'objectif vis. Gestion de la mmoire vive : le systme d'exploitation est charg de grer l'espace mmoire allou chaque application et, le cas chant, chaque usager. En cas d'insuffisance de mmoire physique, le systme d'exploitation peut crer une zone mmoire sur le disque dur, appele mmoire virtuelle. La mmoire virtuelle permet de faire fonctionner des applications ncessitant plus de mmoire qu'il n'y a de mmoire vive disponible sur le systme. En contrepartie cette mmoire est beaucoup plus lente.

Gestion des entres/sorties : le systme d'exploitation permet d'unifier et de contrler l'accs des programmes aux ressources matrielles par l'intermdiaire des pilotes (appels galement gestionnaires de priphriques ou gestionnaires d'entre/sortie). Gestion de l'excution des applications : le systme d'exploitation est charg de la bonne excution des applications en leur affectant les ressources ncessaires leur bon fonctionnement. Il permet ce titre de tuer une application ne rpondant plus correctement. Gestion des droits : le systme d'exploitation est charg de la scurit lie l'excution des programmes en garantissant que les ressources ne sont utilises que par les programmes et utilisateurs possdant les droits adquats. Gestion des fichiers : le systme d'exploitation gre la lecture et l'criture dans le systme de fichiers et les droits d'accs aux fichiers par les utilisateurs et les applications. Gestion des informations : le systme d'exploitation fournit un certain nombre d'indicateurs permettant de diagnostiquer le bon fonctionnement de la machine.

Composantes du systme d'exploitation


Le systme d'exploitation est compos d'un ensemble de logiciels permettant de grer les interactions avec le matriel. Parmi cet ensemble de logiciels on distingue gnralement les lments suivants :

Le noyau (en anglais kernel) reprsentant les fonctions fondamentales du systme d'exploitation telles que la gestion de la mmoire, des processus, des fichiers, des entressorties principales, et des fonctionnalits de communication. L'interprteur de commande (en anglais shell, traduisez coquille par opposition au noyau) permettant la communication avec le systme d'exploitation par l'intermdiaire d'un langage de commandes, afin de permettre l'utilisateur de piloter les priphriques en ignorant tout des caractristiques du matriel qu'il utilise, de la gestion des adresses physiques, etc. Le systme de fichiers (en anglais file system, not FS), permettant d'enregistrer les fichiers dans une arborescence.

Systmes multitches
Un systme d'exploitation est dit multi-tche (en anglais multithreaded) lorsque plusieurs tches (galement appeles processus) peuvent tre excutes simultanment. Les applications sont composes en squence d'instructions que l'on appelle processus lgers (en anglais threads). Ces threads seront tour tour actifs, en attente, suspendus ou dtruits, suivant la priorit qui leur est associe ou bien excuts squentiellement.

Un systme est dit premptif lorsqu'il possde un ordonnanceur (aussi appel planificateur), qui rpartit, selon des critres de priorit, le temps machine entre les diffrents processus qui en font la demande. Le systme est dit temps partag lorsqu'un quota de temps est allou chaque processus par l'ordonnanceur. C'est notamment le cas des systmes multi-utilisateurs qui permettent plusieurs utilisateurs d'utiliser simultanment sur une mme machine des applications diffrentes ou bien similaires : le systme est alors dit systme transactionnel. Pour ce faire, le systme alloue chaque utilisateur une tranche de temps.

Systmes multi-processeurs
Le multiprocessing est une technique consistant faire fonctionner plusieurs processeurs en parallle afin d'obtenir une puissance de calcul plus importante que celle obtenue avec un processeur haut de gamme ou bien afin d'augmenter la disponibilit du systme (en cas de panne d'un processeur). On appelle SMP (SymmetricMultiprocessing ou SymmetricMultiprocessor) une architecture dans laquelle tous les processeurs accdent un espace mmoire partag. Un systme multiprocesseur doit donc tre capable de grer le partage de la mmoire entre plusieurs processeurs mais galement de distribuer la charge de travail.

Systmes embarqus
Les systmes embarqus sont des systmes d'exploitation prvus pour fonctionner sur des machines de petite taille, telles que des PDA (personal digital assistants ou en franais assistants numriques personnels) ou des appareils lectroniques autonomes (sondes spatiales, robot, ordinateur de bord de vhicule, etc.), possdant une autonomie rduite. Ainsi, une caractristique essentielle des systmes embarqus est leur gestion avance de l'nergie et leur capacit fonctionner avec des ressources limites. Les principaux systmes embarqus grand public pour assistants numriques personnels sont : PalmOS Windows CE / Windows Mobile / Window Smartphone

Systmes temps rel


Les systmes temps rel (real time systems), essentiellement utiliss dans l'industrie, sont des systmes dont l'objectif est de fonctionner dans un environnement contraint temporellement. Un systme temps rel doit ainsi fonctionner de manire fiable selon des contraintes temporelles spcifiques, c'est--dire qu'il doit tre capable de dlivrer un traitement correct des informations reues des intervalles de temps bien dfinis (rguliers ou non). Voici quelques exemples de systmes d'exploitation temps rel :

OS-9 ; RTLinux (RealTime Linux) ; QNX ;

VxWorks.

Les types de systmes d'exploitation


On distingue plusieurs types de systmes d'exploitation, selon qu'ils sont capables de grer simultanment des informations d'une longueur de 16 bits, 32 bits, 64 bits ou plus.

Codage Mono-utilisateur Multi-utilisateur Mono-tche Multitche DOS 16 bits X X Windows3.1 16/32 bits X non premptif Windows95/98/Me 32 bits X coopratif WindowsNT/2000 32 bits X premptif WindowsXP 32/64 bits X premptif Windows7 32/64 bits X premptif Unix / Linux 32/64 bits X premptif MAC/OS X 32 bits X premptif VMS 32 bits X premptif ordinateur ses paramtres dusine par dfaut ou une image systme personnalise partir dune image stocke dans une partition masque sur le disque... Systeme d'exploitation windows - Articles Supprimer le mot de passe de l'cran de veille Il est possible de dsactiver l'utilisation du mot de passe dans la mise en veille, par l'intermdiaire de la base de registre sans connatre celui-ci. Pour cela, lancez RegEdit, allez dans... Systeme d'exploitation ms dos - Articles La cration du DOS Le DOS est le systme d'exploitation le plus connu, sa version la plus commercialise est celle de Microsoft, baptise MS-DOS (il en existe d'autres comme DR-DOS). MS-DOS a vu le jour en 1981 lors de son utilisation sur un IBM... Logiciel Systme - Tlcharger La section "systme" propose des utilitaires permettant d'optimiser votre systme d'exploitation, de surveiller son fonctionnement et de grer vos fichiers. Windows Vista SP1 - Tlcharger Fiabilit et Compatibilit Nous avons collect un grand nombre dinformations via les outils divers et connus (Analyseur de crash en ligne, Windows ErrorReporting ou encore le programme damlioration dexprience utilisateur) pour nous permettre de... Votre ordinateur ne peut pas excuter cette version du systeme d'exploitation - Fiches pratiques

Systme

La liste ci-dessous dtaille les codes d'erreur s'affichant dans les botes de dialogue sous Windows : Code Description ------------------------ 1 Fonction incorrecte. 2 Le fichier spcifi est introuvable. 3 Le chemin d'accs spcifi... Comment installer un systme d'exploitation - Articles Installation Pour installer MS-DOS, il faut s'assurer que les paramtres du BIOS sont configurs de telle faon que le disque s'amorce sur le lecteur A puis sur le disque (boot sequence: A,C). Il faut ensuite mettre la disquette 1 dans l'unit A,... HTC P3470 - Guide d'achat P 3470, Autonomie en conversation : 7 heures, autonomie en veille : 240 heures, Appareil photo : Oui, Integr, WAP, GPRS, MP3, Systme d'Exploitation:Windows Mobile, cran couleur, Nombre de couleurs:65, 536, cran tactile, Taille de l'cran:240x320 ... Chapitre 1: Introduction Rle de systmed'exploitation
L'activit principale du systme d'exploitation est de grer les ressources matrielles en permettant leur allocation et leur partage. Ce dernier point augmente les performances du systme en autorisant plusieurs programmes d'applications d'utiliser simultanment diffrentes parties de la machine. Il est ainsi pour beaucoup l'interface, construisant pour l'utilisateur, une machine virtuelle plus facile programmer que la machine relle. Le systme d'exploitation transforme donc, par sa gestion des ressources matrielles, la machine physique en une machine virtuelle aux capacits infiniment plus grandes que la machine relle et certainement beaucoup plus souples et plus faciles exploiter : C'est ainsi que la gestion de l'unit centrale assure par un systme temps-partag va permettre chacun des utilisateurs de ce systme d'avoir l'illusion de possder chacun un processeur (virtuel) qui travaille exclusivement pour excuter ses programmes. De mme, la gestion approprie de la mmoire centrale permettra : Le chargement de plusieurs programmes la fois dans cette mme mmoire centrale. L'excution de programmes bien plus grands que la taille de la mmoire centrale

Pour se rendre compte de l'importance du rle du systme en tant qu'interface pour les programmes d'applications, il suffit de considrer le cas d'une machine, fort heureusement irrel, dmunie d'un systme d'exploitation et sur laquelle nous devons dvelopper quelques programmes d'applications. Imaginez l'effort et le temps, ncessaires la mise au point des parties des programmes devant interagir avec le matriel et les priphriques. Ces efforts et ces difficults sont indpendants de la nature de l'application traite. Et pour se convaincre encore plus, il suffit d'imaginer la quantit de travail de maintenance devant tre porte au programme si un de ces priphriques d'entre-sortie est amen tre remplac par un autre non ncessairement compatible.

Top of Form

| Version sans menu |

Systmes d'exploitation

But : Expliquer le fonctionnement et les principes d'un systme d'exploitation. Gnralits Gestion de la mmoire Multitche Interface graphique Rle d'un pilote de priphrique

Gnralits | (Haut de page) |


Un ordinateur seul ne peut effectuer rien de trs utile. Pour lui un disque dur n'est qu'un endroit pour stocker des 0 et des 1 et une carte graphique n'est qu'un module mis dans un emplacement. Pour lui dire que faire de tout cela, il y a une premire couche logicielle qui est le systme d'exploitation (sur un PC il y a le BIOS avant tout). On y trouve dedans tout ce qui est ncessaire pour grer le matriel et fournir l'utilisateur les fonctions de base. Certains systmes d'exploitation relativement rcents rendent tout cela un peu confus en mlangeant toutes les couches. L'interface graphique est fournie avec le systme d'exploitation comme c'est le cas par exemple avec Windows depuis la version 95. Pour qui souhaite un peu mieux comprendre l'architecture interne, il vaut mieux s'intresser un systme comme GNU/Linux qui met plus en vidence ce dcoupage.

Gestion de la mmoire | (Haut de page) |


Un des premiers rles du systme d'exploitation est de grer la mmoire disponible sur la machine. Par cela, il s'agit de la RAM prsente sur la machine, mais pas seulement, comme cela sera expliqu ci-aprs. Sur une machine plusieurs programmes peuvent s'excuter simultanment comme expliqu dans la section suivante. Il ne faut pas que ceux-ci puissent interfrer les uns avec les autres. Durant son droulement, une application a besoin de sauvegarder des donnes temporairement. Quand vous utilisez un traitement de texte par exemple, il conserve la police actuellement utilise. Cela se fait dans la mmoire. Et il ne faut pas que le jeu qui est en train d'tre utilis en mme temps puisse altrer cette valeur lorsqu'il enregistre l'emplacement actuel du joueur.

Pour raliser cela, les programmes ne peuvent pas crire directement dans la RAM de la machine. Pour eux tout se passe comme si c'tait le cas, mais le systme d'exploitation se charge d'crire dans certaines zones indpendantes les unes des autres. Le programme voit un espace de mmoire virtuelle dans lequel il peut faire ce qu'il veut sans risquer de dranger les autres. Cet espace a une taille de 4 Go sur une machine 32 bits (il est divis en plusieurs parties, mais en dire plus ne sera pas utile dans cet article). Un PC standard actuel a 256 Mo de RAM. Il n'est donc pas possible d'y mettre les 4Go voqus prcdemment. D'autant plus si cela doit tre multipli par le nombre de programmes. Pour rsoudre ce problme, il y a la notion de fichier d'change (ou swap). La place supplmentaire ncessaire est prise sur le disque dur. Si la mmoire est pleine et qu'il faut y crire de nouvelles donnes, les plus anciennes (ou les moins frquemment utilises) seront sauvegardes sur le disque pour librer de l'espace. Un programme ne peut travailler directement qu'avec les donnes en mmoire vive. Donc si celles qui avaient t sauvegardes sont requises, elles suivront le chemin inverse pour revenir en mmoire depuis le disque. Tout ce mcanisme est invisible pour l'application. C'est le systme d'exploitation qui se charge de ces oprations selon les besoins. Les temps d'accs au disque dur sont coteux. Donc si la mmoire est insuffisante par rapport aux applications utilises, l'utilisation du swap sera intensive et ralentira la machine.

Multitche | (Haut de page) |


Sur un PC standard, on a un seul processeur. Celui-ci ne peut globalement excuter qu'une opration la fois. Or lorsqu'on l'utilise, on peut en mme temps regarder une vido, relever ses mails et graver un CD-ROM par exemple. Vu de l'utilisateur, c'est comme si tous ces programmes s'excutaient simultanment. En fait il n'en est rien du fait des limitations matrielles. Le rle du systme d'exploitation est de faire excuter tour tour ces applications. Chacune va son tour disposer de l'unit de calcul (le processeur) pour raliser ce qu'il dsire. Cet intervalle de temps (time-slice en anglais) peut varier selon les systmes de quelques millisecondes plusieurs dizaines de millisecondes. Plus la valeur est faible, plus l'impression de multitche sera grande. Mais le passage d'une application une autre a un cot en termes de temps. Il faut restaurer le contexte dans lequel se trouvait l'application avant que l'accs au processeur lui ait t retir. Il faut donc trouver le bon compromis pour que tout le temps ne soit pas pass basculer. Cette restauration de contexte comprend notamment le rtablissement de l'espace de mmoire virtuelle voqu ci-dessus. Il y a aussi le processeur qui doit tre remis comme il tait lorsque le programme a t interrompu. Il faut noter qu'une application ne sait pas quand elle ne sera plus excute pour laisser la place une autre. On parle de multitche premptif. C'est le systme d'exploitation qui prend la dcision. Sur d'anciens systmes on avait un multitche coopratif, appel parfois aussi pseudomultitche. Dans ce cas-l, c'taient les applications qui dcidaient qu'elles n'avaient pendant un certains temps plus besoin du processeur (par exemple si elles attendent des donnes provenant du disque dur ou du rseau) et peuvent donc tre mise en sommeil. Windows 3.1 rajoutait cette couche de multitche coopratif sur MS DOS qui tait monotche.

Interface graphique | (Haut de page) |

Comme dit prcdemment, l'interface graphique ne fait pas rellement partie du systme d'exploitation lui-mme. L'interface graphique vient se placer au-dessus de ce dernier et se divise encore en plusieurs parties. Tout d'abord la partie la plus proche du matriel qui comprend les pilotes des cartes graphiques (voir section suivante). Cette partie utilise les spcificits du matriel pour fournir des fonctions de base (afficher ou dplacer un rectangle par exemple) ou plus avances (gestion de la 3D notamment). Sous GNU/Linux c'est le plus souvent gr par XFree86. Ensuite vient le gestionnaire de fentres. Il permet d'avoir comme son nom l'indique des fentres pour les applications. Celles-ci peuvent tre agrandies, rduites,... Et le passage d'une application une autre est facilit. Sous GNU/Linux on peut citer Window Maker, KWM ou Sawfish parmi de nombreux autres. Et enfin on trouve la partie la plus optionnelle, le gestionnaire de bureau. Il permet d'avoir un environnement de travail avec un ou plusieurs bureaux virtuels sur lesquels peuvent tre placs des liens vers des programmes. Il y a aussi gnralement d'autres outils comme une barre des tches ou des menus configurables. Les deux reprsentants les plus connus sous GNU/Linux sont KDE et GNOME.

Rle d'un pilote de priphrique | (Haut de page) |


Appel driver en anglais, le pilote de priphrique est l'interface entre le matriel et le systme d'exploitation. Il permet de faire l'abstraction de celui-ci (on parle de Hardware Abstraction Layer) en fournissant une interface toujours identique. Les diffrents matriels ne sont pas constitus des mmes composants lectroniques. Mais les fonctionnalits qu'ils prsentent sont les mmes. Comme exemple simple, on peut considrer les cartes graphiques. Pour faire afficher un point l'cran, diffrentes cartes ne procderont pas de la mme manire. Mais le pilote de priphrique va se charger de dialoguer avec la carte selon ses spcifications techniques. Le systme d'exploitation appelera une mthode toujours identique pour demander voir apparatre ce point. Ces diffrences matrielles peuvent tre attnues avec l'apparition de normes. Pour en revenir aux cartes graphiques, la norme VGA permet de standardiser l'initialisation et l'utilisation de la carte. Cette norme ne prvoit pas les hautes rsolutions, ni les fonctions 3D. Pour ces dernires, on en revient des spcificits pour chaque fabricant/modle. Les drivers sont considrs comme faisant partie du systme d'exploitation. Ils ne le sont pas forcment au sens logiciel, car ils peuvent tre fournis sparment par le constructeur. Mais ils s'excutent dans un mode spcial, appel mode rel. Ce mode leur permet de contourner les protections du systme d'exploitation du mode protg (dont notamment le contrle de la mmoire).

|
Bottom of Form

Lisez l'appel personnel de Jimmy Wales, fondateur de Wikipdia

Noyau de systme d'exploitation Un article de Wikipdia, l'encyclopdie libre. Aller : Navigation, rechercher Pour les articles homonymes, voir noyau. Un noyau de systme dexploitation, ou simplement noyau, ou kernel (de l'anglais), est la partie fondamentale de certains systmes dexploitation. Il gre les ressources de lordinateur et permet aux diffrents composants matriels et logiciels de communiquer entre eux. En tant que partie du systme dexploitation, le noyau fournit des mcanismes dabstraction du matriel, notamment de la mmoire, du (ou des) processeur(s), et des changes dinformations entre logiciels et priphriques matriels. Le noyau autorise aussi diverses abstractions logicielles et facilite la communication entre les processus. Le noyau dun systme dexploitation est lui-mme un logiciel, mais ne peut cependant utiliser tous les mcanismes dabstraction quil fournit aux autres logiciels[note 1]. Son rle central impose par ailleurs des performances leves. Cela fait du noyau la partie la plus critique dun systme dexploitation et rend sa conception et sa programmation particulirement dlicates. Plusieurs techniques sont mises en uvre pour simplifier la programmation des noyaux tout en garantissant de bonnes performances. Sommaire [masquer] 1 Gnralits 1.1 Systmes noyaux restreints

2 Fonctions gnralement remplies par un noyau 2.1 Ordonnanceur 2.2 Gestionnaire de mmoire 2.3 Appels systme 2.4 Gestion du matriel 3 Diffrents types de noyaux 3.1 Noyaux monolithiques non modulaires 3.2 Noyaux monolithiques modulaires 3.3 Systmes micro-noyaux 3.3.1 Avantages et inconvnients dun systme micro-noyau 3.3.2 Exemple dassociations micro-noyaux - noyaux enrichis systme dexploitation 3.4 Noyaux hybrides 3.5 Exo-noyaux 3.6 Mta-noyaux 4 Noyaux temps rel 5 Synthse des principaux noyaux et de leurs architectures 6 Notes et rfrences 7 Voir aussi 7.1 Bibliographie 7.2 Articles connexes 7.3 Liens externes Gnralits [modifier] En informatique, le noyau dun systme dexploitation est le logiciel qui assure : la communication entre les logiciels et le matriel ; la gestion des divers logiciels (tches) dune machine (lancement des programmes, ordonnancement) ; la gestion du matriel (mmoire, processeur, priphrique, stockage).

La majorit des systmes dexploitation est construite autour de la notion de noyau. Lexistence dun noyau, cest--dire dun programme unique responsable de la communication entre le matriel et le logiciel, rsulte de compromis complexes portant sur des questions de performance, de scurit et darchitecture des processeurs. Lexistence dun noyau prsuppose[1] une partition virtuelle de la mmoire vive physique en deux rgions disjointes, lune tant rserve au noyau (lespace noyau) et lautre aux applications (lespace utilisateur). Cette division fondamentale de lespace mmoire en un espace noyau et un espace utilisateur contribue beaucoup donner la forme et le contenu actuels des systmes gnralistes (GNU/Linux, Windows, Mac OS X, etc.). Le noyau a de grands pouvoirs sur lutilisation des ressources matrielles, en particulier de la mmoire. Elle structure galement le travail des dveloppeurs : le dveloppement de code dans lespace noyau est a priori plus dlicat que dans lespace utilisateur car la mmoire nest pas protge. Le noyau offre ses fonctionnalits (laccs aux ressources quil gre) au travers des appels systme. Il transmet ou interprte les informations du matriel via des interruptions. Cest ce que lon appelle les entres et sorties. Diverses abstractions de la notion dapplication sont fournies par le noyau aux dveloppeurs. La plus courante est celle de processus (ou tche). Le noyau du systme dexploitation nest en lui-mme pas une tche, mais un ensemble de routines pouvant tre appeles par les diffrents processus pour effectuer des oprations requrant un certain niveau de privilges. Les flots dexcution dans le noyau sont des continuations des flots dexcution des processus utilisateurs bloqus lorsquils effectuent des appels systmes. En gnral, un processus bloqu ne consomme pas de temps processeur, il est rveill par le processus systme lorsque celui-ci se termine. Un processeur est capable dexcuter un seul processus, un multiprocesseur est capable de grer autant de processus quil a de processeurs. Pour pallier cet inconvnient majeur, les noyaux multitches permettent lexcution de plusieurs processus sur un processeur, en partageant le temps du processeur entre les processus. Lorsque plusieurs tches doivent tre excutes de manire parallle, un noyau multitche sappuie sur les notions de : commutation de contexte ; ordonnancement ; temps partag. Les entres et les sorties font lobjet dun traitement spcifique par lordonnanceur.

Systmes noyaux restreints [modifier] Il existe de nombreux noyaux aux fonctionnalits restreintes tels que les micronoyaux, les systmes sans noyau (MS-DOS, CP/M) ou les exo-noyaux. Ces systmes sont gnralement adapts des applications trs cibles mais posent des problmes varis (de scurit avec MS-DOS, de performances avec HURD ou QNX). La plupart dentre eux sont actuellement inadapts pour une utilisation gnraliste, dans des serveurs ou ordinateurs personnels. Fonctions gnralement remplies par un noyau [modifier] Les noyaux ont comme fonctions de base dassurer le chargement et lexcution des processus, de grer les entres/sorties et de proposer une interface entre lespace noyau et les programmes de lespace utilisateur. de rares exceptions, les noyaux ne sont pas limits leurs fonctionnalits de base. On trouve gnralement dans les noyaux les fonctions des micro-noyaux : un gestionnaire de mmoire et un ordonnanceur, ainsi que des fonctions de communication inter-processus. En dehors de fonctions prcdemment listes, de nombreux noyaux fournissent galement des fonctions moins fondamentales telles que : la gestion des systmes de fichiers ; plusieurs ordonnanceurs spcialiss (batch, temps rel, entres/sorties, etc.) ; des notions de processus tendues telles que les processus lgers ; des supports rseaux (TCP/IP, PPP, pare-feu, etc.) ; des services rseau (NFS, etc.). Enfin, la plupart des noyaux fournissent galement des modles de pilotes et des pilotes pour le matriel. En dehors des fonctionnalits de base, lensemble des fonctions des points suivants (y compris les pilotes matriels, les fonctions rseaux et systmes de fichiers ou les services) n'est pas ncessairement fourni par un noyau de systme dexploitation. Ces fonctions du systme dexploitation peuvent tre implantes tant dans lespace utilisateur que dans le noyau lui-mme. Leur implantation dans le noyau est faite dans lunique but daugmenter les performances. En effet, suivant la conception du noyau, la mme fonction appele depuis lespace utilisateur ou lespace noyau a un cot temporel notoirement diffrent. Si cet appel de fonction est frquent, il peut savrer utile dintgrer ces fonctions au noyau pour augmenter les performances.

Ces techniques sont utilises pour pallier des dfauts des noyaux tels que les latences leves. Autant que possible, il est prfrable dcrire un logiciel hors du noyau, dans lespace utilisateur. En effet, lcriture en espace noyau suppose labsence de mcanismes tels que la protection de la mmoire. Il est donc plus complexe dcrire un logiciel fonctionnant dans lespace noyau que dans lespace utilisateur, les bugs et failles de scurit sont bien plus dangereux. Ordonnanceur [modifier] Article dtaill : Ordonnancement dans les systmes d'exploitation.

Lordonnanceur dun systme dexploitation na de sens quen systme multitche. Il gre lordre dans lequel les instructions de diffrentes tches sont excutes et est responsable de la sauvegarde et de la restauration du contexte des tches (ce contexte est constitu des registres processeurs), appele galement commutation de contexte. La plupart des ordonnanceurs modernes permettent dindiquer sur quel processeur sont excutes les tches. Certains permettent galement de migrer des tches sur dautres machines dune grappe de calcul. Lalgorithme dordonnancement dtermine quelle tche doit sexcuter en priorit et sur quel processeur. Cet algorithme doit permettre dutiliser efficacement les ressources de la machine. Lordonnancement peut tre de type coopratif : les tches doivent tre crites de manire cooprer les unes avec les autres et ainsi accepter leur suspension pour lexcution dune autre tche. Lordonnancement peut tre galement de type premptif : lordonnanceur a la responsabilit de linterruption des tches et du

choix de la prochaine excuter. Certains noyaux sont eux-mmes premptifs : lordonnanceur peut interrompre le noyau lui-mme pour faire place une activit (typiquement, toujours dans le noyau) de priorit plus leve. Gestionnaire de mmoire [modifier] Le gestionnaire de mmoire est le sous-ensemble du systme dexploitation qui permet de grer la mmoire de lordinateur. Sa tche la plus basique est dallouer de la mmoire des processus lorsquils en ont besoin. Cette mmoire alloue est par dfaut propre au processus qui en fait la demande.

Sur les noyaux rcents[note 2], le gestionnaire de mmoire masque la localisation physique de la mmoire (en mmoire vive ou sur disque dur, dans lespace de mmoire pagine) et prsente au programme une mmoire globale uniforme dite mmoire virtuelle. Ainsi, tout processus croit manipuler une mmoire "logique" qui a les proprits suivantes[note 3] : la mmoire peut tre tendue jusquaux capacits thoriques de la machine[note 4] ; la mmoire est prive (protge), un processus ne peut pas accder la mmoire dun autre processus (sauf allocations et autorisations spcifiques). Lintrt de ne pas indiquer au processus lemplacement physique des donnes est de permettre au gestionnaire de mmoire de placer et dplacer sa convenance les donnes en mmoire, sans affecter les processus. Ces donnes peuvent notamment tre fragmentes dans la mmoire vive lorsquun processus demande

un bloc de mmoire dune taille suprieure au plus grand bloc physique libre. Le contenu de la mmoire peut aussi tre migr. Cette migration est faite sur les diffrents supports mmoires tels que dans la mmoire physique (plus ou moins proche du processeur), dans la mmoire pagine, dans la mmoire accessible par rseaux (grappe de calcul). La virtualisation de la mmoire permet aussi une gestion optimiste des ressources : la mmoire alloue mais pas encore utilise peut tre virtuellement alloue plusieurs processus (noyau Linux). Les programmes dans lespace utilisateur disposent de pouvoirs restreints sur la mmoire : ils doivent demander au noyau de la mmoire. Le noyau fait appel son gestionnaire de mmoire pour allouer (ou non) la mmoire au processus qui la demande. Si un processus tente dutiliser des zones de mmoire ne lui appartenant pas, il est vinc automatiquement. Le mcanisme dviction repose sur un mcanisme du processeur, nommment une unit de gestion de la mmoire, ou MMU, qui signale au noyau lexistence dun accs fautif. Cest le noyau lui-mme qui prend la dcision de suspendre ou dtruire immdiatement le processus fautif. Appels systme [modifier] Les appels systme sont des fonctions : appeles depuis un programme de lespace utilisateur ; dont lexcution (le traitement) est effectue dans lespace noyau ; dont le retour est effectu dans le programme appelant dans lespace utilisateur. En plus dun changement de mode dexcution, lappel systme suppose au moins deux commutations de contextes : Contexte du programme appelant ; changement de contexte ; Contexte du noyau ; changement de contexte ; Contexte du programme appelant. Le cot dun appel systme est nettement plus lev quun simple appel de fonction intra-processus : alors quun appel de fonction ne suppose que quelques instructions primitives (chargement et excution dune zone mmoire), le cot dun appel systme se compte en milliers ou dizaines de milliers dinstructions primitives, gnrant la fois une charge et des dlais dexcution supplmentaires. Pour ces raisons, les fonctions qui sont utilises de manire intense sont dplaces

dans lespace noyau. Les programmes utilisateurs font alors un nombre restreint dappels systme de haut niveau. Les nombreuses interactions de bas niveau gnres par ces appels systme sont effectues dans lespace noyau. Cela concerne notamment les pilotes de priphriques. Les entres/sorties font galement lobjet dun traitement par lordonnanceur. Gestion du matriel [modifier] La gestion du matriel se fait par lintermdiaire de pilotes de priphriques. Les pilotes sont des petits logiciels lgers ddis un matriel donn qui permettent de faire communiquer ce matriel. En raison du trs grand nombre daccs certains matriels (disques durs par exemple), certains pilotes sont trs sollicits. Ils sont gnralement inclus dans lespace noyau et communiquent avec lespace utilisateur via les appels systme. En effet, comme cela a t vu dans le prcdent paragraphe, un appel systme est coteux : il ncessite au moins deux changements de contexte. Afin de rduire le nombre des appels systme effectus pour accder un priphrique, les interactions basiques avec le priphrique sont faites dans lespace noyau. Les programmes utilisent ces priphriques au travers dun nombre restreint dappels systme. Cependant, indpendamment de larchitecture, de nombreux priphriques lents (certains appareils photographiques numriques, outils sur liaison srie, etc.) sont/peuvent tre pilots depuis lespace utilisateur, le noyau intervenant au minimum. Il existe des couches dabstraction de matriel (HAL) qui prsentent la mme interface lespace utilisateur et simplifient ainsi le travail des dveloppeurs dapplications. Dans les systmes de type UNIX, labstraction utilise est le systme de fichiers : les primitives open, close, read et write sont prsentes lespace utilisateur pour manipuler toutes sortes de priphriques. On parle dans ce cas de systme de fichiers synthtique. Diffrents types de noyaux [modifier] Il existe toutes sortes de noyaux, plus ou moins spcialiss. Des noyaux spcifiques une architecture, souvent monotches, dautres gnralistes et souvent multitches et multiutilisateurs. Lensemble de ces noyaux peut tre divis en deux approches opposes darchitectures logicielles : les noyaux monolithiques et les micro-noyaux. On considre gnralement les noyaux monolithiques, de conception ancienne, comme obsoltes car difficiles maintenir et moins propres . Le noyau Linux tait dj qualifi dobsolte par Andrew Tanenbaum[2], ds sa cration en 1991. Il ne croyait pas, lpoque, pouvoir faire un noyau monolithique multiplate-forme et

modulaire. La mise en place de micro-noyaux, qui consiste dplacer lessentiel des fonctions du noyau vers lespace utilisateur, est trs intressante en thorie mais savre difficile en pratique. Ainsi les performances du noyau Linux (monolithique) sont suprieures celles de ses concurrents (noyaux gnralistes micro-noyaux), sans compter quil fut finalement port sur de trs nombreuses plates-formes et quil est modulaire depuis 1995. Pour ces raisons de performance, les systmes gnralistes bass sur une technologie micro-noyau, tels que Windows et Mac OS X, nont pas un vrai micro-noyau enrichi. Ils utilisent un micro-noyau hybride : certaines fonctionnalits qui devraient exister sous forme de mini-serveurs se retrouvent intgres dans leur micro-noyau, utilisant le mme espace dadressage. Pour Mac OS X, cela forme XNU : le noyau monolithique BSD fonctionne en tant que service de Mach et ce dernier inclut du code BSD dans son propre espace dadressage afin de rduire les latences. Ainsi, les deux approches darchitectures de noyaux, les micro-noyaux et les noyaux monolithiques, considres comme diamtralement diffrentes en termes de conception, se rejoignent quasiment en pratique par les micro-noyaux hybrides et les noyaux monolithiques modulaires. Noyaux monolithiques non modulaires [modifier]

Architecture monolithique Certains systmes dexploitation, comme danciennes versions de Linux, certains BSD ou certains vieux Unix ont un noyau monolithique. Cest--dire que lensemble des fonctions du systme et des pilotes sont regroups dans un seul bloc de code et un seul bloc binaire gnr la compilation. De par la simplicit de leur concept mais galement de leur excellente vitesse dexcution, les noyaux monolithiques ont t les premiers tre dvelopps et mis en uvre. Cependant, au fur et mesure de leurs dveloppements, le code de ces noyaux monolithiques a augment en taille et il sest avr difficile de les

maintenir. Le support par les architectures monolithiques des chargements chaud ou dynamiques implique une augmentation du nombre de pilotes matriels compils dans le noyau, et par suite, une augmentation de la taille de lempreinte mmoire des noyaux. Celle-ci devint rapidement inacceptable. Les multiples dpendances cres entre les diffrentes fonctions du noyau empchaient la relecture et la comprhension du code. Lvolution du code sest faite en parallle lvolution du matriel, et des problmes de portage ont alors t mis en vidence sur les noyaux monolithiques. En ralit les problmes de la portabilit de code se sont rvls avec le temps indpendants de la problmatique de la technologie des noyaux. Pour preuve, NetBSD est un noyau monolithique et est port sur un trs grand nombre darchitectures, alors que des noyaux tels que HURD ou celui de Windows XP utilisent des micro-noyaux censs faciliter le portage mais nexistent que pour quelques architectures.

Architecture dun noyau monolithique Noyaux monolithiques modulaires [modifier]

Architecture dun systme noyau monolithique modulaire Pour rpondre aux problmes des noyaux monolithiques, ces derniers sont devenus modulaires. Dans ce type de noyau, seules les parties fondamentales du systme sont regroupes dans un bloc de code unique (monolithique). Les autres fonctions, comme les pilotes matriels, sont regroupes en diffrents modules qui peuvent tre spars tant du point de vue du code que du point de vue binaire. La trs grande majorit des systmes actuels utilise cette technologie : Linux, la plupart des BSD ou Solaris. Par exemple avec le noyau Linux, certaines parties peuvent tre non compiles ou compiles en tant que modules chargeables directement dans le noyau. La modularit du noyau permet le chargement la demande de fonctionnalits et augmente les possibilits de configuration. Ainsi les systmes de fichiers peuvent tre chargs de manire indpendante, un pilote de priphrique chang, etc. Les distributions Linux, par exemple, tirent profit des modules chargeables lors de linstallation. Lensemble des pilotes matriels sont compils en tant que modules. Le noyau peut alors supporter limmense varit de matriel trouv dans les compatibles PC. Aprs linstallation, lors du dmarrage du systme, seuls les pilotes correspondants au matriel effectivement prsent dans la machine sont chargs en mmoire vive. La mmoire est conomise. Les noyaux monolithiques modulaires conservent les principaux atouts des noyaux monolithiques purs dont ils sont issus. Ainsi, la facilit de conception et de dveloppement est globalement maintenue et la vitesse dexcution reste excellente. Lutilisation de modules implique le dcoupage du code source du noyau en blocs indpendants. Ces blocs amliorent lorganisation et la clart du code source et en facilitent galement la maintenance. Les noyaux monolithiques modulaires conservent galement un important dfaut des noyaux monolithiques purs : une erreur dans un module met en danger la stabilit de tout le systme. Les tests et certifications de ces composants doivent tre plus pousss.

Dun point de vue thorique, le grand nombre de lignes de code excutes en mode noyau engendre des problmes de portabilit. La pratique contredit largement la thorie et les noyaux modulaires sont aujourdhui les plus ports. Systmes micro-noyaux [modifier]

Architecture dun systme micro-noyau Les limitations des noyaux monolithiques ont amen une approche radicalement diffrente de la notion de noyau : les systmes micro-noyaux. Les systmes micro-noyaux cherchent minimiser les fonctionnalits dpendantes du noyau en plaant la plus grande partie des services du systme dexploitation lextrieur de ce noyau, cest--dire dans lespace utilisateur. Ces fonctionnalits sont alors fournies par de petits serveurs indpendants possdant souvent leur propre espace dadressage. Un petit nombre de fonctions fondamentales est conserv dans un noyau minimaliste appel micro-noyau . Lensemble des fonctionnalits habituellement proposes par les noyaux monolithiques est alors assur par les services dplacs en espace utilisateur et par ce micro-noyau. Cet ensemble logiciel est appel micro-noyau enrichi . Ce principe a de grands avantages thoriques : en loignant les services risque des parties critiques du systme dexploitation regroupes dans le noyau, il permet de gagner en robustesse et en fiabilit, tout en facilitant la maintenance et lvolutivit. En revanche, les mcanismes de communication (IPC), qui deviennent fondamentaux pour assurer le passage de messages entre les serveurs, sont trs lourds et peuvent limiter les performances. Avantages et inconvnients dun systme micro-noyau [modifier] Les avantages thoriques des systmes micro-noyaux sont la consquence de lutilisation du mode protg par les services qui accompagnent le micro-noyau. En

effet, en plaant les services dans lespace utilisateur, ceux-ci bnficient de la protection de la mmoire. La stabilit de lensemble en est amliore : une erreur dun service en mode protg a peu de consquences sur la stabilit de lensemble de la machine. De plus, en rduisant les possibilits pour les services de pouvoir intervenir directement sur le matriel, la scurit du systme est renforce. Le systme gagne galement en possibilits de configuration. Ainsi, seuls les services utiles doivent tre rellement lancs au dmarrage. Les interdpendances entre les diffrents serveurs sont faibles. Lajout ou le retrait dun service ne perturbe pas lensemble du systme. La complexit de lensemble est rduite. Le dveloppement dun systme micro-noyau se trouve galement simplifi en tirant parti la fois de la protection de la mmoire et de la faible interdpendance entre les services. Les erreurs provoques par les applications en mode utilisateur sont traites plus simplement que dans le mode noyau et ne mettent pas en pril la stabilit globale du systme. Lintervention sur une fonctionnalit dfectueuse consiste arrter lancien service puis lancer le nouveau, sans devoir redmarrer toute la machine. Les micro-noyaux ont un autre avantage : ils sont beaucoup plus compacts que les noyaux monolithiques. 6 millions de lignes de code pour le noyau Linux 2.6.0 contre en gnral moins de 50 000 lignes pour les micro-noyaux. La maintenance du code excut en mode noyau est donc simplifie. Le nombre rduit de lignes de code peut augmenter la portabilit du systme. Les premiers micro-noyaux (comme Mach) nont pas tout de suite atteint ces avantages thoriques. Lutilisation de nombreux services dans lespace utilisateur engendre les deux problmes suivants : La plupart des services sont lextrieur du noyau et gnrent un trs grand nombre dappels systme ; Les interfaces de communication entre les services (IPC) sont complexes et trop lourdes en temps de traitement. Le grand nombre dappels systme et la communication sous-jacente sont un dfaut inhrent la conception des micro-noyaux. Dans L4, il a t rsolu en plaant encore plus de services en espace utilisateur. La rapidit de traitement des IPC a pu tre amliore en simplifiant les communications au maximum, par exemple en supprimant toute vrification des permissions, laissant ce soin aux serveurs externes. Ces modifications radicales ont permis dobtenir de bonnes performances mais elles ne doivent pas faire oublier quun micro-noyau doit tre accompagn dun grand nombre de services pour fournir des fonctionnalits quivalentes celles des

noyaux monolithiques. De plus, la grande libert dont disposent les services au niveau de la scurit et de la gestion de la mmoire accrot la difficult et le temps de leur dveloppement (ils doivent fournir leurs propres interfaces).

Architecture dun micro-noyau enrichi par des services (micro-noyau enrichi) Exemple dassociations micro-noyaux - noyaux enrichis - systme dexploitation [modifier] Micro-noyau L4 Mach (GNU Mach) Mach Mach Noyauxhybrides [modifier] Micronoyauenrichi HURD HURD XNU XNU Systmesdexploitationas socis GNU/HURD GNU/HURD Darwin Mac OS X

Architecture hybride

Architecture hybride : XNU La dnomination de noyaux hybrides dsigne principalement des noyaux qui reprennent des concepts la fois des noyaux monolithiques et des micro-noyaux, pour combiner les avantages des deux. Lorsquau dbut des annes 1990 les dveloppeurs et concepteurs se sont aperus des faiblesses des premiers micro-noyaux, certains rintgrrent diverses fonctionnalits non fondamentales dans le noyau, pour gagner en performance. Les micro-noyaux purs semblaient condamns lchec. Alors que la philosophie gnrale des systmes micro-noyaux est maintenue (seules les fonctions fondamentales sont dans lespace noyau), certaines fonctions non critiques, mais trs gnratrices dappels systme, sont rintgres dans lespace noyau. Ce compromis permet damliorer considrablement les performances en conservant de nombreuses proprits des systmes micro-

noyaux. Un exemple de ce type de noyau hybride est le noyau XNU de Mac OS X. Il est bas sur le micro-noyauMach 3.0 mais qui inclut du code du noyau monolithique BSD au sein de lespace noyau. Cette dnomination est galement utilise pour dsigner dautres types de noyaux, notamment les noyaux monolithiques sur micro-noyaux (temps rel ou non) tels que L4Linux (Linux sur L4), MkLinux (le noyau Linux sur Mach), Adeos, RTLinux et RTAI. Plus rarement, on peut rencontrer le terme noyau hybride pour remplacer improprement noyau monolithique modulaire ou micro-noyau enrichi . Exo-noyaux [modifier] tymologiquement, 'exo' signifie en grec 'hors de'. Un exo-noyau est donc un systme d'exploitation fonctionnant en espace utilisateur (en 'user-space', au lieu du 'kernel-space' dans le cas des autres noyaux). Les fonctions et services du systme d'exploitation sont assurs par de petits modules qui, selon les approches techniques, sont des librairies dynamiques (MIT, LibOSes) ou des dmons (IntraServices). Mta-noyaux [modifier] Un mta-noyau est un ensemble de logiciels qui vise appliquer la notion de noyau informatique au niveau dun rseau informatique, en crant une unique couche de gestion des priphriques au niveau dun rseau. De cette manire, les logiciels peuvent tre dploys et utiliss sur le rseau informatique comme sil sagissait dune machine unique, et lensemble des logiciels fonctionnant sur cette plate-forme peuvent se partager les ressources de manire intgre, comme elle le ferait sur un noyau simple. Un mta systme doit galement permettre la personnalisation, la gestion des permissions ainsi que lutilisation dinformations dpendant de la localisation. Cette notion rejoint les notions de grappe de calcul, de machine virtuelle, de serveur dapplication et de CORBA. Noyaux temps rel [modifier]

Une possibilit darchitecture de noyau temps rel hybride Les noyaux temps rel sont fonctionnellement spcialiss. Ce sont des noyaux gnralement assez lgers qui ont pour fonction de base stricte de garantir les temps dexcution des tches. Il ny a pas proprement parler de notion de rapidit de traitement ou de ractivit dans les noyaux temps rel, cette notion est plutt implicite la garantie des temps dexcution en comparaison aux critres temporels de lapplication industrielle (la ractivit dun systme de freinage ABS na pas les mmes critres temporels que le remplissage dune cuve de ptrole). Trs utiliss dans le monde de llectronique embarque, ils sont conus pour tourner sur des plates-formes matrielles limites en taille, puissance ou autonomie. Les noyaux temps rel peuvent adopter en thorie nimporte quelle architecture prcdemment liste. Ils fournissent souvent deux interfaces spares, lune spcialise dans le temps rel et lautre gnrique. Les applications temps rel font alors appel la partie temps rel du noyau. Une des architectures souvent retenue est un noyau hybride qui sappuie sur la combinaison dun micro-noyau temps rel spcialis, allouant du temps dexcution un noyau de systme dexploitation non spcialis. Le systme dexploitation non spcialis fonctionne en tant que service du micro-noyau temps rel. Cette solution permet dassurer le fonctionnement temps rel des applications, tout en maintenant la compatibilit avec des environnements prexistants. Par exemple, on peut avoir un micro-noyau temps rel allouant des ressources un noyau non temps rel tel que Linux (RTLinux, RTAI) ou Windows. Lenvironnement GNU (resp. Windows) peut alors tre excut lidentique sur le noyau pour lequel il a t conu, alors que les applications temps rel peuvent faire directement appel au micro-noyau temps rel pour garantir leurs dlais dexcutions.

VxWorks est un noyau propritaire temps rel trs implant dans lindustrie bien que les systmes base de noyau Linux se dploient normment et aient un succs grandissant via RTAI (RTLinux tant brevet). Synthse des principaux noyaux et de leurs architectures [modifier] Article dtaill : Liste des noyaux de systmes d'exploitation.

Exemples de Mic MicroNoyaumon Noyaumonolithi roNoyauh Temps systmes Noyau noyau dexploitatio olithique quemodulaire noy ybride rel enrichi n associs au AIX Amoeb a BeOS Ancien s BSD BSD 4.4 Chorus Oui Fiasco Oui HURD IRIX Jaluna L4 Oui Linux < 1.2 Linux > 1.2 Lynux Works Oui Oui Oui Non Non Oui Oui Oui Oui Non Non Oui Oui Oui Oui Non Oui Oui Oui Non Non Oui Oui Oui BeOS Non BSD AIX

BSD - Solaris Non 1 Oui GNU/L4Linux Oui /Fiasco Non Oui GNU/HURD IRIX

Jaluna/Choru Oui s GNU/HURD ; Oui GNU/L4linux Non Non GNU/Linux GNU/Linux

GNU/Linux/Ly Oui nuxWorks

Mach Oui

Mac OS X, Darwin, Oui GNU/HURD, GNU/Mklinux Oui Oui Minix Non (Exten sions) Oui Oui Non Non Oui Oui Oui Oui Non Non NeXTStep

Minix NeXTS tep Nucleu s OS/2 OS/36 0 QNX RTAI RTOS360 /75 Unix SysVr4 / SunOS 5 VxWor ks Windo ws NT (Noya u de) XNU Microw are OS-9 Notes etrfrences [modifier] Notes Oui Oui Oui

Oui Oui

Oui Nucleus Non Non OS/2 OS/360

Oui QNX Oui GNU/RTAI

Oui IBM RTOS

Oui

Non

Solaris 7 et Non suivant Windows/Vx Works, Oui BSD/VxWork s Windows NT

Oui

Oui

Oui

Oui

Non

Oui

Oui

Mac OS X, Oui Darwin Oui OS-9

Diverses raisons empchent lutilisation par le noyau des mcanismes dabstraction quil fournit. Entre autres causes, la gestion des interruptions, lespace dadressage et la non rentrance. Le concept de mmoire virtuelle date des annes 1960. La gnralisation de cette technologie au grand public commence avec Windows XP et Mac OS X. Limplmentation de lensemble de ces proprits par le gestionnaire de mmoire du noyau suppose lutilisation de microprocesseurs adapts et quips dune unit de gestion de la mmoire. (Gestionnaire de mmoire matriel). Sur la plupart des noyaux, seule une fraction des capacits thoriques de la machine peut tre alloue un processus. Ainsi avec Linux sur x86 (32 bits), seuls les 3 premiers gigaoctets sont disponibles par dfaut pour les processus [1] [archive]. Rfrences Andrew Tanenbaum, Operating Systems: Design and Implementation, Prentice Hall,, 3rd ed. (ISBN 0-13-142938-8), chapitre 1,3 - 1,4 - 4. (en)Linux vs. Tanenbaum [archive] Voir aussi [modifier] Bibliographie [modifier] : source utilise pour la rdaction de cet article Andrew Tanenbaum, Systmes dexploitation, Pearson Education France, 2003, 2e d. (ISBN 2-7440-7002-5) ;

Daniel P. Bovet, Marco Cesati, Le Noyau Linux, OReilly, aot 2006, 3e d. (ISBN 284177-243-8) ; (en) David A. Peterson, NitinIndurkhya, Patterson, Computer Organization and Design, Morgan Koffman (ISBN 1-55860-428-6) ; (en) James L. Peterson, Abraham Silberschatz, Peter B. Galvin (dir.), Operating system concepts, Addison-Wesley, 1990 (ISBN 0-201-51379-X) ; (en) B.S. Chalk, Computer Organisation and Architecture, Macmillan P. (ISBN 0-33364551-0). Laurent Bloch, Les systmes dexploitation des ordinateurs : histoire, fonctionnement, enjeux, Vuibert, 2003 (ISBN 2-7117-5322-0) Articles connexes [modifier]

Systme d'exploitation ; Mmoire : Mmoire virtuelle, mmoire vive, mmoire pagine, Unit de gestion mmoire ; Multitche : Processus, processus lger, Ordonnancement, temps partag, Commutation de contexte, Communication inter-processus ; Espace noyau, espace utilisateur : Interruption, Entres-Sorties, appel systme, Pilote ; Temps rel ; Liste des noyaux de systmes dexploitation. Liens externes [modifier] Projet SOS : introduction la programmation dun noyau Programmer son propre noyau : une introduction avec Ppin osdev.org, des documents et un forum trs actif sur la programmation de noyaux (en) kernelnewbiesproject, articles et documents divers sur le fonctionnement des noyaux, en particulier Linux Sur les micro-noyaux : Interview de Marcus Brinkmann, dveloppeur principal de Hurd/L4 (prsente lintrt du portage sur un micro-kernel, L4 en particulier) (en) On Micro-KernelConstruction[pdf], crit par Jochen Liedtke, crateur de L3 et L4 Passe darmes entre Linus Torvalds et Andrew Tanenbaum sur le choix dune architecture monolithique pour le noyau Linux [Enrouler]

vdm Noyaux de systmes d'exploitation Noyaux Linux Windows NT XNU courants Autresnoyau Accent GNU Mach Linux-libre L4 Mach Trix x Communication inter-processus Commutation de contexte Multitche Ordonnancement Processus Temps partag Thread Thread Local Storage Matriel Mmoire Technique Entres-sorties Interruption Interruption matrielle Pilote Pagine Virtuelle Vive Unit de gestion mmoire Appel systme BigKernelLock Espace noyau Espace utilisateur

Pour une liste complte, voir la liste des noyaux de systmes d'exploitation et la catgorie informatique

You might also like