- Ntoskrnl
-
Noyau Windows NT
Le noyau de Windows NT est le composant Microsoft qui assure l'accès sécurisé des différentes tâches de Windows à la couche du matériel (Hardware abstraction layer).
Sur un système 32 bits classique monoprocesseur, le noyau s'appelle NTOSKRNL.EXE; c'est le cas le plus fréquent actuellement. Sur un système 32 bits multiprocesseur SMP, le nom est NTKRNLMP.EXE. Sur un système PAE (Physical Address Extension), le nom du noyau Windows est NTKRNLPA.EXE pour un monoprocesseur et NTKRPAMP.EXE sur un multiprocesseur.
Le noyau de Windows NT est multitâche préemptif et multi-utilisateur, de type
Le présent article concerne Windows Vista, Windows Server 2003, Windows XP, Windows 2000 et Windows NT.
Sommaire
Les différents composants de la couche matériel (Hardware abstraction layer)
Le noyau Windows est l'interface du gestionnaire d'objets pour accéder aux composants matériels.
Le noyau de Windows NT est le seul composant de Windows NT à avoir accès directement aux composants matériels suivants de la HAL :
- DMA (Accès direct mémoire)
- bus mapping
- Horloge et timer
- Gestion des interruptions
- Privileged Architecture
Pour la gestion des entrées/sorties (disques et autres...) et de l'interface graphique GDI, il existe d'autres composants qui font un accès direct à la HAL : ce sont les pilotes en mode noyau (KMD : Kernel Mode Drivers) qui respectent le modèle WDM[3] (Windows Driver Model)
Le gestionnaire d'objets a accès à la base de registre de Windows.
Paramétrage du noyau
Le paramétrage du noyau est fait
- par les switch de boot, voir boot.ini, le fichier de configuration de l'amorçage
- par la base de registre (voir gestionnaire de session et les autres composants de base de Windows)
Historique
Le noyau de Windows Millennium, 98, 95 et des versions plus anciennes
Dans le noyau des anciennes versions de Windows, les différents composants pouvaient accéder directement à la couche matérielle via VxD (Virtual Device Driver).
Les plus anciens noyaux de Windows étaient multitâche coopératif et mono-utilisateur. Le nom du noyau était KRNL286.EXE pour le microprocesseur Intel 80286 et KRNL386.exe pour les processeurs Intel 80386, Intel 80486 et autres. Ce composant n'était pas un véritable noyau car il n'y avait pas de partition virtuelle de la mémoire vive physique en deux régions disjointes (espace noyau et espace utilisateur).
La première version du noyau NT
La première version officielle du noyau de windows NT est la version 3.1, en 1993. L'un des concepteurs du noyau est David Cutler, qui avait travaillé précédemment à la conception du système d'exploitation VMS de la société DEC.
F. van Wensveen indique les points communs suivants entre les noyaux des 2 systèmes d'exploitation:
- Nombre et séparation de niveau de priorité
- Utilisation de mémoire virtuelle paginée sur demande
- Modèle pilote en couche
Windows Vista : PatchGuard pour protéger le noyau
Les versions 64 bits de Windows (XP, 2003 et Vista) ont un composant PatchGuard dont le but est de protéger le noyau contre toute forme de modification (i.e. un patch) et donc de rendre Windows moins vulnérable à l'introduction d'un rootkit (une porte dérobée).
L'introduction de ce composant pose des problèmes aux éditeurs d'anti-virus. Dans l'état actuel de Vista (janvier 2007), l'API fournie par Microsoft n'est pas assez complète pour les besoins spécifiques des éditeurs d'anti-virus.
Article détaillé : Kernel Patch Protection.Voir aussi
Notes
Articles connexes
Références externes
- Le noyau XP par Thierry Joubert.
- Pour le noyau de Windows CE (NK.exe), voir (en) * Vue d'ensemble du noyau de Windows CE
- Vue d'ensemble du noyau de Windows NT
Historique des noyaux de Windows
- Portail de l’informatique
Catégories : Noyau informatique | Composant Windows
Wikimedia Foundation. 2010.