Contrôle de l'utilisation du processeur
Cette section explique comment contrôler l'utilisation des processeurs sur le système multiprocesseur.
- Un utilisateur peut forcer un processus ou des unités d'exécution de noyau à s'exécuter sur un processeur spécifique.
Processus de liaison et unités d'exécution du noyau
Les utilisateurs peuvent forcer leurs processus à s'exécuter sur un processeur donné ; cette action est appelée liaison. Un administrateur système peut lier n'importe quel processus. A partir de la ligne de commande, la liaison est contrôlée à l'aide de la commande bindprocessor .
Le processus lui-même n'est pas lié, mais ses unités d'exécution de noyau sont liées. Une fois que les unités d'exécution du noyau sont liées, elles sont toujours planifiées pour s'exécuter sur le processeur choisi, sauf si elles sont ultérieurement non liées. Lorsqu'une nouvelle unité d'exécution du noyau est créée, elle possède les mêmes propriétés de liaison que son créateur.
Cette situation s'applique à l'unité d'exécution initiale dans le nouveau processus créé par la sous-routine fork ; la nouvelle unité d'exécution hérite des propriétés de liaison de l'unité d'exécution qui a appelé la sous-routine fork . Lorsque la sous-routine exec est appelée, les propriétés de liaison restent inchangées. Une fois qu'un processus est lié à un processeur, si aucune autre action de liaison ou de suppression de liaison n'est effectuée, tous les processus enfant sont liés au même processeur.
The available processors are: 0 1 2 3La liaison peut également être contrôlée dans un programme à l'aide de la sous-routine bindprocessor , qui permet au programmeur de lier une seule unité d'exécution de noyau ou toutes les unités d'exécution de noyau d'un processus. Le programmeur peut également annuler la liaison d'une seule unité d'exécution de noyau ou de toutes les unités d'exécution de noyau d'un processus.