Notions de Base
- Le système d'exploitation Windows NT est très objet. Chaque entité, physique ou virtuelle, est représentée; comme un objet dans le système. Le coeur du système d'exploitation
lui-même est divisé en objets, ce qui en fait un système d'exploitation modulaire. L'avantage de la méthode objet, quand certaines règles sont bien appliquées, est que chaque objet est indépendant. Un
objet n'a aucune connaissance de comment sont constitués les autres. La seule chose qu'il connaisse des autres objets est leur interface. C'est uniquement à travers des interfaces que les objets vont dialoguer
entre eux, ce qui assure, avec des interfaces bien définies, un bon fonctionnement d'ensemble. Si par hasard un problème survenait, ce serait une bogue dans le code de l'un des objets ou une mauvaise définition
des interfaces. Une autre règle en programmation objet est d'avoir un couplage faible, c'est à dire que les interfaces ne doivent pas être trop grosses et qu'un objet ne devrait pas avoir à connaître trop
d'objets. Ce dernier critère devient difficile à respecter dans le développement d'un système d'exploitation. En effet, tous les objets du système ont besoin des services des autres, un couplage fort est donc
inévitable. Windows NT n'y a pas échappé.
- Windows NT, comme tout système d'exploitation moderne, est préemptif et multitâches. Préemptif signifie qu'il est capable de faire tourner sur le microprocesseur plusieurs processus
(programmes) en concurrence. C'est le système d'exploitation qui va se charger de remplacer un processus en cours d'exécution par un autre (changement de contexte...).
- Windows NT est multi-processeurs, il peut gérer 4 processeurs, et même jusqu'à 32 avec un développement spécifique des constructeurs.
- Windows NT est basé sur une architecture client-serveur. Le système est un ensemble d'objets. Certains sont propres au système, d'autres sont des objets "utilisateur".
Quand un objet demande un service à un autre, il joue le rôle de client. Le fournisseur de service joue le rôle du serveur.
- Un adressage 32 bits permet à Windows NT d'allouer 4 Go d'espace mémoire (virtuel) pour chaque processus.
- Windows NT supporte plusieurs systèmes de fichier, la MS-DOS FAT (File Allocation Table), HPFS (High Performance File System), le système de fichier pour le CD-Rom, NTFS (NT File
System). Pour le système Win32, je crois qu'il faut ajouter un petit programme. Pourtant c'est aussi du Microsoft, eh oui. A croire que ce système de fichier soit mauvais, et qu'il risquerait de rendre Windows
NT instable.
- Les langages de programmation C et C++ ont été principalement utilisés pour le développement de Windows NT.
- Les services réseau sont intégrés au système d'exploitation (normal, c'est un NOS : Network Operating System, Système d'exploitation réseau).
Structure détaillée de l'architecture Windows NT
Windows NT fonctionne dans deux mode différents, le mode noyau et le mode utilisateur.
- Le mode noyau
est le mode dans lequel tournent les fonctions vitales du système d'exploitation. C'est un mode protégé ou le code est très optimisé. Un programme tournant dans ce mode n'est pas soumis aux divers contrôles de sécurité, comme par exemple vérifier si la mémoire à laquelle il accède lui est bien attribuée. Les programmes ne doivent contenir aucune bogue car la sécurité est réduite au minimum. Les programmes doivent à tout prix respecter leur espace d'adressage. On retrouve dans ce mode tous les programmes utilisés en permanence par le système d'exploitation. Il est impossible de faire tourner ces propres programmes dans ce mode.
- Le mode utilisateur
est le mode dans lequel tournent les programmes qui sont soumis à la sécurité du système d'exploitation, fournie justement par les programmes qui tournent en mode noyau. On y trouvera tous les programmes des utilisateurs, mais aussi certains programmes du système d'exploitation qui ont été placés ici pour ne pas trop charger de programmes en mode noyau (peut-être aussi parce-que leurs programmes ne sont pas stables et qu'il ne vaut mieux pas qu'ils puissent accéder à toute la mémoire...).
La stabilité de Windows NT est assurée grâce à ces deux modes. Le mode noyau est le coeur du système d'exploitation, la partie la plus petite possible, la plus optimisée et sans aucune bogue.
Tout ce qui tourne en mode utilisateur est controlé par les programmes du mode noyau et ne peut donc pas faire planter le système, en théorie.
Sur l'image qui suit, la séparation entre les deux modes est
matérialisée par une ligne horizontale en pointillés :
|