AU CŒUR DE WINDOWS NT HELEN CUSTER RESUME Windows Nf est le nouveau système d'exploitation 32 bits portable de Microsoft, dont l'auteur a suivi le développement depuis son debout. La conception radicalement nouvelle de ce système d'exploitation lui permet d'offrir une grande compatibilité, notamment la capacité de faire tourner des programmes MS-DOS et Windows 3.1 sur des processeurs non-Intel Ce livre décrit la philosophie, l'architecture, le développement de Windows NT et les domaines auXquels il ouvre la voie. En particulier le fait de concrétiser d e s concepts, naguère réserves à des environnements très spécifiques, c omme l'architecture micro-kernel, la sécurité a base d'objets, le réseau intégré et les sous-systèmes client-serveur. Au cœur de Windows NT est un ouvrage accessible qui débute par la description du système d'exploitation, la conception et le modèle d'architecture sur lequel il est fonde. U couvre ensuite, en détail, des thèmes tels que: § Les sous-systèmes protéges client-serveur grâce auxquels Windows NT fait tourner simultanément des programmes MSDOS, Windows 16 bits, OS/2 et POSIX et les applications natives Win32. § Le noyau Nf avec les objets du noyau, le traitement des interruptions et des exceptions, l'ordonnancement des threads et la synchronisation des processeurs. § La gestion de la mémoire virtuelle avec l'utilisation d'un mécanisme d'adressage linéaire sur 32 bits, un logiciel de pagination versatile, des fichiers mappés en mémoire et l'interface avec le noyau, le gestionnaire de cache et la structure de processus. § La gestion des objets ou sont décrits la dénomination et le partage des ressources système. § Les processus et les threads, les E/S et systèmes de fichiers ainsi que les perspectives de Windows NT: le système d'exploitation Nouvelle Technologie d'avenir. TABLE DES MATIERES INTRODUCTION 19 CHAPITRE 1 : LA MISSION 23 UN SYSTEME POUR LES ANNEES 90 25 LES OBJECTIFS DU PROJET 28 Extensibilité Portabilité Fiabilité La compatibilité Performances 28 29 31 31 32 L'EQUIPE 33 LE RESTE DU LIVRE 33 CHAPITRE 2 : PRESENTATION DU SYSTEME 35 LES MODELES DE WINDOWS NT 37 Le modèle client -serveur Le modèle objet Le Traitement symétrique sur plusieurs processeurs 38 43 44 Le Traitement symétrique sur plusieurs processeurs LA STRUCTURE DE WINDOWS NT Les sous-systèmes protégés L'exécutif Une première visite Ouverture d'une session d'utilisation Les sous-systèmes d' environnement Les services natifs Les objets Mémoire virtuelle Les systèmes d'entrées-sorties et de fichiers AUTRES ELEMENTS DE L'ARCHITECTURE DE WINDOWS NT L'internationalisation Localité Unicode Traitement structuré des exceptions 44 46 48 49 51 51 53 54 55 57 58 60 60 61 62 63 EN CONCLUSION 67 CHAPITRE 3 : lE GESTIONNAIRE D'OBJETS ET LA SECURITE 69 LES OBJETS DE L'EXECUTIF NT 71 Utiliser des objets Le modèle des fichiers Le modèle d'objets de Windows NT Structure des objets Types d'objets GESTION DES OBJETS Noms d'objets Répertoires d'objets Domaines d'objets Liens symboliques Handles d'objets Rétention d'objets Comptabilité des ressources Méthodes d'objets PROTECTION DES OBJETS Jetons d'accès Listes de contrôle d'accès En résumé 73 74 75 77 79 80 81 81 83 84 86 88 89 89 91 93 94 96 EN CONCLUSION 97 CHAPITRE 4 : PROCESSUS ET THREADS 99 QU'EST-CE QU'UN PROCESSUS? L'espace d'adressage Ensembles de ressources L'objet-processus QU'EST-CE QU'UN THREAD ? 101 102 103 104 107 Multitâche et multiprocesseur Traitement multithread 108 110 Objet -thread La synchronisation Les alertes et les appels asynchrones de procédures 113 116 118 STRUCTURE DE PROCESSUS Les demandes des sous-systèmes d'environnement La structure de processus native Gestion des processus clients Eviter les abus 119 120 124 125 126 EN CONCLUSION 127 CHAPITRE 5 : WINDOWS ET LES SOUS-SYSTEMES PROTEGES 129 PRESENTATION DES SOUS-SYSTEMES PROTEGES 132 Pourquoi un modèle client-serveur? Fournir des environnements multiples Protection de la mémoire Le problème des performances L'INTERACTION ENTRE LES SOUS-SYSTEMES DE WINDOWS NT L'ouverture de session Faire tourner des applications LE SOUS-SYSTEME WIN32 L'APl 32 bits Structure Changements dans la conception MS-DOS ET L'APl WINDOWS 16 BITS Les machines virtuelles DOS (VDM) Windows sur Win32 (WOW) TRANSMISSION DE MESSAGES AVEC LPC Objet-port Types de transmission de messages LPC Copie d'un message sur un port Transmission d'un message en mémoire partagée Les rappels LPC rapide 134 134 138 141 144 145 147 150 151 153 154 160 161 164 167 168 169 170 171 173 174 EN CONCLUSION 175 CHAPITRE 6 : LE GESTIONNAIRE DE MEMOIRE VIRTUELLE 177 LA MEMOIRE VIRTUELLE 180 LES CARACTERISTIQUES DU MODE UTILISATEUR 185 Gestion de la mémoire Le partage de la mémoire Sections, vues et fichiers mappés Objet section Protection de la mémoire Mémoire privée d'un processus La mémoire partagée 185 186 188 190 192 192 194 IMPLEMENTATION DE LA MEMOIRE VIRTUELLE 196 Espace d' adressage La pagination Mécanismes de pagination 196 197 198 RègIes de pagination et jeu de pages de travail La base de données des pages physiques Les descripteurs d'adresses virtuelles Considérations liées au muItitraitement Considérations liées à la portabilité 202 204 208 209 210 EN CONCLUSION 211 CHAPITRE 7 : LE NOYAU 213 GENERALITES 216 ET REPARTITION DES THREADS 217 Objets-processus et objets-threads du noyau Priorités de l'ordonnancement 217 221 Priorités de l'ordonnancement Commutation de contexte LE TRAITEMENT DES INTERRUPTIONS ET DES EXCEPTIONS Code de traitement des déroutements Répartition des interruptions Types d'interruptions et priorités Traitement des interruptions lnterruptions logicielles Répartition des exceptions Répartition des services système 221 223 225 226 227 227 230 232 235 238 SYNCHRONISATION DES PROCESSEURS 239 Synchronisation du noyau Synchronisation de l'exécutif, 241 242 REPRISE SUR PERTE D'ALIMENTATION 245 EN CONCLUSION 246 CHAPITRE 8 : LE SYSTEME D'ENTREES/SORTIES 249 UNE VUE D'ENSEMBLE DES E/S DE WINDOWS NT 252 Les composants du système d'E/S Eléments de la conception Modèle objet de Windows NT Modèle uniforme de pilote Fonctionnement asynchrone E/S sur fichier mappé et cache de fichier TRAITEMENT DES E/S Objets-fichiers Demande d'E/S pour un pilote monocouche Mise en file d'attente d'une demande d'E/S Traitement d'une interruption Achèvement d'une demande d'E/S Demandes d'E/S pour des pilotes multicouche Remarques sur l'utilisation des E/S asynchrones MODELE DE PILOTE EN COUCHES Structure d'un pilote Objet -pilote et objet –périphérique Paquet de demande d'E/S Ajout de pilotes multicouche Considérations sur le développement des pilotes Traitement sur plusieurs processeurs Reprise après une panne d'alimentation 252 253 254 255 258 260 261 261 264 265 267 270 272 276 278 278 280 281 282 285 285 287 EN CONCLUSION 288 CHAPITRE 9 : RESEAUX 291 LES PREDECESSEURS 294 L'histoire Modèle de référence ISO LE RESEAU INTEGRE Les APl réseau Composants du réseau intégrés Le redirecteur Le serveur Résolution des noms ARCHITECTURE OUVERTE Accès aux systèmes de fichiers distants en mode utilisateur Le routeur fournisseur multiple pour l'APl Wnet 295 296 299 300 303 303 306 307 309 309 309 Le routeur fournisseur multiple pour l'APl Wnet Le fournisseur d'UNC multiples pour les E/S de fichiers de Win32 Protocoles de transport L'environnement NDIS pour les pilotes de réseau ENVIRONNEMENT D'APPLICATIONS DISTRIBUE Appel de procédure distante Canaux nommés 309 312 313 315 317 318 322 RESEAUX ETENDUS ET SECURITE DISTRIBUEE 324 EN CONCLUSION 328 EPILOGUE 331 GLOSSAIRE 337 BIBLIOGRAPHIE 369 INDEX 379 TOP