? Depuis l'avènement de l'informatique moderne , les processeurs ont eu à gérer les commandes de plusieurs programmes en même temps . Le gestionnaire de processus utilise des algorithmes pour mieux planifier les programmes qui s'exécutent , et à quel moment. Avec l'introduction de l'hyper -threading d'Intel , la gestion des processus a changé . Gestionnaires de processus doivent utiliser des algorithmes qui prennent deux cœurs de processeurs abstraits en considération , au lieu d' un contexte unique processus. Systèmes Multi- programmation
Dans les débuts de l'informatique , des systèmes couru programmes un à la fois , soit par la saisie du programme manuel ou grâce à des systèmes de traitement par lots qui courait programmes l'un après l' autre dans une séquence. Avec l'invention de la stabilité , de la mémoire à accès rapide , multi- programmation a été créé. Multi- programmation permet aux développeurs d'avoir des programmes qui exécutent plusieurs résidant dans la mémoire principale , avec des processeurs capables de récupérer le code à partir de ces programmes à exécuter à un moment donné. Avec plusieurs programmes en mémoire , l'ordinateur n'est pas enfermé dans une routine que dans le traitement par lots , mais il est capable de choisir et de déterminer quels sont les programmes à exécuter basé sur les commandes de programmation.
Process Scheduling
Avec plusieurs programmes en mémoire , les processeurs pourrait théoriquement exécuter plusieurs programmes en même temps . Un processeur peut exécuter une seule commande à la fois . Pour exécuter plusieurs programmes en même temps , le processeur passe commande d'un programme à l'autre plusieurs fois par seconde pour le faire apparaître comme si les programmes s'exécutent simultanément. Pour gérer les multiples changements de contexte entre les programmes , les algorithmes de gestion de processus ont été élaborés pour contrôler les programmes qui ont eu accès au processeur à un moment donné .
Hyper Threading
permettre processus de s'exécuter en conditions réelles concurrentes sans avoir besoin de commutation de processus , ingénieurs ont développé des processeurs qui ont été divisés en sous- processeurs. Chaque sous- processeur peut exécuter un thread d'exécution. Alors que seulement un noyau de traitement existe, hyper -threading permet une couche d'abstraction pour interagir avec le logiciel , afin que les processus agissent comme si il existe deux noyaux. Cela permet aux deux fils de courir , un de chaque noyau abstrait , au détriment de la vitesse du processeur.
Scheduling Hyper discussion exécution
Chaque thread a besoin de son propre calendrier, parce que chaque thread utilise des commutateurs de contexte interne entre le processus d'exécution . Ingénieurs forcés Hyper -Threading pour reconsidérer gestionnaires de processus en termes de sujets hyper . Hyper-threads partagent le processeur, donc de nouveaux ordonnanceurs peuvent faire mieux en prenant les deux fils en compte. Ordonnanceurs peuvent éviter deux mémoire différent de partage de processus. Hyper -threading contextes gestionnaires de processus de travail afin d'examiner deux fils de changement de contexte au lieu d'un .