V??rifi?? contenu

Architecture de Windows NT

Sujets connexes: Logiciel

?? propos de ce ??coles s??lection Wikipedia

Enfants SOS ont produit une s??lection d'articles de wikipedia pour les ??coles depuis 2005. enfants SOS a regard?? des enfants en Afrique depuis quarante ans. Pouvez-vous aider dans leur travail en Afrique ?

De la famille de syst??mes d'exploitation Windows NT l'architecture est constitu??e de deux couches ( mode utilisateur et mode noyau), avec plusieurs modules diff??rents dans ces deux couches.

L'architecture de Windows NT, une ligne de syst??mes d'exploitation fabriqu??s et vendus par Microsoft , est une conception en couches qui se compose de deux ??l??ments principaux, mode utilisateur et mode noyau. C'est un pr??ventive, syst??me d'exploitation rentrante, qui a ??t?? con??u pour fonctionner avec monoprocesseur et sym??trique plusieurs processeur (SMP) -en ordinateurs. Proc??der entr??e / sortie (I / O) demandes, ils utilisent entra??n?? paquet-I / O, qui utilise / Paquets de requ??tes I S (IRP) et E / S asynchrones. ?? partir de Windows 2000 , Microsoft a commenc?? ?? faire Les versions 64 bits de Windows disponibles avant cela, ces syst??mes d'exploitation ne existaient que dans Les versions 32 bits.

Programmes et sous-syst??mes en mode utilisateur sont limit??s en termes de ce que les ressources syst??me, ils ont acc??s ??, tandis que le mode noyau a un acc??s illimit?? ?? la m??moire syst??me et les p??riph??riques externes. Le Windows NT noyau est connu comme un noyau hybride. L'architecture comprend un noyau simples , couche d'abstraction mat??rielle (HAL), les pilotes et une gamme de services (collectivement nomm?? ex??cutif ), qui existent tous en mode noyau.

