P. 1
48314931-Mitchel

48314931-Mitchel

|Views: 8|Likes:
Published by Anas Abouyahya

More info:

Published by: Anas Abouyahya on Jan 03, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/16/2013

pdf

text

original

Introduction à Microsoft Windows

ArticleTable des matières • Windows ○ Windows ○ Installation ○ Icones ○ Fenêtres ○ Interface graphique ○ Structure des dossiers ○ Base de registre ○ Tâche ○ DirectX ○ Easter eggs ○ Astuces  Utilisation  Optimisation  Personnalisation  Outils de diagnostic  Organisation  Sécurité ○ A lire aussi  Système d'exploitation  UNIX  Windows 2000/XP  Mac OS  MS-DOS  AS/400  OS

Historique de Windows
Windows est le système d'exploitation commercialisé par la société Microsoft, dont le siège est implanté à Seattle. La société Microsoft, initialement baptisé «Traf-O-Data» en 1972 a été rebaptisée «Micro-soft» en novembre 1975, puis «Microsoft» le 26 novembre 1976.

Microsoft a débuté son activité avec la commercialisation en août 1981 de la version 1.0 du système d'exploitation Microsoft DOS (MS-DOS), un système d'exploitation 16 bits en ligne de commande. La première version de Microsoft Windows (Microsoft Windows 1.0) est apparue en novembre 1985. Il s'agissait d'une interface graphique, inspirée de l'interface des ordinateurs Apple de l'époque. Windows 1.0 n'a pas eu de succès auprès du public, pas plus que Microsoft Windows 2.0, lancé le 9 décembre 1987. C'est le 22 mai 1990 que le succès de Microsoft Windows a débuté 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 fonctionnalités réseau. Windows 3.1 ne peut pas être considéré comme un système d'exploitation à part entière car il s'agit d'une interface graphique fonctionnant au-dessus du système Ms-DOS. Le 24 août 1995, Microsoft lance le système d'exploitation Microsoft Windows 95. Windows 95 marque la volonté de Microsoft de transférer des fonctionnalités de MS-DOS dans Windows, mais cette version s'appuie encore largement sur le système DOS 16-bits et garde notamment les limitations du systèmes de fichiers FAT16, si ce n'est la possibilité d'utiliser des noms de fichiers longs. Après des révisions mineures de Microsoft Windows 95, baptisées 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 intègre nativement d'autres fonctionnalités de MS-Dos mais s'appuie toujours sur ce dernier. D'autre part Windows 98 souffre d'une mauvaise gestion du partage de la mémoire entre processus, pouvant provoquer des dysfonctionnement du système. Une seconde édition de Windows 98 paraît, le 17 février 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 fonctionnalités multimédia et réseau supplémentaires. D'autre part, Windows Millenium intègre un mécanisme de restauration du système permettant de revenir à un état précédent en cas de plantage. Parallèlement, Microsoft a lancé dès octobre 1992 un système d'exploitation entièrement 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 système d'exploitation à part entière. Le 24 mai 1993 la première version de Windows NT est commercialisée. 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 août 1996, que Windows NT va enfin connaître un réel succès. En juillet 1998, Microsoft commercialise Windows NT 4.0 TSE (Terminal Server Emulation), le premier système Windows à permettre la possibilité de brancher des terminaux sur un serveur, c'est-à-dire d'utiliser des clients légers pour accéder à une session ouverte sur le serveur. Le 17 février 2000, la version suivante de Windows NT 4.0 est baptisée Windows 2000 (en lieu et place de Windows NT 5.0) afin de montrer la convergence des systèmes «NT» avec les systèmes «Windows 9x». Windows 2000 est un système entièrement 32-bits possédant les

caractéristiques de Windows NT, ainsi qu'une gestion améliorée des processus et une prise en charge complète des périphériques USB et Firewire. Puis, le 25 octobre 2001, Windows XP fait son apparition. Il s'agit de la convergence des systèmes précédents. Enfin le 24 avril 2003, un système d'exploitation dédié pour les serveurs est commercialisé par Microsoft : Windows Server 2003. Dernière 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 fixées par la licence, tant que cette note apparaît clairement. Installatio n Meilleures réponses Le systeme d'exploitations windows - Rechercher Windows Installer - Télécharger Microsoft Windows Installer est un service d'installation et de configuration d'application. Il permet de gérer les applications comportant l'extension MSI. WindowsInstaller-KB893803-v2x86.exe est le pack pour l'installation ou la mise à jour de... Internet Explorer 8 - Télécharger Cette nouvelle version du navigateur de Microsoft offre de nouvelles fonctions en plus des précédentes. 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 système est de passer par Démarrer>Tous les programmes>Windows Update. Une fois sur le site, seules seront proposées les mises à jour nécessaires. 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 gérer les applications comportant l'extension MSI. Lorsqu'une application portant l'extension .MSI est corrompue ou endommagée,... Windows Mobile Device Center - Télécharger ActiveSync est l'ancienne application permettant de synchroniser les appareils mobiles Microsoft avec un ordinateur. Avec l'arrivé de Windows Vista, il est désormais nécessaire d'utiliser Windows Mobile Device Center. Windows Mobile Device Center... System 7 intégral microsoftwindows - Guide d'achat Logiciel Librairies (DLL) - Télécharger

