Architecture de la gamme d'OS Windows NT
# Architecture de la gamme d'OS Windows NT

Windows 2000, Windows XP et Windows Server 2003 font tous partie de la famille de systèmes d'exploitation Windows NT. Ce sont tous des systèmes d'exploitation préemptifs, réentrants conçus pour l'architecture x86 d'Intel, aussi bien monoprocesseur que SMP (multi-processeur symétrique). Pour traiter les requêtes d'entrées-sorties (I/O), ils utilisent des paquets de requête d'entrée/sortie (I/O request packets ou IRPs) et des I/O asynchrones. À partir de Windows XP, Microsoft a commencé à inclure le support des processeurs 64-bits dans ses systèmes — auparavant, ils étaient basés sur un modèle 32-bits. L'architecture du système d'exploitation Windows NT est fortement modulaire, et consiste en deux couches principales : un mode utilisateur et un mode noyau. Les programmes et sous-systèmes en mode utilisateur sont limités quant aux ressources auxquelles ils ont accès, tandis que le mode noyau a un accès illimité à la mémoire système et aux périphériques externes. Les noyaux des systèmes de cette famille sont connus en tant que noyaux hybrides, leur micronoyau étant essentiellement le noyau alors que les services de plus haut niveau sont implémentés par l'exécutif NT, qui existe aussi en mode noyau.

Le mode utilisateur dans la lignée Windows NT est constitué de sous-systèmes capables de passer des requêtes d'entrée-sortie au pilote logiciel approprié en utilisant le gestionnaire d'I/O. Deux sous-systèmes forment la couche mode utilisateur de Windows 2000: le sous-système Environnement (qui fait tourner les applications écrites pour de nombreux systèmes d'exploitation différents), et le sous-système Intégral (qui réalise les fonctions spécifiques du système au profit de l'Environnement). Le mode noyau de Windows 2000 dispose d'un accès total au matériel et aux ressources systèmes de l'ordinateur. Le mode noyau empêche les services et applications du mode utilisateur d'accéder à des zones critiques du système d'exploitation pour lesquels ils ne disposent pas de droits suffisants.

L'Exécutif NT s'interface avec tous les sous-systèmes du mode utilisateur. Il prend en charge les I/O, la gestion des objets, la sécurité et la gestion des processus. Le noyau hybride s'insère entre la couche d'abstraction matérielle et l'Exécutif pour assurer la synchronisation multi-processeur, l'ordonnancement des threads et des interruptions et la gestion et la répartition des trappes et exceptions.

Le microkernel est aussi responsable de l'initialisation des pilotes de périphériques au lancement. Les pilotes en mode noyau existent à trois niveaux : haut, intermédiaire et bas niveau. Le Windows Driver Model (WDM) existe dans la couche intermédiaire et a été conçue principalement pour assurer une compatibilité au source et binaire entre Windows 98 et Windows 2000. Les drivers de niveau bas sont soit des pilotes de périphériques hérités de Windows NT, soit des bus matériel PnP (Plug and Play).