mode utilisateur dans Windows NT est faite de sous-syst??mes capables de demandes d'E / S en passant au mode noyau appropri?? pilotes logiciels en utilisant le gestionnaire E / S. Deux sous-syst??mes forment la couche en mode utilisateur de Windows NT: le sous-syst??me de l'environnement (qui ex??cute des applications ??crites pour de nombreux types de syst??mes d'exploitation), et le sous-syst??me int??gr?? fonctionne fonctions sp??cifiques du syst??me, au nom du sous-syst??me de l'environnement. Mode noyau de Windows NT dispose d'un acc??s complet aux ressources mat??rielles et du syst??me de l'ordinateur. Le mode noyau arr??te les services et les applications en mode utilisateur d'acc??der ?? des zones critiques du syst??me d'exploitation qui ne devraient pas avoir acc??s.

Les interfaces ex??cutifs, avec tous les sous-syst??mes en mode utilisateur, traite des E / S, gestion des objets, la s??curit?? et la gestion des processus. Le noyau se trouve entre la couche d'abstraction mat??rielle et l'ex??cutif pour fournir la synchronisation multiprocesseur, le fil et interrompre horaires des exp??ditions, et la manipulation de pi??ge et l'exception dispatching. Le noyau est ??galement responsable de l'initialisation des pilotes de p??riph??riques au d??marrage. Les pilotes en mode noyau existent en trois niveaux: les pilotes de niveau plus ??lev??, les pilotes interm??diaires et les pilotes de bas niveau. De Windows Driver Model (WDM) existe dans la couche interm??diaire et a ??t?? principalement con??u pour ??tre binaire et source compatible entre Windows 98 et Windows 2000 . Les pilotes de niveau plus bas sont soit des pilotes de p??riph??riques Windows NT existants qui contr??lent un dispositif directement ou peut ??tre un PnP bus mat??riel.

Mode d'utilisation

Le mode utilisateur est compos?? de sous-syst??mes qui peuvent passer des demandes d'E / S pour les pilotes en mode noyau appropri??s via le gestionnaire d'E / S (qui existe en mode noyau). Deux sous-syst??mes constituent la couche en mode utilisateur de Windows NT: le sous-syst??me de l'environnement et du sous-syst??me int??gr??.

Le sous-syst??me de l'environnement a ??t?? con??u pour ex??cuter des applications ??crites pour de nombreux types de syst??mes d'exploitation. Aucun des sous-syst??mes de l'environnement peut directement acc??der au mat??riel, et doit demander l'acc??s aux ressources de la m??moire par le gestionnaire de m??moire virtuelle qui se ex??cute en mode noyau. En outre, les applications se ex??cutent ?? une priorit?? inf??rieure ?? celle des processus en mode noyau.

Il existe trois principaux sous-syst??mes de l'environnement: la Win32 sous-syst??me, un 2 sous-syst??me OS / et un Sous-syst??me POSIX.

  • L'environnement sous-syst??me Win32 peut ex??cuter les applications 32 bits de Windows. Il contient la console ainsi que le soutien de la fen??tre de texte, d'arr??t et de manutention pour tous les autres sous-syst??mes de l'environnement dur erreur. Il prend ??galement en charge Machines virtuelles DOS (VDM), qui permettent MS-DOS et Windows 16 bits ( Win16) applications de se ex??cuter sur Windows NT. Il ya un sp??cifique MS-DOS VDM qui se ex??cute dans son propre espace d'adressage et qui ??mule une Intel 80486 fonctionnant sous MS-DOS 5.0. Programmes Win16, cependant, se ex??cutent dans un Win16 VDM. Chaque programme, par d??faut, se ex??cute dans le m??me processus, en utilisant ainsi le m??me espace d'adressage, et Win16 VDM donne chaque programme son propre fil pour fonctionner. Toutefois, Windows NT ne permettent aux utilisateurs d'ex??cuter un programme Win16 dans un Win16 VDM s??par??, qui permet au programme d'??tre pr??ventivement multit??che que Windows NT pr??empter l'ensemble du processus VDM, dont un seul contient ex??cutant l'application. Le processus de sous-syst??me de l'environnement Win32 ( csrss.exe) comprend ??galement la fonctionnalit?? de gestion de fen??tre, parfois d??nomm?? un " gestionnaire de fen??tres ". Il g??re les ??v??nements d'entr??e (tels que le clavier et la souris), puis transmet les messages aux applications qui ont besoin de recevoir cette entr??e. Chaque application est responsable pour le dessin ou de l'actualisation de ses propres fen??tres et menus, en r??ponse ?? ces messages .
  • Le / 2 l'environnement sous-syst??me OS prend en charge 16 bits ?? base de caract??res applications OS / 2 et ??mule OS / 2 1.x, mais pas 32 bits ou graphiques applications OS / 2 tel qu'il est utilis?? avec OS / 2 2.x ou plus tard.
  • L'environnement sous-syst??me POSIX supporte les applications qui sont strictement ??crits ?? la norme POSIX.1 ou connexes ISO / Normes CEI. Le sous-syst??me POSIX a ??t?? une zone de d??veloppement actif r??cente et est une caract??ristique majeure de Windows Compute Cluster Server 2003.

Le sous-syst??me int??grante se occupe des fonctions sp??cifiques du syst??me d'exploitation au nom du sous-syst??me de l'environnement. Il se compose d'un sous-syst??me de s??curit??, un service de poste et un service de serveur. Le sous-syst??me de s??curit?? traite de jetons de s??curit??, accorde ou refuse l'acc??s ?? des comptes d'utilisateurs bas??s sur les autorisations de ressources, g??re les demandes de connexion et lance l'authentification de connexion et d??termine les ressources syst??me doivent ??tre v??rifi??s par Windows NT. Il se occupe aussi Active Directory. Le service ?? la station de travail est une API pour le redirecteur de r??seau, qui fournit un acc??s au r??seau informatique. Le service de serveur est une API qui permet ?? l'ordinateur de fournir des services de r??seau.

Mode noyau

Windows NT mode noyau a un acc??s complet aux ressources mat??rielles et de syst??me de code informatique et se ex??cute dans une zone de m??moire prot??g??e. Il contr??le l'acc??s ?? la programmation, le fil de priorit??s, la gestion de la m??moire et de l'interaction avec le mat??riel. Le mode noyau arr??te les services en mode utilisateur et les applications d'acc??der zones critiques du syst??me d'exploitation qui ne devraient pas avoir acc??s; processus en mode utilisateur doit demander ?? la mode noyau pour effectuer ces op??rations en leur nom.

Tandis que le l'architecture x86 prend en charge quatre niveaux de privil??ges diff??rents (num??rot??s de 0 ?? 3), seuls les deux niveaux de privil??ges extr??mes sont utilis??s. programmes en mode utilisateur sont organis??es avec CPL 3, et le noyau fonctionne avec CPL 0. Ces deux niveaux sont souvent d??sign??s comme "anneau 3" et "ring 0", respectivement. Une telle d??cision de conception avait ??t?? fait pour assurer la portabilit?? de code Plates-formes RISC qui ne supportent que deux niveaux de privil??ge, si cela rompt la compatibilit?? avec Applications OS / 2 qui contiennent I / segments de privil??ges de O qui tentent d'acc??der directement au mat??riel.

Mode noyau se compose des services ex??cutifs, qui est lui-m??me compos?? de plusieurs modules qui font des t??ches sp??cifiques, pilotes du noyau, un noyau et une couche d'abstraction mat??rielle, ou HAL.

Ex??cutif

Les services ex??cutifs fen??tres constituent la partie en mode noyau de bas niveau, et sont contenues dans le fichier NTOSKRNL.EXE. Il traite des E / S, gestion des objets, la s??curit?? et la gestion des processus. Ceux-ci sont divis??s en plusieurs sous-syst??mes, parmi lesquels le gestionnaire de cache, Configuration Manager, / O Gestionnaire I, Local Procedure Call (LPC), gestionnaire de m??moire, Gestionnaire d'objets, Processus Structure et s??curit?? Moniteur de r??f??rence (SRM). Regroup??s, les composants peuvent ??tre appel??s services ex??cutifs (nom interne Ex). Les services syst??me (nom interne Nt), ce est ?? dire, appels syst??me, sont mises en ??uvre ?? ce niveau aussi, sauf tr??s peu qui appellent directement dans la couche de noyau pour une meilleure performance.

Le terme ??service?? dans ce contexte se r??f??re g??n??ralement ?? une routine appelable, ou un ensemble de routines appelables. Cela est diff??rent de la notion de "processus de service", qui est une composante de mode d'utilisateur quelque peu analogue ?? une daemon dans Les syst??mes d'exploitation de type Unix.

Gestionnaire d'objets
Le Gestionnaire d'objets (nom interne Ob) est un sous-syst??me de direction que tous les autres sous-syst??mes de direction, en particulier les appels syst??me, doivent passer ?? travers pour acc??der ?? Windows NT-ressources essentiellement ce qui en fait un service de l'infrastructure de gestion des ressources. Le gestionnaire d'objet est utilis?? pour r??duire la duplication des fonctionnalit??s de gestion des ressources de l'objet dans d'autres sous-syst??mes de direction, ce qui pourrait conduire ?? des bugs et faire du d??veloppement de Windows NT plus difficile. Pour le gestionnaire d'objets, chaque ressource est un objet, que cette ressource est une ressource physique (comme un syst??me de fichiers ou p??riph??rique) ou une ressource logique (comme un fichier). Chaque objet a une structure ou d'un objet de type que le gestionnaire d'objet doit conna??tre.
Cr??ation d'objet est un processus en deux phases, la cr??ation et l'insertion. Cr??ation provoque l'attribution d'un objet vide et la r??servation de toutes les ressources n??cessaires par le gestionnaire d'objets, comme un nom (facultatif) dans l'espace. Si la cr??ation a r??ussi, le sous-syst??me responsable de la cr??ation remplit l'objet vide. Enfin, si le sous-syst??me estime l'initialisation r??ussie, elle charge le gestionnaire d'objet pour ins??rer l'objet, ce qui le rend accessible par son nom (facultatif) ou d'un cookie appel?? une poign??e. D??s lors, la dur??e de vie de l'objet est g??r?? par le gestionnaire d'objet, et ce est le sous-syst??me pour maintenir l'objet dans une condition de travail avant d'??tre signal??e par le gestionnaire d'objets d'en disposer.
Les poign??es sont des identificateurs qui repr??sentent une r??f??rence ?? une ressource du noyau par une valeur opaque. De m??me, l'ouverture d'un objet par son nom est soumis ?? des contr??les de s??curit??, mais agissant par l'interm??diaire, une poign??e ouvert existant est seulement limit??e au niveau de l'acc??s demand?? lorsque l'objet a ??t?? ouvert ou cr????.
Les types d'objets d??finissent les proc??dures d'objets et toutes les donn??es sp??cifiques ?? l'objet. De cette fa??on, le gestionnaire d'objet permet ?? Windows NT d'??tre un opposer syst??me d'exploitation orient??, en tant que types d'objets peuvent ??tre consid??r??s comme des polymorphes classes qui d??finissent objets. La plupart des sous-syst??mes, cependant, avec une exception notable dans le gestionnaire E / S, se appuient sur la mise en ??uvre par d??faut pour toutes les proc??dures de type d'objet.
Chaque instance d'un objet qui est cr???? stocke son nom, param??tres qui sont pass??s ?? la fonction de cr??ation d'objet, les attributs de s??curit?? et un pointeur vers son type d'objet. L'objet contient ??galement un objet pr??s proc??dure et un nombre de r??f??rence de dire au gestionnaire d'objet combien d'autres objets dans la r??f??rence de syst??me qui se oppose et d??termine ainsi si l'objet peut ??tre d??truit lors d'une demande de fermeture est envoy?? ?? elle. Chaque objet nomm?? existe dans un objet hi??rarchique espace de noms.
Controller Cache
Coordonne ??troitement avec le gestionnaire de m??moire, / O Gestionnaire d'E / S et de pilotes I ?? fournir un cache commun pour fichier r??gulier I / O. Unique, le gestionnaire de cache de Windows op??re sur des blocs de fichiers (plut??t que des blocs de p??riph??riques), pour un fonctionnement coh??rent entre les fichiers locaux et distants, et assure un certain degr?? de coh??rence avec vues mapp??s en m??moire de fichiers, depuis les blocs de cache sont un cas particulier de vues mapp??s en m??moire cache et manque un cas particulier de d??fauts de page.
Configuration Manager
Met en ??uvre la Registre de Windows.
Moi Manager / O
Permet aux p??riph??riques de communiquer avec les sous-syst??mes en mode utilisateur. Il traduit en mode utilisateur lire et ??crire des commandes dans IRP lire ni ??crire lesquels il passe aux pilotes de p??riph??riques. Il accepte syst??me de fichiers I demandes d'E / S et les traduit en appels sp??cifiques de l'appareil, et peut int??grer des pilotes de p??riph??riques de bas niveau qui manipulent directement au mat??riel ni lire ni ??crire entr??e sortie. Il comprend ??galement un gestionnaire de cache pour am??liorer les performances des disques en demandes de lecture de cache et d'??crire sur le disque dans le fond.
Local Procedure Call (LPC)
Fournit des ports de communication inter-processus avec la s??mantique de connexion. ports LPC sont utilis??s par les sous-syst??mes en mode utilisateur pour communiquer avec leurs clients, par sous-syst??mes ex??cutif de communiquer avec les sous-syst??mes en mode utilisateur, et comme base pour le transport local pour MSRPC.
Gestionnaire de m??moire
G??re la m??moire virtuelle, le contr??le de protection de m??moire et le pagination de m??moire dans et hors de la m??moire physique vers le stockage secondaire, et met en oeuvre un allocateur d'usage g??n??ral de la m??moire physique. Il met ??galement en ??uvre un analyseur des ex??cutables PE qui permet un ex??cutable ??tre mapp??s ou non mapp?? en une seule ??tape, atomique.
A partir de Windows NT Server 4.0, ??dition Terminal Server, le gestionnaire de m??moire met en ??uvre un espace dite session, une plage de m??moire en mode noyau qui est soumis ?? changement de contexte comme m??moire en mode utilisateur. Cela permet plusieurs instances du mode noyau sous-syst??me Win32 GDI et les pilotes c??te-??-c??t?? de fonctionner, malgr?? les lacunes dans leur conception initiale. Chaque espace de session est partag??e par plusieurs processus, collectivement d??nomm??es une "session".
Pour assurer un degr?? d'isolement entre les sessions sans introduire un nouveau type d'objet, l'association entre les processus et les s??ances est assur??e par le Moniteur de r??f??rence de s??curit??, comme un attribut d'un sujet de s??curit?? (jeton), et il ne peut ??tre modifi?? tout en maintenant des privil??ges sp??ciaux .
La nature relativement simples et ad hoc des sessions est d?? au fait qu'ils ne faisaient pas partie de la conception initiale, et a d?? ??tre mis au point, avec une perturbation minimale ?? la ligne principale, par un tiers ( Citrix) comme une condition pr??alable pour leur produit de serveur Terminal Server pour Windows NT, appel?? WinFrame. ?? partir de Windows Vista, cependant, sessions est finalement devenu un aspect propre de l'architecture Windows. Non plus un gestionnaire construction de la m??moire qui se insinue en mode utilisateur indirectement par Win32, ils ont ??t?? ??largis dans une abstraction g??n??ralis??e qui affecte les plus sous-syst??mes de direction. En fait, l'utilisation r??guli??re de Windows Vista se traduit toujours dans un environnement multi-session.
Processus Structure
Poign??es processus et la cr??ation de threads et la r??siliation, et il met en ??uvre le concept de Job, un groupe de processus qui peuvent ??tre r??sili??s dans son ensemble, ou ??tre plac?? sous restrictions partag??s (un tel total maximum de m??moire allou??e, ou le temps de CPU). objets d'emplois ont ??t?? introduites dans Windows 2000 .
PNP Manager
Poign??es Plug and Play et supporte la d??tection de l'appareil et l'installation au moment du d??marrage. Il a ??galement la responsabilit?? d'arr??ter et de d??marrer des p??riph??riques sur la demande ce qui peut arriver quand un bus (comme USB ou FireWire) gagne un nouveau p??riph??rique et doit avoir un pilote de p??riph??rique charg?? pour le soutenir. Sa masse est effectivement mis en ??uvre en mode utilisateur, dans le service Plug and Play, qui g??re les t??ches souvent complexes de l'installation des pilotes appropri??s, avertir les services et applications de l'arriv??e de nouveaux appareils, et l'affichage de l'interface graphique pour l'utilisateur.
Power Manager
Offres avec un ??v??nement de puissance (power-off, stand-by, hibernate, etc.) et informe les conducteurs affect??s avec IRP sp??ciaux (Puissance IRP).
Moniteur de s??curit?? de r??f??rence (SRM)
L'autorit?? principale pour faire respecter les r??gles du sous-syst??me de s??curit?? int??gr?? de s??curit??. Il d??termine si un objet ou une ressource peuvent ??tre accessibles, via l'utilisation de listes de contr??le d'acc??s (ACL), qui sont eux-m??mes constitu??s d'entr??es de contr??le d'acc??s (ACE). ACE contiennent une identificateur de s??curit?? (SID) et une liste des op??rations que l'ACE donne un groupe de fiduciaires-un compte d'utilisateur, compte de groupe, ou de session permission identifier (allow, deny ou audit) ?? cette ressource.
GDI
Le Device Interface graphique est responsable de t??ches telles que dessiner des lignes et des courbes, le rendu des polices et de manutention des palettes. Le Windows NT 3.x s??rie des rejets avait plac?? le composant GDI dans le mode utilisateur Client / Serveur Runtime Subsystem, mais cela a ??t?? d??plac?? en mode noyau avec Windows NT 4.0 pour am??liorer les performances graphiques.

Noyau

Le noyau se trouve entre le HAL et l'ex??cutif et assure la synchronisation multiprocesseur, le fil et interrompre horaires des exp??ditions, et la manipulation de pi??ge et l'exception de r??partition; il est ??galement responsable de l'initialisation des pilotes de p??riph??riques ?? l'amor??age qui sont n??cessaires pour obtenir le syst??me d'exploitation et en cours d'ex??cution. Autrement dit, le noyau effectue presque toutes les t??ches d'un traditionnel micronoyau; la distinction stricte entre ex??cutif et Kernel est le vestige le plus important de la conception du micro-noyau d'origine, et de la documentation de conception historique se r??f??re constamment ?? la composante du noyau comme "le micronoyau".

Le noyau interface souvent avec le gestionnaire de processus. Le niveau d'abstraction est telle que le noyau ne appelle jamais dans le gestionnaire de processus, que dans l'autre sens (sauf pour une poign??e de cas d'angle, encore jamais au point d'une d??pendance fonctionnelle).

Pilotes en mode noyau

Windows NT utilise en mode noyau les pilotes de p??riph??rique pour lui permettre d'interagir avec p??riph??riques mat??riels. Chacun des pilotes routines du syst??me et des routines internes qu'il exporte vers le reste du syst??me d'exploitation a bien d??fini. Tous les appareils sont consid??r??s par l'utilisateur code de mode comme un objet de fichier dans le gestionnaire E / S, si le gestionnaire I / O se les dispositifs sont consid??r??s comme des objets de l'appareil, qu'il d??finit comme ??tant l'un des fichiers, un dispositif ou les objets de pilote. Les pilotes en mode noyau existent en trois niveaux: les pilotes de niveau plus ??lev??, les pilotes interm??diaires et les pilotes de bas niveau. Les pilotes au plus haut niveau, comme les pilotes de syst??me de fichiers pour FAT et NTFS, basent sur des pilotes interm??diaires. Pilotes interm??diaires constitu??s de conducteurs fonction OU principal moteur d'un appareil qui sont ??ventuellement pris en sandwich entre les pilotes de filtre niveau inf??rieur et sup??rieur. Le pilote de fonction se appuie alors sur un pilote ou un pilote de bus qui dessert une Contr??leur de bus, l'adaptateur, ou d'un pont, qui peut avoir un pilote de filtre de bus optionnel qui se trouve entre lui-m??me et le pilote de fonction. Pilotes interm??diaires se appuient sur les pilotes plus bas niveau ?? la fonction. Le Windows Driver Model (WDM) existe dans la couche interm??diaire. Les pilotes de niveau plus bas sont soit h??ritage pilotes de p??riph??riques Windows NT qui contr??lent un dispositif directement ou peut ??tre un bus mat??riel PnP. Ces pilotes de niveau inf??rieur contr??lent directement le mat??riel et ne reposent pas sur tous les autres pilotes.

Couche d'abstraction mat??rielle

Le Windows NT couche d'abstraction mat??rielle, ou HAL, est une couche entre le mat??riel physique de l'ordinateur et le reste du syst??me d'exploitation. Il a ??t?? con??u pour cacher les diff??rences de mat??riel et donc fournir une plate-forme coh??rente sur laquelle le noyau est ex??cut??. Le HAL inclut le code sp??cifique au mat??riel qui contr??le les interfaces d'E / S, interrompre contr??leurs et processeurs multiples.

Cependant, malgr?? son but et le lieu d??sign?? dans l'architecture, le HAL ne est pas une couche qui se trouve enti??rement sous le noyau, la fa??on dont le noyau se trouve ci-dessous l'Ex??cutif: toutes les impl??mentations de HAL connus d??pendent dans une certaine mesure sur le noyau, ou m??me le ex??cutif. Dans la pratique, cela signifie que le noyau et HAL variantes viennent dans les ensembles qui sont sp??cifiquement con??us pour fonctionner ensemble correspondant.

Dans l'abstraction mat??rielle particuli??re ne implique pas abstraction du jeu d'instructions, qui rel??ve g??n??ralement de la notion plus large de portabilit??. Abstraction faite le jeu d'instructions, lorsque cela est n??cessaire (comme pour la manipulation des plusieurs r??visions ?? la jeu d'instructions x86, ou l'??mulation d'un coprocesseur math??matique manquante), est effectu??e par le noyau, ou via plate-forme de virtualisation.

R??cup??r?? ?? partir de " http://en.wikipedia.org/w/index.php?title=Architecture_of_Windows_NT&oldid=526841565 "