3 postes . d'une clé USB ou d'une carte mémoire afin de proposer différentes actions à effectuer ("ouvrir le dossier".Articles La petite histoire du Macintosh Cet article a pour but de retracer l’histoire d’Apple (la firme à la pomme) dans ses grandes lignes...Précisions générales 2 . Steve Wozniak et Steve Jobs sont les deux. Régulièrement. la manière la plus simple est la suivante: Démarrer ->Executer -> Tapez : Winver et cliquez sur OK... le système vous demande d'insérer le CD d'installation de Windows dans le lecteur.. Plus • . Vista..Guide d'achat VERSION OEM : à l'origine..Fiches pratiques Pour connaître la version de windows que vous utilisez..Introduction à microsoft pour mac . Verifier version microsoftwindows live messenger . vous pouvez découvrir que certains logiciels ne fonctionnent plus ou mal ! 1 . sous Windows 2000..Télécharger Le protocole IPX/SPX sert à de nombreux anciens jeux pour pouvoir jouer en réseau (RedAlert.Compatibilités. Vous aurez maintenant une fenêtre qui va s'ouvrir. Software\Microsoft\Windows\CurrentVersion et Software\Microsoft\Windows\CurrentVersion\Policies\Explorer . TuxPaint propose un canevas. ou que votre version de Windows soit directement une SP2. pour effectuer des mises à jour ou ajouter des composants Windows. dans cette fenêtre il y aura la version. un logiciel OEM (Original Equipment Manufacturer) est un programme dont la vente est subordonnée à l'achat d'un matériel "physique" (ordinateur).. Malheureusement.Un logiciel OEM peut être acheté par un particulier mais il faut savoir. d'un DVD. etc.). TuxPaint .Télécharger TuxPaint est un logiciel de dessin libre conçu pour les jeunes enfants âgés de 3 ans et plus.. Une solution permet. Microsoft Windows 7 Integral OEM 32 bits . Il possède une interface simple avec un assistant animé dont l'objectif est d'encourager les enfants à créer des dessins.Fiches pratiques En temps normal... Microsoft windows compatibility default . . Néanmoins. et plus particulièrement celle de son produit phare : le Macintosh. une fenêtre s'ouvre automatiquement lors de l'insertion d'un cd.. Support IPX pour Vista . 7.Fiches pratiques Que vous ayez installé vous-mêmes la mise à jour SP2... Microsoft a retiré le support du protocole IPX/SPX dans Vista (32bit).. Command &Conquer. "copier avec."..Fiches pratiques Cette astuce s'applique à Windows XP et Windows 2000. Cd d'installation microsoftwindows 2000 telecharger . XP. il est possible de..

• Internet Explorer 8 La rédaction vous conseille de découvrir la nouvelle version d'IE 8 optimisée pour CommentCaMarche Top of Form Système d'exploitation ArticleTable des matières • Systèmes d'exploitation ○ Système d'exploitation ○ Fichier ○ Répertoire ○ Extensions connues ○ Processus et PID ○ Types MIME ○ Gestion de la mémoire ○ 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 système 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 .

Le type d'ordonnanceur est totalement dépendant du système d'exploitation. le cas échéant. il lui suffit d'envoyer les informations au système d'exploitation. jeu vidéo. Le système d'exploitation (noté SE ou OS. Gestion de la mémoire vive : le système d'exploitation est chargé de gérer l'espace mémoire alloué à chaque application et.. le système d'exploitation peut créer une zone mémoire sur le disque dur. est chargé d'assurer la liaison entre les ressources matérielles. . La mémoire virtuelle permet de faire fonctionner des applications nécessitant plus de mémoire qu'il n'y a de mémoire vive disponible sur le système. afin notamment de simplifier la gestion des ressources et offrir à l'utilisateur une interface hommemachine (notée «IHM») simplifiée afin de lui permettre de s'affranchir de la complexité de la machine physique. et les ressources physiques (périphériques). à chaque usager.). qui se charge de les transmettre au périphérique concerné via son pilote. en fonction de l'objectif visé. En l'absence de pilotes il faudrait que chaque programme reconnaisse et prenne en compte la communication avec chaque type de périphérique ! Le système d'exploitation permet ainsi de "dissocier" les programmes et le matériel. la mémoire. l'utilisateur et les applications (traitement de texte. appelée «mémoire virtuelle».. il ne lui est pas nécessaire d'envoyer des informations spécifiques au périphérique. Ainsi lorsqu'un programme désire accéder à une ressource matérielle. En contrepartie cette mémoire est beaucoup plus lente. En cas d'insuffisance de mémoire physique. Rôles du système d'exploitation Les rôles du système d'exploitation sont divers : • Gestion du processeur : le système d'exploitation est chargé de gérer l'allocation du processeur entre les différents programmes grâce à un algorithme d'ordonnancement. abréviation du terme anglais Operating System). • .d'opérations préparatoires afin d'assurer les échanges entre le processeur.

suspendus ou détruits. Les applications sont composées en séquence d'instructions que l'on appelle «processus légers» (en anglais «threads»). de la gestion des adresses physiques. permettant d'enregistrer les fichiers dans une arborescence. Gestion de l'exécution des applications : le système d'exploitation est chargé de la bonne exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement. noté FS).• Gestion des entrées/sorties : le système d'exploitation permet d'unifier et de contrôler l'accès des programmes aux ressources matérielles par l'intermédiaire des pilotes (appelés également gestionnaires de périphériques ou gestionnaires d'entrée/sortie). Parmi cet ensemble de logiciels on distingue généralement les éléments suivants : • Le noyau (en anglais kernel) représentant les fonctions fondamentales du système d'exploitation telles que la gestion de la mémoire. Gestion des droits : le système d'exploitation est chargé de la sécurité liée à l'exécution des programmes en garantissant que les ressources ne sont utilisées que par les programmes et utilisateurs possédant les droits adéquats. Gestion des informations : le système d'exploitation fournit un certain nombre d'indicateurs permettant de diagnostiquer le bon fonctionnement de la machine. Ces threads seront tour à tour actifs. afin de permettre à l'utilisateur de piloter les périphériques en ignorant tout des caractéristiques du matériel qu'il utilise. et des fonctionnalités de communication. suivant la priorité qui leur est associée ou bien exécutés séquentiellement. en attente. Le système de fichiers (en anglais «file system». des entréessorties principales. etc. . des fichiers. des processus. traduisez «coquille» par opposition au noyau) permettant la communication avec le système d'exploitation par l'intermédiaire d'un langage de commandes. Gestion des fichiers : le système d'exploitation gère la lecture et l'écriture dans le système de fichiers et les droits d'accès aux fichiers par les utilisateurs et les applications. • • Systèmes multitâches Un système d'exploitation est dit «multi-tâche» (en anglais multithreaded) lorsque plusieurs «tâches» (également appelées processus) peuvent être exécutées simultanément. L'interpréteur de commande (en anglais shell. Il permet à ce titre de «tuer» une application ne répondant plus correctement. • • • • Composantes du système d'exploitation Le système d'exploitation est composé d'un ensemble de logiciels permettant de gérer les interactions avec le matériel.

Ainsi. Voici quelques exemples de systèmes d'exploitation temps réel : • • • OS-9 . . On appelle SMP (SymmetricMultiprocessing ou SymmetricMultiprocessor) une architecture dans laquelle tous les processeurs accèdent à un espace mémoire partagé. Systèmes embarqués Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner sur des machines de petite taille. le temps machine entre les différents processus qui en font la demande. Pour ce faire. telles que des PDA (personal digital assistants ou en français assistants numériques personnels) ou des appareils électroniques autonomes (sondes spatiales. Un système temps réel doit ainsi fonctionner de manière fiable selon des contraintes temporelles spécifiques. une caractéristique essentielle des systèmes embarqués est leur gestion avancée de l'énergie et leur capacité à fonctionner avec des ressources limitées. Les principaux systèmes embarqués «grand public» pour assistants numériques personnels sont : • • PalmOS Windows CE / Windows Mobile / Window Smartphone Systèmes temps réel Les systèmes temps réel (real time systems). essentiellement utilisés dans l'industrie. le système alloue à chaque utilisateur une tranche de temps. etc.Un système est dit préemptif lorsqu'il possède un ordonnanceur (aussi appelé planificateur). Systèmes multi-processeurs Le multiprocessing est une technique consistant à faire fonctionner plusieurs processeurs en parallèle 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 système (en cas de panne d'un processeur). robot. qui répartit. Le système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque processus par l'ordonnanceur. selon des critères de priorité.). c'est-à-dire qu'il doit être capable de délivrer un traitement correct des informations reçues à des intervalles de temps bien définis (réguliers ou non). QNX . RTLinux (RealTime Linux) . Un système multiprocesseur doit donc être capable de gérer le partage de la mémoire entre plusieurs processeurs mais également de distribuer la charge de travail. sont des systèmes dont l'objectif est de fonctionner dans un environnement contraint temporellement. C'est notamment le cas des systèmes multi-utilisateurs qui permettent à plusieurs utilisateurs d'utiliser simultanément sur une même machine des applications différentes ou bien similaires : le système est alors dit «système transactionnel». ordinateur de bord de véhicule. possédant une autonomie réduite.

