nouvelle architecture. Cette portabilité n'a pas que des avantages. Pour
fonctionner sur différentes machines, une application doit être compilée
plusieurs fois mais il n'est pas rare qu'une compagnie ne développe et
maintienne qu'une seule version Intel de son programme. Ensuite, il y a une
perte de performance importante lorsqu'on fait tourner des applications Dos
ou Windows 16 bits sur d'autres processeurs que celui d'Intel. Enfin, il n'est
pas possible avec cette philosophie portable d'optimiser certaines portions du
code en assembleur, le langage C n'offrant pas une optimisation idéale pour
certaines tâches intensives.
Sécurité
Les concepts de sécurité et de protection des données de Windows NT
ont été largement inspirées des directives et recommandations émises par le
National Computer Security System du Département Américain de la
Défense. NT répond au niveau de sécurité C2. A ce niveau, un contrôle
d'accès discrétionnaire est spécifié par le créateur d'un objet. Il y détermine
quels sont les utilisateurs ou groupes d'utilisateurs qui ont l'autorisation
d'utiliser cet objet. Un autre mécanisme de sécurité s'assure que les
données résiduelles sont complètement effacées de la mémoire et des
disques lorsqu'elles ne sont plus indispensables ou lorsqu'elles sont
assignées à un nouvel utilisateur. Chaque démarrage d'une station de travail
passe par une procédure d'identification de l'utilisateur qui garantit aux
données leur confidentialité. Une nouvelle gestion des fichiers, appelée
NTFS, fournit à NT un nombre impressionnant de mécanismes pour la
tolérance de fautes : disques en miroir et/ou en duplex, système de
récupération des données etc.
Le modèle de sécurité de Windows NT est basé sur le concept d'objet. Un
objet sécurité peut représenter n'importe quelle ressource système : un
fichier, un périphérique, un programme, un utilisateur. Chaque objet
transporte sa propre information sur ce qu'il lui est permis de faire ou non.
Multi Processeurs
NT a été conçu pour supporter plusieurs processeurs à la fois au sein
d'une seule et unique machine. Il ne s'agit pas d'une rudimentaire gestion
asymétrique des processeurs où un processeur graphique, par exemple,
délivre le processeur central d'une série de tâches accessoires. Il s'agit ici
d'une véritable gestion symétrique de processeurs identiques où chaque
processeur gère une sous-tâche,ou 'thread', particulière. L'ajout d'un
processeur débouche sur une augmentation linéaire des performances. NT
peut gérer jusqu'à trente processeurs dans une seule machine.
Compatibilité
Au dessus de la couche responsable de l'interaction avec le hardware,
Windows NT peut accueillir toute une série d'autres couches, appelées sous-
systèmes, d'autres personnalités qui assurent la compatibilité avec d'autres
systèmes d'exploitation. Les applications Windows NT en mode 32-bit
cotoient, sans le moindre heurt, des programmes MS-DOS, des
programmes Windows 16-bit, des applications OS/2 1.3 en mode caractère
et même des logiciels conformes aux normes POSIX. Pour reprendre
l'expression consacrée par IBM, Windows NT est lui aussi un meilleur
Windows que Windows puisque chaque programme dispose de son propre
espace mémoire et est incapable de bloquer le système ou de corrompre les
données provenant d'autres applications. Mieux encore, il est possible
d'échanger des données entre ces programmes hétéroclites via le presse-
papier, de simples pipes ou les mécanismes DDE et OLE. Seules les
applications Dos, Windows et OS/2 1.x correctement écrites pourront tourner
dans l'environnement NT. Ces applications ne pourront pas, par exemple,
faire des accès de bas niveau au contrôleur du disque dur, écrire
directement sur le port série, attaquer la mémoire de la carte graphique. Ce
genre de comportement est régulièrement utilisé par les programmeurs MS-
DOS pour accélérer certaines tâches qui seraient trop lentes si elles étaient