WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et la réalisation d'une application de gestion du presse-papier de windows 7.

( Télécharger le fichier original )
par NOUMBO NGUETSOP Stephane Cedric MAKA MAKA Ebenezer
ENSET DE DOUALA - DIPET II 2013
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

1.2.1.2. Le noyau

Le noyau, aussi appelé micro-noyau ou Kernel pour les anglicistes. Son principal rôle est de planifier les threads sur les différents processeurs virtuels, en fonction de leur priorité. Il va préempter les processus qui n'auront pas rendu d'eux-mêmes la main après le quantum de

8 Input/Output équivalent anglais de E/S pour Entrées/Sorties en français.

9 Application Programming Interface ou interface de programmation d'application en français.

10

temps (slice) attribué. Il traite toutes les interruptions système. Il traite les exceptions processeurs (divisions par zéro, ou toute opération que le processeur s'interdit lui-même de faire). Le noyau est aussi un programme et ce noyau tourne sur chaque processeur. Il ne peut être préempté et ne peut donc pas non plus être swappé10. Les parties critiques du noyau sont écrites en assembleur et par conséquent tout ce que le noyau ne fait pas est fait par les services du NT Executive.

1.2.1.3. Les services du NT Executive

Les services du NT Executive tournent aussi en mode noyau. Ce sont donc des parties importantes, indispensables au système d'exploitation. Leur rôle est de fournir les services de base aux sous-systèmes d'environnement. La Figure 1.2 présente les différents services du NT Executive.

Figure 1.2 : Architecture des éléments du NT Exécutive [3] Pour mieux comprendre cette figure, énumérons un peu le rôle de chacun :

· l'Object Manager, ou Gestionnaire d'Objets :

Sous Windows NT, tout est représenté sous forme d'objet : un processus, un thread, un périphérique quelconque sont des objets. Chaque objet contient une ACL : Access Control List, Liste de Contrôle d'Accès, une liste définissant les droits que les autres objets ont sur lui. Pour travailler avec un objet, on utilise un handle11. Ce handle est une référence représentant l'objet. Il contient notamment un pointeur sur l'objet ainsi que les droits que l'on possède sur cet objet. C'est le gestionnaire d'objets qui fournit tous les handle que les autres objets lui demandent. Les objets sont créés, modifiés et supprimés par le gestionnaire d'objets. Le gestionnaire d'objets supprime les objets orphelins. Un objet ne doit exister que s'il est utilisé. Le gestionnaire d'objet compte le nombre d'objets utilisant chaque objet. Quand ce nombre

10 Swappé signifie que le code d'exécution est transféré de la mémoire vive vers le disque pour récupérer un peu de mémoire ; il sera replacé en mémoire quand on en aura besoin.

11 Un handle est une valeur numérique identifiant un objet informatique.

11

arrive à zéro, l'objet n'est plus utilisé, donc supprimé. Le gestionnaire d'objet veille à ce que chaque objet ne consomme pas trop de ressources.

s le Process Manager, ou Gestionnaire de processus

Son rôle est de créer, modifier l'état et supprimer les threads. Il renseigne sur l'état de chaque thread. Son rôle n'est pas de cadencer les threads. Tout processus contient au moins un thread initial, dans laquelle tourne effectivement le programme.

s Le Virtual Memory Manager, ou gestionnaire de mémoire virtuelle

Son rôle est d'allouer 4 Go d'espace mémoire à tous les processus en exécution, indépendamment de l'espace mémoire effectivement disponible sur le système. Sur ces 4 Go, 2Go seront réservés au système, les deux restants seront à la disposition du programmeur. Sur les systèmes contenant suffisamment de mémoire, il sera possible d'allouer plus d'espace pour la partie applicative (donc moins pour le système).

Il s'assure que chaque application reste dans son espace d'adressage attribué. C'est le gestionnaire de mémoire virtuelle qui gère le swap. Les programmes demandent des pages mémoire au gestionnaire. Le gestionnaire leurs fournit, qu'elles soient en mémoire vive ou swappées.

s Le LPC: Local Procedure Call, ou Appel de Procédure Locale

Dans un système d'exploitation, tournent en permanence un certain nombre de threads. Tous les services systèmes par exemple sont des threads ; les sous-environnements aussi. Viennent ensuite les applications utilisateur. Tous ces threads dialoguent en permanence entre elles, les applications vers le sous-système d'environnement, le sous-système d'environnement vers les services système, les services système entre eux. Tous ces dialogues passent par le LPC qui gère la communication entre threads. C'est un programme spécifiquement développé pour optimiser les communications locales entre processus.

s Le SRM : Security Ressource Manager, ou gestionnaire de sécurité des ressources

Son rôle est de gérer la sécurité en local sur la machine. Il sécurise l'accès à tout objet du système. Quand un utilisateur veut utiliser un objet, il fait une demande de handle auprès du gestionnaire d'objet. Le gestionnaire d'objet demande au SRM quels droits l'utilisateur a effectivement sur l'objet demandé. Le SRM compare le SAT (Secure Access Tocken, Jeton d'accès sécurité) de l'utilisateur, contenant les droits de l'utilisateur (appartenance aux groupes

12

donc héritage), à l'ACL de l'objet demandé et en déduit le niveau d'accès de l'utilisateur sur l'objet. Ce niveau d'accès sera stocké dans le handle.

