bonjour à tous,
je voudrais svp savoir comment Windows (en général ) gère les processeurs multi-coeur
bonjour à tous,
je voudrais svp savoir comment Windows (en général ) gère les processeurs multi-coeur
Bonsoir
Il utilise HAL (Hardware Abstraction Layer)
Mais attention il y a aussi l'HT (Hyper Threading) qui est vu par Windows comme des cores processeurs.
Voici ce qu'en dit Wikipédia du multiprocesseur ou multicores :
La couche d'abstraction matérielle (Hardware Abstraction Layer ou HAL) est une spécification et un utilitaire logiciel qui traque les périphériques du système informatique. Le but du HAL est d'éviter aux développeurs d'implémenter manuellement le code spécifique à un périphérique. À la place, ils peuvent utiliser une couche connectable qui fournit des informations à propos du dit périphérique, tel que cela se passe par exemple lorsqu'un utilisateur branche ou débranche un périphérique USB.
Cette couche implémente un certain nombre de fonctions spécifiques au matériel : interfaces d'entrées-sorties, contrôleur d'interruptions, caches matériels, mécanismes de communication multiprocesseur... Elle isole ainsi le noyau du système des spécificités des plates-formes matérielles.
Les systèmes d'exploitation disposant du HAL (notamment : BSD, Linux et Windows NT) ont une portabilité simplifiée à travers différents types de matériels tels que les systèmes embarqués, ou encore les serveurs disposant de différentes architectures propres à leur fonctionnement : Intel x86, DEC Alpha, MIPS, PowerPC, etc.
À noter que DeviceKit est une autre couche d'abstraction matérielle conçue pour remplacer HAL sur les systèmes Linux.
Hyper Threading :
L'Hyper-Threading simule deux processeurs de façon complètement transparente pour le système d'exploitation. Dès lors, ce dernier autorise deux applications a envoyer chacune une requête au même moment. Le principe présente l'avantage de décharger le système d'exploitation de 50% du traitement des requêtes, puisque ce dernier, au lieu de traiter chaque requête indépendamment, en traite deux d'un coup.
Ensuite, le traitement des instructions relève typiquement de l'architecture Netburst des Pentium 4. D'après Intel, l'exécution typique d'un "thread" basé sur des instructions IA-32 requiert 35% des ressources de l'architecture Netburst. Les 65% restant étant perdus. Le but donc de l'HT (Hyper-Threading) est d'occuper les 65% avec un autre "thread", un peu comme deux personnes ayant besoin en même temps de la salle de bain, l'une pour se raser, l'autre pour se laver. Au lieu d'attendre chacun son tour, les deux sont acceptées par le logiciel (OS) et envoyées là où elles pourront être traitées. Il reste alors au processeur de gérer cela en hardware.
merci beaucoup pour votre réponse
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager