24
Jocelyn Ducharlet - Ingén ieurs 2000 - IR98 1 Présentation de l’Architecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Embed Size (px)

Citation preview

Page 1: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

1

Présentation de l’Architecture Windows NT

Page 2: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

2

Sommaire

• Le cahier des charges• Architecture générale de Windows NT• Structure de l’architecture Windows NT

HAL

Kernel

NT Executive

Sous environnements

Page 3: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

3

Le cahier des charges

Microsoft voulait créer un NOS :• Evolutif• Portable• Fiable• Compatible• Sécurisé• Performant

Page 4: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

4

Architecture en général

• Objet, objet, objet• monolithique pas trop, plutôt modulaire• Préemptif et multi-tâches• Multi-processeurs• Architecture Client/Serveur• Adressage 32 bits 4Go d’espace mémoire• Support de plusieurs systèmes de fichier• Ecrit en C et C++ principalement• Services réseau intégrés

Page 5: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

5

HAL

Noyau

Object Manager

I/O Manager

SecurityRessourceManager

ProcessManager

LPCVirtual

MemoryManager

GraphicManager(USER et

GDI)

Services systèmes

Mode noyau

Mode utilisateur

Matériel

Security subsystem Win32 subsystem

POSIXsubsystem

OS/2subsystemNTVDM

WOW

Win16Logon process

Appli POSIX

Appli DOS

Appli Win16

Appli OS/2

Page 6: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

6

HAL

• Interface entre le matériel et le reste du système d’exploitation

• Intel, MIPS, PowerPC, Alpha• Interface SMP (Symmetric Multi Processing)

peut supporter jusqu’à 4 processeurs et même 32 (dev. spécifique)

• Chaque processeur physique est représenté comme un processeur virtuel

• Accessible que par NT Executive

Page 7: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

7

Kernel (Noyau ou micro-noyau) (1/2)

• Gère le(s) microprocesseur(s) • distribue et planifie les threads sur les processeurs

virtuels (en fonction des priorités)• Un noyau tourne sur chaque processeur• Ne peut être swappé ni préempté (;-))

Page 8: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

8

Kernel (Noyau ou micro-noyau) (2/2)

• Gère les interruptions système• Traite les exceptions processeur• Parties critiques écrites en assembleur• Le reste des tâches est délégué aux services de NT

Executive

Page 9: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

9

Services du NT executive

• Ce sont des programmes qui fonctionnent en mode noyau

• Fournissent des services de base aux sous-systèmes d’environnement

Object Manager

I/O Manager

SecurityRessourceManager

ProcessManager

LPCVirtual

MemoryManager

GraphicManager(USER et

GDI)

Page 10: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

10

Gestionnaire d’objets• Sous NT, les ressources de l’OS sont représentés par des

objets :

– Processus, thread

– Périphériques

• Un objet contient une ACL

• Un handle est une référence d’objet. Permet de l ’utiliser

• Un handle contient un pointeur ainsi que des informations de contrôle sur l’objet qu’il représente

• Le gestionnaire d’objet crée, modifie et supprime ces objets. Supprime aussi les objets orphelins.

• Fournit ces handles

• gère les ressources consommées par chaque objet

Page 11: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

11

Gestionnaire de process

• crée, supprime et modifie l’état des processus et des threads

• renseigne sur l’état des processus et des threads• Ne cadence pas les threads

Page 12: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

12

Gestionnaire de mémoire virtuelle (VMM)

• Affecte à chaque processus 4Go d’espace mémoire– 2Go pour le système– 2Go pour l’application

• Gère le swap

Page 13: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

13

Appel de procédure locale (LPC)

• Permet à deux threads appartenant à deux processus différents de communiquer

• Deux processus voulant dialoguer passent obligatoirement par le LPC : modèle Client / Serveur

• Les dialogues entre sous-systèmes d’environnement Win32 et Posix par exemple passent par des LPC

Page 14: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

14

Moniteur de sécurité (SRM)

• Gère la sécurité sur la machine locale• Sécurise l’accès aux objets du système• Compare le SAT de l’utilisateur et l’ACL de

l’objet : calcule les droits à positionner dans le handle

Page 15: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

15

Gestionnaire d’entrée-sortie

• Coordonne les entrées-sorties du système• conception par couche• gère les systèmes de fichier• gère les redirecteurs réseau• gère le cache disque• gère la communication entre drivers

Page 16: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

16

HAL

Noyau

Object Manager

I/O Manager

SecurityRessourceManager

ProcessManager

LPCVirtual

MemoryManager

GraphicManager(USER et

GDI)

Services systèmes

Mode noyau

Mode utilisateur

Matériel

Security subsystem Win32 subsystem

POSIXsubsystem

OS/2subsystemNTVDM

WOW

Win16Logon process

Appli POSIX

Appli DOS

Appli Win16

Appli OS/2

Page 17: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

17

Les sous-systèmes d’environnement

• VDMs (Virtual DOS Machines) MS-DOS et VDM Win16 n’en sont pas

• sous-système OS/2• sous-système Posix• sous-système Win32• L ’entête du fichier définit dans quel environnement

le programme doit être exécuté• Fournit un environnement d’exécution pour les

applications

Page 18: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

18

VDM MS-DOS (1/2)• C’est une application Win32 émulant un ordinateur x86 (80386

et +).

• Instructions x86 émulées par la « Instruction Execution Unit »

• mode « Virtual-86 »

• Services d’interruptions ROMBIOS fournis par le module d’émulation MS-DOS

• Services d’interruptions 21 d’MS-DOS fournis par le module d’émulation MS-DOS

• Les « Virtual Device Drivers » (VDD) émulent un hardware virtuel (écran, clavier,...)

Page 19: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

19

VDM MS-DOS (2/2)

• Une VDM par application avec son propre espace d’adressage

• Nombre de VDM DOS illimité• La VDM offre plus de mémoire qu’il aurait été

possible d ’avoir en DOS normal

Page 20: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

20

VDM Win16

• Un sous-système Win16 multi-threadé coopératif• WOW : Win16 On Win32 :

• fait la conversion 16 bits - 32 bits et inversement (thunking)

• fait le lien avec le sous-système Win32• applications Win16 non préemptives entre elles,

mais le système reste préemptif• Toutes les applications Win16 tournent dans le

même environnement

Page 21: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

21

Sous-système OS/2

• Interface de présentation de NT à l’origine• OS/2 1.x mode caractère• tourne uniquement sur des processeurs à base Intel• Les applications OS/2 tournent dans leur propre

espace d’adressage mémoire en mode multi-tâche préemptif

• Quelques supports réseau

Page 22: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

22

Sous-système Posix

• Portable Operating System Interface• conforme à Posix 1• fonctions réseau et système non Posix• noms de fichiers Posix avec NTFS• Les applis posix tournent dans leur propre espace

d’adressage mémoire en mode multi-tâche préemptif

Page 23: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

23

Sous-système Win32

• Tous les sous-environnements vu précédemment passent par Win32 : ils traduisent leurs API en API Win32

• Gère l’affichage, le clavier et la souris• Le gestionnaire de fenêtres (USER) et l ’interface

graphique (GDI) sont en fait dans le NT Executive

Page 24: Jocelyn Ducharlet - Ingénieurs 2000 - IR98 1 Présentation de lArchitecture Windows NT

Jocelyn Ducharlet - Ingénieurs 2000 - IR98

24

Fin