.• VxWorks.Télécharger La section "système" propose des utilitaires permettant d'optimiser votre système d'exploitation. 64 bits ou plus. Windows Vista SP1 ... sa version la plus commercialisée est celle de Microsoft. Votre ordinateur ne peut pas exécuter cette version du systeme d'exploitation ... allez dans. selon qu'ils sont capables de gérer simultanément des informations d'une longueur de 16 bits. lancez RegEdit. Systeme d'exploitation ms dos . Logiciel Système ..Articles Supprimer le mot de passe de l'écran de veille Il est possible de désactiver l'utilisation du mot de passe dans la mise en veille.Fiches pratiques Système . baptisée MS-DOS (il en existe d'autres comme DR-DOS). de surveiller son fonctionnement et de gérer vos fichiers. Systeme d'exploitation windows . Windows ErrorReporting ou encore le programme d’amélioration d’expérience utilisateur) pour nous permettre de. MS-DOS a vu le jour en 1981 lors de son utilisation sur un IBM. Les types de systèmes d'exploitation On distingue plusieurs types de systèmes d'exploitation.Articles La création du DOS Le DOS est le système d'exploitation le plus connu.. 32 bits.1 16/32 bits X non préemptif Windows95/98/Me 32 bits X coopératif WindowsNT/2000 32 bits X préemptif WindowsXP 32/64 bits X préemptif Windows7 32/64 bits X préemptif Unix / Linux 32/64 bits X préemptif MAC/OS X 32 bits X préemptif VMS 32 bits X préemptif ordinateur à ses paramètres d’usine par défaut ou à une image système personnalisée à partir d’une image stockée dans une partition masquée sur le disque.. par l'intermédiaire de la base de registre sans connaître celui-ci.Télécharger Fiabilité et Compatibilité Nous avons collecté un grand nombre d’informations via les outils divers et connus (Analyseur de crash en ligne. Codage Mono-utilisateur Multi-utilisateur Mono-tâche Multitâche DOS 16 bits X X Windows3. Pour cela.

Il est ainsi pour beaucoup l'interface. Écran tactile. par sa gestion des ressources matérielles. il suffit de considérer le cas d'une machine. De même. 3 Le chemin d'accès spécifié. la gestion appropriée de la mémoire centrale permettra : ○ ○ Le chargement de plusieurs programmes à la fois dans cette même mémoire centrale.C). WAP. il suffit d'imaginer la quantité de travail de maintenance devant être portée au programme si un de ces périphériques d'entrée-sortie est amené à être remplacé par un autre non nécessairement compatible. démunie d'un système d'exploitation et sur laquelle nous devons développer quelques programmes d'applications.La liste ci-dessous détaille les codes d'erreur s'affichant dans les boîtes de dialogue sous Windows : Code Description -----------------------.Articles Installation Pour installer MS-DOS.. construisant pour l'utilisateur. la machine physique en une machine virtuelle aux capacités infiniment plus grandes que la machine réelle et certainement beaucoup plus souples et plus faciles à exploiter :  C'est ainsi que la gestion de l'unité centrale assurée par un système temps-partagé va permettre à chacun des utilisateurs de ce système d'avoir l'illusion de posséder chacun un processeur (virtuel) qui travaille exclusivement pour exécuter ses programmes. Comment installer un système d'exploitation . Ces efforts et ces difficultés sont indépendants de la nature de l'application traitée. Integré.. . Il faut ensuite mettre la disquette 1 dans l'unité A. MP3. L'exécution de programmes bien plus grands que la taille de la mémoire centrale  Pour se rendre compte de l'importance du rôle du système en tant qu'interface pour les programmes d'applications. Le système d'exploitation transforme donc. 2 Le fichier spécifié est introuvable. Chapitre 1: Introduction Rôle de systèmed'exploitation L'activité principale du système d'exploitation est de gérer les ressources matérielles en permettant leur allocation et leur partage. Et pour se convaincre encore plus.. Système d'Exploitation:Windows Mobile. Ce dernier point augmente les performances du système en autorisant à plusieurs programmes d'applications d'utiliser simultanément différentes parties de la machine. Autonomie en conversation : 7 heures. HTC P3470 . GPRS. 536.Guide d'achat P 3470. Appareil photo : Oui. une machine virtuelle plus facile à programmer que la machine réelle.. autonomie en veille : 240 heures.. il faut s'assurer que les paramètres du BIOS sont configurés de telle façon que le disque s'amorce sur le lecteur A puis sur le disque (boot sequence: A. Écran couleur.. Nombre de couleurs:65. nécessaires à la mise au point des parties des programmes devant interagir avec le matériel et les périphériques.. fort heureusement irréel. Taille de l'écran:240x320 . Imaginez l'effort et le temps.1 Fonction incorrecte.

Gestion de la mémoire | (Haut de page) | Un des premiers rôles du système d'exploitation est de gérer la mémoire disponible sur la machine. une application a besoin de sauvegarder des données temporairement. L'interface graphique est fournie avec le système d'exploitation comme c'est le cas par exemple avec Windows depuis la version 95. . il vaut mieux s'intéresser à un système comme GNU/Linux qui met plus en évidence ce découpage. il s'agit de la RAM présente sur la machine. Pour qui souhaite un peu mieux comprendre l'architecture interne.Top of Form | Version sans menu | Systèmes d'exploitation But : Expliquer le fonctionnement et les principes d'un système d'exploitation. il y a une première couche logicielle qui est le système d'exploitation (sur un PC il y a le BIOS avant tout). il conserve la police actuellement utilisée. comme cela sera expliqué ci-après. Par cela. Certains systèmes d'exploitation relativement récents rendent tout cela un peu confus en mélangeant toutes les couches. • • • • • Généralités Gestion de la mémoire Multitâche Interface graphique Rôle d'un pilote de périphérique Généralités | (Haut de page) | Un ordinateur seul ne peut effectuer rien de très utile. Sur une machine plusieurs programmes peuvent s'exécuter simultanément comme expliqué dans la section suivante. On y trouve dedans tout ce qui est nécessaire pour gérer le matériel et fournir à l'utilisateur les fonctions de base. Quand vous utilisez un traitement de texte par exemple. Cela se fait dans la mémoire. Pour lui dire que faire de tout cela. 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. Il ne faut pas que ceux-ci puissent interférer les uns avec les autres. Et il ne faut pas que le jeu qui est en train d'être utilisé en même temps puisse altérer cette valeur lorsqu'il enregistre l'emplacement actuel du joueur. mais pas seulement. Durant son déroulement.

Celui-ci ne peut globalement exécuter qu'une opération à la fois. Il y a aussi le processeur qui doit être remis comme il était lorsque le programme a été interrompu.1 rajoutait cette couche de multitâche coopératif sur MS DOS qui était monotâche. les programmes ne peuvent pas écrire directement dans la RAM de la machine. Vu de l'utilisateur. Il faut noter qu'une application ne sait pas quand elle ne sera plus exécutée pour laisser la place à une autre. Le programme voit un espace de mémoire virtuelle dans lequel il peut faire ce qu'il veut sans risquer de déranger les autres. Un programme ne peut travailler directement qu'avec les données en mémoire vive. Il faut restaurer le contexte dans lequel se trouvait l'application avant que l'accès au processeur lui ait été retiré. les plus anciennes (ou les moins fréquemment utilisées) seront sauvegardées sur le disque pour libérer de l'espace. Cet intervalle de temps (time-slice en anglais) peut varier selon les systèmes de quelques millisecondes à plusieurs dizaines de millisecondes. elles suivront le chemin inverse pour revenir en mémoire depuis le disque. Un PC standard actuel a 256 Mo de RAM. Cette restauration de contexte comprend notamment le rétablissement de l'espace de mémoire virtuelle évoqué ci-dessus. Pour résoudre ce problème. Donc si celles qui avaient été sauvegardées sont requises. Les temps d'accès au disque dur sont coûteux. Interface graphique | (Haut de page) | . appelé parfois aussi pseudomultitâche. Windows 3. il y a la notion de fichier d'échange (ou swap). Si la mémoire est pleine et qu'il faut y écrire de nouvelles données. Plus la valeur est faible. C'est le système d'exploitation qui se charge de ces opérations selon les besoins. mais en dire plus ne sera pas utile dans cet article). Chacune va à son tour disposer de l'unité de calcul (le processeur) pour réaliser ce qu'il désire. Le rôle du système d'exploitation est de faire exécuter tour à tour ces applications. Donc si la mémoire est insuffisante par rapport aux applications utilisées. D'autant plus si cela doit être multiplié par le nombre de programmes. On parle de multitâche préemptif. C'est le système d'exploitation qui prend la décision. Dans ce cas-là. l'utilisation du swap sera intensive et ralentira la machine. mais le système d'exploitation se charge d'écrire dans certaines zones indépendantes les unes des autres. on a un seul processeur. relever ses mails et graver un CD-ROM par exemple. Tout ce mécanisme est invisible pour l'application. on peut en même temps regarder une vidéo. La place supplémentaire nécessaire est prise sur le disque dur. Pour eux tout se passe comme si c'était le cas. plus l'impression de multitâche sera grande. Il n'est donc pas possible d'y mettre les 4Go évoqués précédemment. En fait il n'en est rien du fait des limitations matérielles. c'étaient les applications qui décidaient qu'elles n'avaient pendant un certains temps plus besoin du processeur (par exemple si elles attendent des données provenant du disque dur ou du réseau) et peuvent donc être mise en sommeil. Il faut donc trouver le bon compromis pour que tout le temps ne soit pas passé à basculer. Cet espace a une taille de 4 Go sur une machine 32 bits (il est divisé en plusieurs parties.Pour réaliser cela. Or lorsqu'on l'utilise. Mais le passage d'une application à une autre a un coût en termes de temps. Sur d'anciens systèmes on avait un multitâche coopératif. Multitâche | (Haut de page) | Sur un PC standard. c'est comme si tous ces programmes s'exécutaient simultanément.

. Et enfin on trouve la partie la plus optionnelle. le pilote de périphérique est l'interface entre le matériel et le système d'exploitation. Cette partie utilise les spécificités du matériel pour fournir des fonctions de base (afficher ou déplacer un rectangle par exemple) ou plus avancées (gestion de la 3D notamment). Il permet d'avoir un environnement de travail avec un ou plusieurs bureaux virtuels sur lesquels peuvent être placés des liens vers des programmes. Mais ils s'exécutent dans un mode spécial. Ils ne le sont pas forcément au sens logiciel. car ils peuvent être fournis séparément par le constructeur. appelé mode réel. Rôle d'un pilote de périphérique | (Haut de page) | Appelé driver en anglais.. Cette norme ne prévoit pas les hautes résolutions. la norme VGA permet de standardiser l'initialisation et l'utilisation de la carte. Sous GNU/Linux on peut citer Window Maker. on en revient à des spécificités pour chaque fabricant/modèle. Il y a aussi généralement d'autres outils comme une barre des tâches ou des menus configurables. Celles-ci peuvent être agrandies. Mais le pilote de périphérique va se charger de dialoguer avec la carte selon ses spécifications techniques. Sous GNU/Linux c'est le plus souvent géré par XFree86. Pour en revenir aux cartes graphiques. Pour faire afficher un point à l'écran. Mais les fonctionnalités qu'ils présentent sont les mêmes.. Ce mode leur permet de contourner les protections du système d'exploitation du mode protégé (dont notamment le contrôle de la mémoire). le gestionnaire de bureau. différentes cartes ne procéderont pas de la même manière. Le système d'exploitation appelera une méthode toujours identique pour demander à voir apparaître ce point. Ces différences matérielles peuvent être atténuées avec l'apparition de normes. Tout d'abord la partie la plus proche du matériel qui comprend les pilotes des cartes graphiques (voir section suivante). Les drivers sont considérés comme faisant partie du système d'exploitation. ni les fonctions 3D.Comme dit précédemment. on peut considérer les cartes graphiques. Comme exemple simple. | | Bottom of Form . KWM ou Sawfish parmi de nombreux autres. Pour ces dernières. Les deux représentants les plus connus sous GNU/Linux sont KDE et GNOME. réduites. Il permet de faire l'abstraction de celui-ci (on parle de Hardware Abstraction Layer) en fournissant une interface toujours identique. Et le passage d'une application à une autre est facilité. Les différents matériels ne sont pas constitués des mêmes composants électroniques. l'interface graphique ne fait pas réellement partie du système d'exploitation lui-même. Il permet d'avoir comme son nom l'indique des fenêtres pour les applications. L'interface graphique vient se placer au-dessus de ce dernier et se divise encore en plusieurs parties. Ensuite vient le gestionnaire de fenêtres.

est la partie fondamentale de certains systèmes d’exploitation. le noyau fournit des mécanismes d’abstraction du matériel. Le noyau d’un système d’exploitation est lui-même un logiciel. Sommaire [masquer] 1 Généralités 1. et des échanges d’informations entre logiciels et périphériques matériels. ou kernel (de l'anglais). Aller à : Navigation. Un noyau de système d’exploitation. Il gère les ressources de l’ordinateur et permet aux différents composants — matériels et logiciels — de communiquer entre eux. ou simplement noyau. En tant que partie du système d’exploitation.1 Systèmes à noyaux restreints . voir noyau. Son rôle central impose par ailleurs des performances élevées. Cela fait du noyau la partie la plus critique d’un système d’exploitation et rend sa conception et sa programmation particulièrement délicates. Le noyau autorise aussi diverses abstractions logicielles et facilite la communication entre les processus. rechercher Pour les articles homonymes. Plusieurs techniques sont mises en œuvre pour simplifier la programmation des noyaux tout en garantissant de bonnes performances. du (ou des) processeur(s). notamment de la mémoire. fondateur de Wikipédia Noyau de système d'exploitation Un article de Wikipédia. l'encyclopédie libre. mais ne peut cependant utiliser tous les mécanismes d’abstraction qu’il fournit aux autres logiciels[note 1].Lisez l'appel personnel de Jimmy Wales.

5 Exo-noyaux 3. la gestion des divers logiciels (tâches) d’une machine (lancement des programmes. le noyau d’un système d’exploitation est le logiciel qui assure : la communication entre les logiciels et le matériel .3.1 Bibliographie 7.6 Méta-noyaux 4 Noyaux temps réel 5 Synthèse des principaux noyaux et de leurs architectures 6 Notes et références 7 Voir aussi 7. périphérique.2 Fonctions généralement remplies par un noyau 2.2 Gestionnaire de mémoire 2.4 Gestion du matériel 3 Différents types de noyaux 3.3 Systèmes à micro-noyaux 3. la gestion du matériel (mémoire.3 Appels système 2. ordonnancement…) .noyaux enrichis système d’exploitation 3.2 Noyaux monolithiques modulaires 3.1 Noyaux monolithiques non modulaires 3.1 Avantages et inconvénients d’un système à micro-noyau 3.1 Ordonnanceur 2. stockage…).3 Liens externes Généralités [modifier] En informatique.2 Articles connexes 7.3.2 Exemple d’associations micro-noyaux .4 Noyaux hybrides 3. processeur. .

). un multiprocesseur est capable de gérer autant de processus qu’il a de processeurs. Le noyau a de grands pouvoirs sur l’utilisation des ressources matérielles.La majorité des systèmes d’exploitation est construite autour de la notion de noyau. Le noyau offre ses fonctionnalités (l’accès aux ressources qu’il gère) au travers des appels système. c’est-à-dire d’un programme unique responsable de la communication entre le matériel et le logiciel. Windows. Lorsque plusieurs tâches doivent être exécutées de manière parallèle. Un processeur est capable d’exécuter un seul processus. Cette division fondamentale de l’espace mémoire en un espace noyau et un espace utilisateur contribue beaucoup à donner la forme et le contenu actuels des systèmes généralistes (GNU/Linux. Elle structure également le travail des développeurs : le développement de code dans l’espace noyau est a priori plus délicat que dans l’espace utilisateur car la mémoire n’est pas protégée. de sécurité et d’architecture des processeurs. La plus courante est celle de processus (ou tâche). en partageant le temps du processeur entre les processus. L’existence d’un noyau présuppose[1] une partition virtuelle de la mémoire vive physique en deux régions disjointes. etc. l’une étant réservée au noyau (l’espace noyau) et l’autre aux applications (l’espace utilisateur). ordonnancement . L’existence d’un noyau. . mais un ensemble de routines pouvant être appelées par les différents processus pour effectuer des opérations requérant un certain niveau de privilèges. Les entrées et les sorties font l’objet d’un traitement spécifique par l’ordonnanceur. il est réveillé par le processus système lorsque celui-ci se termine. Le noyau du système d’exploitation n’est en lui-même pas une tâche. Pour pallier cet inconvénient majeur. les noyaux multitâches permettent l’exécution de plusieurs processus sur un processeur. un processus bloqué ne consomme pas de temps processeur. C’est ce que l’on appelle les entrées et sorties. Il transmet ou interprète les informations du matériel via des interruptions. temps partagé. un noyau multitâche s’appuie sur les notions de : commutation de contexte . Diverses abstractions de la notion d’application sont fournies par le noyau aux développeurs. en particulier de la mémoire. résulte de compromis complexes portant sur des questions de performance. En général. Les flots d’exécution dans le noyau sont des continuations des flots d’exécution des processus utilisateurs bloqués lorsqu’ils effectuent des appels systèmes. Mac OS X.

ainsi que des fonctions de communication inter-processus. Enfin.Systèmes à noyaux restreints [modifier] Il existe de nombreux noyaux aux fonctionnalités restreintes tels que les micronoyaux. les fonctions réseaux et systèmes de fichiers ou les services) n'est pas nécessairement fourni par un noyau de système d’exploitation. etc. suivant la conception du noyau. entrées/sorties. de nombreux noyaux fournissent également des fonctions moins fondamentales telles que : la gestion des systèmes de fichiers . des services réseau (NFS. les noyaux ne sont pas limités à leurs fonctionnalités de base. La plupart d’entre eux sont actuellement inadaptés pour une utilisation généraliste. En effet. la plupart des noyaux fournissent également des modèles de pilotes et des pilotes pour le matériel. etc. En dehors de fonctions précédemment listées. . On trouve généralement dans les noyaux les fonctions des micro-noyaux : un gestionnaire de mémoire et un ordonnanceur. dans des serveurs ou ordinateurs personnels. des notions de processus étendues telles que les processus légers . des supports réseaux (TCP/IP. la même fonction appelée depuis l’espace utilisateur ou l’espace noyau a un coût temporel notoirement différent. temps réel. Ces systèmes sont généralement adaptés à des applications très ciblées mais posent des problèmes variés (de sécurité avec MS-DOS. l’ensemble des fonctions des points suivants (y compris les pilotes matériels. CP/M) ou les exo-noyaux. Fonctions généralement remplies par un noyau [modifier] Les noyaux ont comme fonctions de base d’assurer le chargement et l’exécution des processus. de performances avec HURD ou QNX). À de rares exceptions. Si cet appel de fonction est fréquent.). En dehors des fonctionnalités de base. les systèmes sans noyau (MS-DOS. PPP. de gérer les entrées/sorties et de proposer une interface entre l’espace noyau et les programmes de l’espace utilisateur. etc.) . il peut s’avérer utile d’intégrer ces fonctions au noyau pour augmenter les performances. plusieurs ordonnanceurs spécialisés (batch. Ces fonctions du système d’exploitation peuvent être implantées tant dans l’espace utilisateur que dans le noyau lui-même. Leur implantation dans le noyau est faite dans l’unique but d’augmenter les performances. pare-feu.) .

il est préférable d’écrire un logiciel hors du noyau. L’ordonnanceur d’un système d’exploitation n’a de sens qu’en système multitâche. Ordonnanceur [modifier] Article détaillé : Ordonnancement dans les systèmes d'exploitation. Cet algorithme doit permettre d’utiliser efficacement les ressources de la machine. L’algorithme d’ordonnancement détermine quelle tâche doit s’exécuter en priorité et sur quel processeur. les bugs et failles de sécurité sont bien plus dangereux. dans l’espace utilisateur. appelée également commutation de contexte.Ces techniques sont utilisées pour pallier des défauts des noyaux tels que les latences élevées. l’écriture en espace noyau suppose l’absence de mécanismes tels que la protection de la mémoire. Il gère l’ordre dans lequel les instructions de différentes tâches sont exécutées et est responsable de la sauvegarde et de la restauration du contexte des tâches (ce contexte est constitué des registres processeurs). Certains permettent également de migrer des tâches sur d’autres machines d’une grappe de calcul. La plupart des ordonnanceurs modernes permettent d’indiquer sur quel processeur sont exécutées les tâches. L’ordonnancement peut être de type « coopératif » : les tâches doivent être écrites de manière à coopérer les unes avec les autres et ainsi accepter leur suspension pour l’exécution d’une autre tâche. En effet. L’ordonnancement peut être également de type préemptif : l’ordonnanceur a la responsabilité de l’interruption des tâches et du . Il est donc plus complexe d’écrire un logiciel fonctionnant dans l’espace noyau que dans l’espace utilisateur. Autant que possible.

Ainsi. Certains noyaux sont eux-mêmes préemptifs : l’ordonnanceur peut interrompre le noyau lui-même pour faire place à une activité (typiquement. Gestionnaire de mémoire [modifier] Le gestionnaire de mémoire est le sous-ensemble du système d’exploitation qui permet de gérer la mémoire de l’ordinateur. Ces données peuvent notamment être fragmentées dans la mémoire vive lorsqu’un processus demande . Sur les noyaux récents[note 2]. L’intérêt de ne pas indiquer au processus l’emplacement physique des données est de permettre au gestionnaire de mémoire de placer et déplacer à sa convenance les données en mémoire. le gestionnaire de mémoire masque la localisation physique de la mémoire (en mémoire vive ou sur disque dur. Cette mémoire allouée est par défaut propre au processus qui en fait la demande. Sa tâche la plus basique est d’allouer de la mémoire à des processus lorsqu’ils en ont besoin. sans affecter les processus. la mémoire est privée (protégée). un processus ne peut pas accéder à la mémoire d’un autre processus (sauf allocations et autorisations spécifiques). toujours dans le noyau) de priorité plus élevée. tout processus croit manipuler une mémoire "logique" qui a les propriétés suivantes[note 3] : la mémoire peut être étendue jusqu’aux capacités théoriques de la machine[note 4] . dans l’espace de mémoire paginée) et présente au programme une mémoire globale uniforme dite mémoire virtuelle.choix de la prochaine à exécuter.

Cette migration est faite sur les différents supports mémoires tels que dans la mémoire physique (plus ou moins proche du processeur). qui signale au noyau l’existence d’un accès fautif. Les programmes dans l’espace utilisateur disposent de pouvoirs restreints sur la mémoire : ils doivent demander au noyau de la mémoire. Contexte du noyau . changement de contexte . La virtualisation de la mémoire permet aussi une gestion optimiste des ressources : la mémoire allouée mais pas encore utilisée peut être virtuellement allouée à plusieurs processus (noyau Linux). En plus d’un changement de mode d’exécution. il est évincé automatiquement. dans la mémoire accessible par réseaux (grappe de calcul). dont le retour est effectué dans le programme appelant dans l’espace utilisateur. Le noyau fait appel à son gestionnaire de mémoire pour allouer (ou non) la mémoire au processus qui la demande. Le contenu de la mémoire peut aussi être migré. Le mécanisme d’éviction repose sur un mécanisme du processeur. les fonctions qui sont utilisées de manière intense sont déplacées . Pour ces raisons. l’appel système suppose au moins deux commutations de contextes : Contexte du programme appelant . Le coût d’un appel système est nettement plus élevé qu’un simple appel de fonction intra-processus : alors qu’un appel de fonction ne suppose que quelques instructions primitives (chargement et exécution d’une zone mémoire). nommément une unité de gestion de la mémoire. générant à la fois une charge et des délais d’exécution supplémentaires. dans la mémoire paginée. Appels système [modifier] Les appels système sont des fonctions : appelées depuis un programme de l’espace utilisateur . Si un processus tente d’utiliser des zones de mémoire ne lui appartenant pas. le coût d’un appel système se compte en milliers ou dizaines de milliers d’instructions primitives.un bloc de mémoire d’une taille supérieure au plus grand bloc physique libre. Contexte du programme appelant. C’est le noyau lui-même qui prend la décision de suspendre ou détruire immédiatement le processus fautif. dont l’exécution (le traitement) est effectuée dans l’espace noyau . ou MMU. changement de contexte .

outils sur liaison série. Les programmes utilisent ces périphériques au travers d’un nombre restreint d’appels système. read et write sont présentées à l’espace utilisateur pour manipuler toutes sortes de périphériques. Les nombreuses interactions de bas niveau générées par ces appels système sont effectuées dans l’espace noyau.dans l’espace noyau. Des noyaux spécifiques à une architecture. Différents types de noyaux [modifier] Il existe toutes sortes de noyaux. On considère généralement les noyaux monolithiques. Afin de réduire le nombre des appels système effectués pour accéder à un périphérique. Cependant. comme cela a été vu dans le précédent paragraphe.) sont/peuvent être pilotés depuis l’espace utilisateur. Les pilotes sont des petits logiciels légers dédiés à un matériel donné qui permettent de faire communiquer ce matériel. les interactions basiques avec le périphérique sont faites dans l’espace noyau. un appel système est coûteux : il nécessite au moins deux changements de contexte. En raison du très grand nombre d’accès à certains matériels (disques durs par exemple). Les entrées/sorties font également l’objet d’un traitement par l’ordonnanceur. On parle dans ce cas de système de fichiers synthétique. plus ou moins spécialisés. l’abstraction utilisée est le système de fichiers : les primitives open. Ils sont généralement inclus dans l’espace noyau et communiquent avec l’espace utilisateur via les appels système. pouvoir faire un noyau monolithique multiplate-forme et . Il ne croyait pas. Dans les systèmes de type UNIX. En effet. Les programmes utilisateurs font alors un nombre restreint d’appels système de haut niveau. L’ensemble de ces noyaux peut être divisé en deux approches opposées d’architectures logicielles : les noyaux monolithiques et les micro-noyaux. de nombreux périphériques lents (certains appareils photographiques numériques. de conception ancienne. à l’époque. Le noyau Linux était déjà qualifié d’obsolète par Andrew Tanenbaum[2]. comme obsolètes car difficiles à maintenir et moins « propres ». indépendamment de l’architecture. Cela concerne notamment les pilotes de périphériques. dès sa création en 1991. le noyau intervenant au minimum. Gestion du matériel [modifier] La gestion du matériel se fait par l’intermédiaire de pilotes de périphériques. certains pilotes sont très sollicités. souvent monotâches. close. etc. Il existe des couches d’abstraction de matériel (HAL) qui présentent la même interface à l’espace utilisateur et simplifient ainsi le travail des développeurs d’applications. d’autres généralistes et souvent multitâches et multiutilisateurs.

qui consiste à déplacer l’essentiel des fonctions du noyau vers l’espace utilisateur. certains BSD ou certains vieux Unix ont un noyau monolithique. se rejoignent quasiment en pratique par les micro-noyaux hybrides et les noyaux monolithiques modulaires. les noyaux monolithiques ont été les premiers à être développés et mis en œuvre. tels que Windows et Mac OS X. n’ont pas un « vrai » micro-noyau enrichi. Ainsi. 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 d’adressage afin de réduire les latences. Ils utilisent un micro-noyau hybride : certaines fonctionnalités qui devraient exister sous forme de mini-serveurs se retrouvent intégrées dans leur micro-noyau. considérées comme diamétralement différentes en termes de conception. La mise en place de micro-noyaux.modulaire. au fur et à mesure de leurs développements. les micro-noyaux et les noyaux monolithiques. les deux approches d’architectures de noyaux. C’est-à-dire que l’ensemble des fonctions du système et des pilotes sont regroupés dans un seul bloc de code et un seul bloc binaire généré à la compilation. utilisant le même espace d’adressage. Ainsi les performances du noyau Linux (monolithique) sont supérieures à celles de ses concurrents (noyaux généralistes à micro-noyaux). sans compter qu’il fut finalement porté sur de très nombreuses plates-formes et qu’il est modulaire depuis 1995. Pour ces raisons de performance. De par la simplicité de leur concept mais également de leur excellente vitesse d’exécution. le code de ces noyaux monolithiques a augmenté en taille et il s’est avéré difficile de les . Noyaux monolithiques non modulaires [modifier] Architecture monolithique Certains systèmes d’exploitation. est très intéressante en théorie mais s’avère difficile en pratique. les systèmes généralistes basés sur une technologie à micro-noyau. comme d’anciennes versions de Linux. Cependant.

Celle-ci devint rapidement inacceptable. L’évolution du code s’est faite en parallèle à l’évolution du matériel. et des problèmes de portage ont alors été mis en évidence sur les noyaux monolithiques.maintenir. Les multiples dépendances créées entre les différentes fonctions du noyau empêchaient la relecture et la compréhension du code. Pour preuve. Le support par les architectures monolithiques des chargements à chaud ou dynamiques implique une augmentation du nombre de pilotes matériels compilés dans le noyau. et par suite. En réalité les problèmes de la portabilité de code se sont révélés avec le temps indépendants de la problématique de la technologie des noyaux. alors que des noyaux tels que HURD ou celui de Windows XP utilisent des micro-noyaux censés faciliter le portage mais n’existent que pour quelques architectures. NetBSD est un noyau monolithique et est porté sur un très grand nombre d’architectures. une augmentation de la taille de l’empreinte mémoire des noyaux. Architecture d’un noyau monolithique Noyaux monolithiques modulaires [modifier] .

comme les pilotes matériels. Les noyaux monolithiques modulaires conservent les principaux atouts des noyaux monolithiques purs dont ils sont issus. La mémoire est économisée. Ainsi les systèmes de fichiers peuvent être chargés de manière indépendante. La très grande majorité des systèmes actuels utilise cette technologie : Linux. L’utilisation de modules implique le découpage du code source du noyau en blocs indépendants. par exemple. Les tests et certifications de ces composants doivent être plus poussés. un pilote de périphérique changé. Les noyaux monolithiques modulaires conservent également un important défaut des noyaux monolithiques purs : une erreur dans un module met en danger la stabilité de tout le système. seules les parties fondamentales du système sont regroupées dans un bloc de code unique (monolithique). La modularité du noyau permet le chargement à la demande de fonctionnalités et augmente les possibilités de configuration. seuls les pilotes correspondants au matériel effectivement présent dans la machine sont chargés en mémoire vive. Les distributions Linux. Les autres fonctions. Ainsi. etc. L’ensemble des pilotes matériels sont compilés en tant que modules. Le noyau peut alors supporter l’immense variété de matériel trouvé dans les compatibles PC. tirent profit des modules chargeables lors de l’installation. certaines parties peuvent être non compilées ou compilées en tant que modules chargeables directement dans le noyau. Par exemple avec le noyau Linux. Après l’installation. lors du démarrage du système. sont regroupées en différents modules qui peuvent être séparés tant du point de vue du code que du point de vue binaire.Architecture d’un système à noyau monolithique modulaire Pour répondre aux problèmes des noyaux monolithiques. Ces blocs améliorent l’organisation et la clarté du code source et en facilitent également la maintenance. la facilité de conception et de développement est globalement maintenue et la vitesse d’exécution reste excellente. ces derniers sont devenus modulaires. . Dans ce type de noyau. la plupart des BSD ou Solaris.

Cet ensemble logiciel est appelé « micro-noyau enrichi ». La pratique contredit largement la théorie et les noyaux modulaires sont aujourd’hui les plus portés. sont très lourds et peuvent limiter les performances. Ce principe a de grands avantages théoriques : en éloignant les services « à risque » des parties critiques du système d’exploitation regroupées dans le noyau. Les systèmes à micro-noyaux cherchent à minimiser les fonctionnalités dépendantes du noyau en plaçant la plus grande partie des services du système d’exploitation à l’extérieur de ce noyau. le grand nombre de lignes de code exécutées en mode noyau engendre des problèmes de portabilité. c’est-à-dire dans l’espace utilisateur. Ces fonctionnalités sont alors fournies par de petits serveurs indépendants possédant souvent leur propre espace d’adressage. Un petit nombre de fonctions fondamentales est conservé dans un noyau minimaliste appelé « micro-noyau ». qui deviennent fondamentaux pour assurer le passage de messages entre les serveurs.D’un point de vue théorique. Avantages et inconvénients d’un système à micro-noyau [modifier] Les avantages théoriques des systèmes à micro-noyaux sont la conséquence de l’utilisation du mode protégé par les services qui accompagnent le micro-noyau. tout en facilitant la maintenance et l’évolutivité. En . En revanche. Systèmes à micro-noyaux [modifier] Architecture d’un système à micro-noyau Les limitations des noyaux monolithiques ont amené à une approche radicalement différente de la notion de noyau : les systèmes à micro-noyaux. les mécanismes de communication (IPC). il permet de gagner en robustesse et en fiabilité. L’ensemble des fonctionnalités habituellement proposées par les noyaux monolithiques est alors assuré par les services déplacés en espace utilisateur et par ce micro-noyau.

ceux-ci bénéficient de la protection de la mémoire. il a été résolu en plaçant encore plus de services en espace utilisateur. en plaçant les services dans l’espace utilisateur. De plus. L’utilisation de nombreux services dans l’espace utilisateur engendre les deux problèmes suivants : La plupart des services sont à l’extérieur du noyau et génèrent un très grand nombre d’appels système .6. par exemple en supprimant toute vérification des permissions. L’ajout ou le retrait d’un service ne perturbe pas l’ensemble du système. seuls les services utiles doivent être réellement lancés au démarrage. Les premiers micro-noyaux (comme Mach) n’ont pas tout de suite atteint ces avantages théoriques. laissant ce soin aux serveurs externes. Le nombre réduit de lignes de code peut augmenter la portabilité du système. La rapidité de traitement des IPC a pu être améliorée en simplifiant les communications au maximum. 6 millions de lignes de code pour le noyau Linux 2. La stabilité de l’ensemble en est améliorée : une erreur d’un service en mode protégé a peu de conséquences sur la stabilité de l’ensemble de la machine. Dans L4. Les interfaces de communication entre les services (IPC) sont complexes et trop lourdes en temps de traitement. Le grand nombre d’appels système et la communication sous-jacente sont un défaut inhérent à la conception des micro-noyaux. Les micro-noyaux ont un autre avantage : ils sont beaucoup plus compacts que les noyaux monolithiques. La complexité de l’ensemble est réduite. en réduisant les possibilités pour les services de pouvoir intervenir directement sur le matériel. Ces modifications radicales ont permis d’obtenir de bonnes performances mais elles ne doivent pas faire oublier qu’un micro-noyau doit être accompagné d’un grand nombre de services pour fournir des fonctionnalités équivalentes à celles des . Les interdépendances entre les différents serveurs sont faibles. Ainsi. la sécurité du système est renforcée.effet. Le système gagne également en possibilités de configuration.0 contre en général moins de 50 000 lignes pour les micro-noyaux. L’intervention sur une fonctionnalité défectueuse consiste à arrêter l’ancien service puis à lancer le nouveau. La maintenance du code exécuté en mode noyau est donc simplifiée. sans devoir redémarrer toute la machine. Le développement d’un système à micro-noyau se trouve également simplifié en tirant parti à la fois de la protection de la mémoire et de la faible interdépendance entre les services. Les erreurs provoquées par les applications en mode utilisateur sont traitées plus simplement que dans le mode noyau et ne mettent pas en péril la stabilité globale du système.

De plus.noyaux enrichis .noyaux monolithiques. la grande liberté dont disposent les services au niveau de la sécurité et de la gestion de la mémoire accroît la difficulté et le temps de leur développement (ils doivent fournir leurs propres interfaces). Architecture d’un micro-noyau enrichi par des services (micro-noyau enrichi) Exemple d’associations micro-noyaux .système d’exploitation [modifier] Micro-noyau L4 Mach (GNU Mach) Mach Mach Noyauxhybrides [modifier] Micronoyauenrichi HURD HURD XNU XNU Systèmesd’exploitationas sociés GNU/HURD GNU/HURD Darwin Mac OS X .

Ce compromis permet d’améliorer considérablement les performances en conservant de nombreuses propriétés des systèmes à micro- . sont réintégrées dans l’espace noyau. certaines fonctions non critiques. Lorsqu’au début des années 1990 les développeurs et concepteurs se sont aperçus des faiblesses des premiers micro-noyaux. Alors que la philosophie générale des systèmes à micro-noyaux est maintenue (seules les fonctions fondamentales sont dans l’espace noyau). Les micro-noyaux « purs » semblaient condamnés à l’échec. certains réintégrèrent diverses fonctionnalités non fondamentales dans le noyau. mais très génératrices d’appels système. pour gagner en performance.Architecture hybride Architecture hybride : XNU La dénomination de « noyaux hybrides » désigne principalement des noyaux qui reprennent des concepts à la fois des noyaux monolithiques et des micro-noyaux. pour combiner les avantages des deux.

Cette notion rejoint les notions de grappe de calcul. de serveur d’application et de CORBA. selon les approches techniques. RTLinux et RTAI. Noyaux temps réel [modifier] . les logiciels peuvent être déployés et utilisés sur le réseau informatique comme s’il s’agissait d’une machine unique. De cette manière. on peut rencontrer le terme « noyau hybride » pour remplacer improprement « noyau monolithique modulaire » ou « micro-noyau enrichi ». MkLinux (le noyau Linux sur Mach).noyaux. Exo-noyaux [modifier] Étymologiquement. Un méta système doit également permettre la personnalisation.0 mais qui inclut du code du noyau monolithique BSD au sein de l’espace noyau. notamment les noyaux monolithiques sur micro-noyaux (temps réel ou non) tels que L4Linux (Linux sur L4). Adeos. de machine virtuelle. au lieu du 'kernel-space' dans le cas des autres noyaux). en créant une unique couche de gestion des périphériques au niveau d’un réseau. comme elle le ferait sur un noyau simple. Cette dénomination est également utilisée pour désigner d’autres types de noyaux. 'exo' signifie en grec 'hors de'. Méta-noyaux [modifier] Un « méta-noyau » est un ensemble de logiciels qui vise à appliquer la notion de noyau informatique au niveau d’un réseau informatique. la gestion des permissions ainsi que l’utilisation d’informations dépendant de la localisation. LibOSes) ou des démons (IntraServices). Les fonctions et services du système d'exploitation sont assurés par de petits modules qui. Un exemple de ce type de noyau hybride est le noyau XNU de Mac OS X. sont des librairies dynamiques (MIT. Un exo-noyau est donc un système d'exploitation fonctionnant en espace utilisateur (en 'user-space'. Plus rarement. Il est basé sur le micro-noyauMach 3. et l’ensemble des logiciels fonctionnant sur cette plate-forme peuvent se partager les ressources de manière intégrée.

Le système d’exploitation non spécialisé fonctionne en tant que service du micro-noyau temps réel. Les applications temps réel font alors appel à la partie temps réel du noyau. Très utilisés dans le monde de l’électronique embarquée. Par exemple. cette notion est plutôt implicite à la garantie des temps d’exécution en comparaison aux critères temporels de l’application industrielle (la réactivité d’un système de freinage ABS n’a pas les mêmes critères temporels que le remplissage d’une cuve de pétrole). allouant du temps d’exécution à un noyau de système d’exploitation non spécialisé. l’une spécialisée dans le temps réel et l’autre générique. ils sont conçus pour tourner sur des plates-formes matérielles limitées en taille. puissance ou autonomie. Ce sont des noyaux généralement assez légers qui ont pour fonction de base stricte de garantir les temps d’exécution des tâches. Une des architectures souvent retenue est un noyau hybride qui s’appuie sur la combinaison d’un micro-noyau temps réel spécialisé. Cette solution permet d’assurer le fonctionnement temps réel des applications. . alors que les applications temps réel peuvent faire directement appel au micro-noyau temps réel pour garantir leurs délais d’exécutions. on peut avoir un micro-noyau temps réel allouant des ressources à un noyau non temps réel tel que Linux (RTLinux. Windows) peut alors être exécuté à l’identique sur le noyau pour lequel il a été conçu. Les noyaux temps réel peuvent adopter en théorie n’importe quelle architecture précédemment listée. Ils fournissent souvent deux interfaces séparées. Il n’y a pas à proprement parler de notion de rapidité de traitement ou de réactivité dans les noyaux temps réel. RTAI) ou Windows. L’environnement GNU (resp.Une possibilité d’architecture de noyau temps réel hybride Les noyaux temps réel sont fonctionnellement spécialisés. tout en maintenant la compatibilité avec des environnements préexistants.

4 Chorus Oui Fiasco Oui HURD IRIX Jaluna L4 Oui Linux < 1. Exemples de Mic MicroNoyaumon Noyaumonolithi roNoyauh Temps systèmes Noyau noyau d’exploitatio olithique quemodulaire noy ybride réel enrichi n associés au AIX Amoeb a BeOS Ancien s BSD BSD 4.VxWorks est un noyau propriétaire temps réel très implanté dans l’industrie bien que les systèmes à base de noyau Linux se déploient énormément et aient un succès grandissant via RTAI (RTLinux étant breveté).Solaris Non 1 Oui GNU/L4Linux Oui /Fiasco Non Oui GNU/HURD IRIX Jaluna/Choru Oui s GNU/HURD . Synthèse des principaux noyaux et de leurs architectures [modifier] Article détaillé : Liste des noyaux de systèmes d'exploitation.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 . Oui GNU/L4linux Non Non GNU/Linux GNU/Linux GNU/Linux/Ly Oui nuxWorks .

Oui GNU/HURD. Darwin.Mach Oui Mac OS X. Oui BSD/VxWork s Windows NT Oui Oui Oui Oui Non Oui Oui Mac OS X. 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 etréférences [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 Darwin Oui OS-9 .

l’espace d’adressage et la non réentrance. enjeux. Macmillan P. Computer Organization and Design. Peter B. chapitre 1. Computer Organisation and Architecture. la gestion des interruptions. Peterson. Addison-Wesley. Tanenbaum [archive] Voir aussi [modifier] Bibliographie [modifier] : source utilisée pour la rédaction de cet article Andrew Tanenbaum. La généralisation de cette technologie au grand public commence avec Windows XP et Mac OS X. (en) B.↑ Diverses raisons empêchent l’utilisation par le noyau des mécanismes d’abstraction qu’il fournit. (ISBN 0-33364551-0). Morgan Koffman (ISBN 1-55860-428-6) . fonctionnement. 1990 (ISBN 0-201-51379-X) .). Ainsi avec Linux sur x86 (32 bits).3 . seule une fraction des capacités théoriques de la machine peut être allouée à un processus. O’Reilly. (ISBN 2-7440-7002-5) . Entre autres causes. (en) James L. (ISBN 0-13-142938-8). Les systèmes d’exploitation des ordinateurs : histoire. Operating Systems: Design and Implementation. Chalk. Marco Cesati. Pearson Education France. (Gestionnaire de mémoire matériel). Systèmes d’exploitation. Galvin (dir. ↑ L’implémentation de l’ensemble de ces propriétés par le gestionnaire de mémoire du noyau suppose l’utilisation de microprocesseurs adaptés et équipés d’une unité de gestion de la mémoire. (en) David A. (ISBN 284177-243-8) . Operating system concepts.S. Vuibert. Patterson. seuls les 3 premiers gigaoctets sont disponibles par défaut pour les processus [1] [archive]. Prentice Hall.4. Le Noyau Linux. 3rd ed. Laurent Bloch. août 2006. 2003 (ISBN 2-7117-5322-0) Articles connexes [modifier] . Daniel P. ↑ Le concept de mémoire virtuelle date des années 1960.1. 2e éd. Références ↑Andrew Tanenbaum. NitinIndurkhya. 2003.. ↑ Sur la plupart des noyaux. ↑ (en)Linux vs. Peterson. Bovet. Abraham Silberschatz.4 . 3e éd.

Espace noyau. Liste des noyaux de systèmes d’exploitation. Liens externes [modifier] Projet SOS : introduction à la programmation d’un noyau Programmer son propre noyau : une introduction avec Pépin osdev. Temps réel . espace utilisateur : Interruption. écrit par Jochen Liedtke. Entrées-Sorties. en particulier Linux Sur les micro-noyaux : Interview de Marcus Brinkmann. Communication inter-processus . Pilote .org. des documents et un forum très actif sur la programmation de noyaux (en) kernelnewbiesproject. créateur de L3 et L4 Passe d’armes entre Linus Torvalds et Andrew Tanenbaum sur le choix d’une architecture monolithique pour le noyau Linux [Enrouler] . processus léger. mémoire vive. mémoire paginée. L4 en particulier) (en) On Micro-KernelConstruction[pdf]. développeur principal de Hurd/L4 (présente l’intérêt du portage sur un micro-kernel.Système d'exploitation . articles et documents divers sur le fonctionnement des noyaux. Commutation de contexte. Multitâche : Processus. Ordonnancement. temps partagé. Mémoire : Mémoire virtuelle. Unité de gestion mémoire . appel système.

v·d·m Noyaux de systèmes d'exploitation Noyaux Linux · Windows NT · XNU courants Autresnoyau Accent · GNU Mach · Linux-libre · L4 · Mach · Trix x Communication inter-processus · Commutation de contexte · Multitâche Ordonnancement · Processus · Temps partagé · Thread · Thread Local Storage Matériel Mémoire Technique Entrées-sorties · Interruption · Interruption matérielle · Pilote Paginée · Virtuelle · Vive · Unité de gestion mémoire Appel système · BigKernelLock · Espace noyau · Espace utilisateur Pour une liste complète. voir la liste des noyaux de systèmes d'exploitation et la catégorie informatique .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->