· Le I/O Manager, ou Gestionnaire d'Entrées-Sorties

C'est une grosse partie du système d'exploitation. Il est divisé lui-même en plusieurs couches de manière à être le plus modulaire possible. Il est constitué de telle manière que lorsque l'on veut ajouter ou changer un driver quelconque (disque dur, carte réseau) on ait le moins de code possible à développer. Il faudra simplement ajouter la couche qui va bien au bon endroit. Celle-ci s'appuiera sur ses couches supérieures et inférieures, qui n'auront pas à être modifiées. Plus les couches sont hautes, moins elles connaissent le système physique.

Le gestionnaire d'entrées-sorties coordonne et gère les communications entre drivers. Ces communications se font avec des messages spéciaux appelés I/O Request Packets. Le gestionnaire d'entrées-sorties gère notamment les systèmes de fichiers et les redirecteurs réseau (c'est grâce à lui que peuvent cohabiter plusieurs systèmes de fichier, par redirection des packets vers la bonne couche suivant leur type). Un redirecteur réseau n'est en fait rien d'autre qu'un système de fichier spécial. Pour une application, la méthode pour aller chercher une information sur le serveur ou sur un map réseau est strictement identique. Le gestionnaire d'entrées-sorties gérant les systèmes de fichier, il est normal qu'il gère aussi le cache disque (c'est le cache qui optimise les lectures sur le disque). Au lieu de diriger les requêtes disques directement vers le disque, il regarde d'abord dans le cache. S'il ne trouve pas le bloc demandé, il va alors transmettre la requête au disque. La réponse repassera forcément par le cache, qui cette fois ci stockera l'information. [3]

· Le Graphic Manager, ou gestionnaire graphique

Il regroupe les deux sous-modules GDI et USER, correspondant respectivement à l'interface graphique et au gestionnaire de fenêtres. Ce module n'était pas présent dans le NT Executive sur Windows NT3, ceci a été présent à partir du Windows NT4 et présent aujourd'hui dans les autres Windows NT jusqu'à la version 6.1 correspondant au noyau de Windows 7. Sous Windows NT3, GDI et USER se trouvaient dans le sous-environnement Win32. Leur choix, contesté par certains, a été justifié pour la raison suivante : Sous Windows NT3, quand le sous-environnement Win32 plantait, on ne pouvait absolument plus rien faire, le système était bloqué. En le mettant dans le NT Executive, lorsque le sous-environnement Win32 plante, le noyau est capable de repeindre votre écran en bleu et vous afficher des informations susceptibles de vous aider à résoudre, du moins comprendre, le problème. De plus, par la commande CTRL-ALT-SUPPR, il décharge le système d'exploitation. [3]

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rêvent de jour ont conscience de bien des choses qui échappent à ceux qui rêvent de nuit"   Edgar Allan Poe