Qu'est-ce que la planification du processeur?
La planification du processeur est un processus de détermination du processus qui possédera le processeur pour l'exécution pendant qu'un autre processus est en attente. La tâche principale de la planification du processeur est de s'assurer que chaque fois que le processeur reste inactif, le système d'exploitation sélectionne au moins l'un des processus disponibles dans la file d'attente prête pour l'exécution. Le processus de sélection sera effectué par l'ordonnanceur du processeur. Il sélectionne l'un des processus en mémoire qui sont prêts à être exécutés.
Dans ce didacticiel de planification du processeur, vous apprendrez:
- Qu'est-ce que la planification du processeur?
- Types de planification de CPU
- Terminologies de planification CPU importantes
- Critères de planification du processeur
- Minuterie d'intervalle
- Qu'est-ce que Dispatcher?
- Types d'algorithme de planification du processeur
- Premier arrivé premier servi
- Temps restant le plus court
- Planification basée sur la priorité
- Planification à la ronde
- Le travail le plus court d'abord
- Planification de files d'attente à plusieurs niveaux
- Le but d'un algorithme de planification
Types de planification de CPU
Voici deux types de méthodes de planification:
Planification préventive
Dans la planification préventive, les tâches sont principalement attribuées avec leurs priorités. Parfois, il est important d'exécuter une tâche avec une priorité plus élevée avant une autre tâche de priorité inférieure, même si la tâche de priorité inférieure est toujours en cours d'exécution. La tâche de priorité inférieure est conservée pendant un certain temps et reprend lorsque la tâche de priorité supérieure termine son exécution.
Planification non préventive
Dans ce type de méthode de planification, la CPU a été allouée à un processus spécifique. Le processus qui maintient le CPU occupé libérera le CPU soit en changeant de contexte, soit en se terminant. C'est la seule méthode qui peut être utilisée pour diverses plates-formes matérielles. C'est parce qu'il n'a pas besoin de matériel spécial (par exemple, une minuterie) comme la planification préventive.
Quand la planification est préventive ou non préventive?
Pour déterminer si la planification est préemptive ou non préemptive, tenez compte de ces quatre paramètres:
- Un processus passe de l'état d'exécution à l'état d'attente.
- Un processus spécifique passe de l'état en cours d'exécution à l'état prêt.
- Un processus spécifique passe de l'état d'attente à l'état prêt.
- Le processus a terminé son exécution et s'est terminé.
Seules les conditions 1 et 4 s'appliquent, l'ordonnancement est dit non préemptif.
Tous les autres horaires sont préemptifs.
Terminologies de planification CPU importantes
- Burst Time / Execution Time: C'est un temps requis par le processus pour terminer l'exécution. Il est également appelé temps d'exécution.
- Heure d'arrivée: lorsqu'un processus entre dans un état prêt
- Heure de fin: lorsque le processus est terminé et quitte un système
- Multiprogrammation: Un certain nombre de programmes qui peuvent être présents en mémoire en même temps.
- Emplois: C'est un type de programme sans aucune sorte d'interaction de l'utilisateur.
- Utilisateur: C'est une sorte de programme ayant une interaction avec l'utilisateur.
- Processus: c'est la référence qui est utilisée à la fois pour le travail et pour l'utilisateur.
- Cycle de rafale CPU / E / S: caractérise l'exécution du processus, qui alterne entre l'activité CPU et E / S. Les temps CPU sont généralement plus courts que le temps des E / S.
Critères de planification du processeur
Un algorithme de planification du processeur tente de maximiser et de minimiser les éléments suivants:
Maximiser:
Utilisation du processeur: l'utilisation du processeur est la tâche principale dans laquelle le système d'exploitation doit s'assurer que le processeur reste aussi occupé que possible. Il peut aller de 0 à 100 pour cent. Cependant, pour le RTOS, il peut être compris entre 40% pour le bas niveau et 90% pour le système de haut niveau.
Débit: Le nombre de processus qui terminent leur exécution par unité de temps est connu en Débit. Ainsi, lorsque le processeur est occupé à exécuter le processus, à ce moment-là, le travail est en cours et le travail effectué par unité de temps est appelé Débit.
Minimiser:
Temps d'attente: le temps d' attente est la durée d'attente d'un processus spécifique dans la file d'attente prête.
Temps de réponse: il s'agit du temps pendant lequel la demande a été soumise jusqu'à ce que la première réponse soit produite.
Délai d'exécution: Le délai d'exécution est une durée d'exécution d'un processus spécifique. C'est le calcul du temps total passé à attendre d'entrer dans la mémoire, à attendre dans la file d'attente et à s'exécuter sur le CPU. La période entre le moment de la soumission du processus et le moment de la fin est le délai d'exécution.
Minuterie d'intervalle
L'interruption de la minuterie est une méthode étroitement liée à la préemption. Lorsqu'un certain processus obtient l'allocation de CPU, une minuterie peut être définie sur un intervalle spécifié. L'interruption et la préemption de la minuterie forcent un processus à renvoyer le processeur avant la fin de sa rafale de processeur.
La plupart des systèmes d'exploitation multiprogrammés utilisent une forme de minuterie pour empêcher un processus de bloquer le système pour toujours.
Qu'est-ce que Dispatcher?
C'est un module qui fournit le contrôle de la CPU au processus. Le Dispatcher doit être rapide pour pouvoir s'exécuter à chaque changement de contexte. La latence de distribution est le temps nécessaire au planificateur du processeur pour arrêter un processus et en démarrer un autre.
Fonctions exécutées par Dispatcher:
- Changement de contexte
- Passer en mode utilisateur
- Déplacement vers l'emplacement correct dans le programme nouvellement chargé.
Types d'algorithme de planification du processeur
Il existe principalement six types d'algorithmes de planification de processus
- Premier arrivé, premier servi (FCFS)
- Planification SJF (Shortest-Job-First)
- Temps restant le plus court
- Planification prioritaire
- Planification du tournoi à la ronde
- Planification de file d'attente à plusieurs niveaux
![](https://cdn.css-code.org/images/1/121119_0541_Schedulinga1.png.webp)
Premier arrivé premier servi
First Come First Serve est la forme complète de FCFS. C'est l'algorithme de planification CPU le plus simple et le plus simple. Dans ce type d'algorithme, le processus qui demande la CPU obtient en premier l'allocation de CPU. Cette méthode de planification peut être gérée avec une file d'attente FIFO.
Lorsque le processus entre dans la file d'attente prête, son PCB (Process Control Block) est lié à la queue de la file d'attente. Ainsi, lorsque le processeur devient libre, il doit être affecté au processus au début de la file d'attente.
Caractéristiques de la méthode FCFS:
- Il offre un algorithme de planification non préemptif et préemptif.
- Les travaux sont toujours exécutés sur la base du premier arrivé, premier servi
- Il est facile à mettre en œuvre et à utiliser.
- Cependant, cette méthode est peu performante et le temps d'attente général est assez élevé.
Temps restant le plus court
La forme complète de SRT est le temps restant le plus court. Il est également connu sous le nom de planification préemptive SJF. Dans cette méthode, le processus sera alloué à la tâche, qui est la plus proche de son achèvement. Cette méthode empêche un nouveau processus à l'état prêt de suspendre l'achèvement d'un processus plus ancien.
Caractéristiques de la méthode de planification SRT:
- Cette méthode est principalement appliquée dans les environnements par lots où les travaux courts doivent être privilégiés.
- Ce n'est pas une méthode idéale pour l'implémenter dans un système partagé où le temps CPU requis est inconnu.
- Associez à chaque processus la longueur de sa prochaine rafale CPU. Pour que le système d'exploitation utilise ces longueurs, ce qui permet de planifier le processus avec le temps le plus court possible.
Planification basée sur la priorité
La planification prioritaire est une méthode de planification des processus basée sur la priorité. Dans cette méthode, le planificateur sélectionne les tâches à travailler selon la priorité.
La planification des priorités aide également le système d'exploitation à impliquer des attributions de priorité. Les processus avec une priorité plus élevée doivent être exécutés en premier, tandis que les travaux avec des priorités égales sont exécutés sur une base circulaire ou FCFS. La priorité peut être décidée en fonction des besoins en mémoire, des besoins en temps, etc.
Planification à la ronde
Le round robin est l'algorithme de planification le plus ancien et le plus simple. Le nom de cet algorithme vient du principe du round-robin, où chaque personne reçoit une part égale de quelque chose à son tour. Il est principalement utilisé pour la planification des algorithmes en multitâche. Cette méthode d'algorithme permet une exécution sans famine des processus.
Caractéristiques de la planification à la ronde
- Le tournoi à la ronde est un modèle hybride piloté par une horloge
- La tranche de temps doit être minimale, ce qui est attribué à une tâche spécifique à traiter. Cependant, cela peut varier pour différents processus.
- C'est un système en temps réel qui répond à l'événement dans un délai précis.
Le travail le plus court d'abord
SJF est une forme complète de (Travail le plus court d'abord) est un algorithme de planification dans lequel le processus avec le temps d'exécution le plus court doit être sélectionné pour l'exécution suivante. Cette méthode de planification peut être préventive ou non préventive. Cela réduit considérablement le temps d'attente moyen pour les autres processus en attente d'exécution.
Caractéristiques de la planification SJF
- Il est associé à chaque tâche comme une unité de temps à terminer.
- Dans cette méthode, lorsque la CPU est disponible, le processus ou la tâche suivant avec le temps de traitement le plus court sera exécuté en premier.
- Il est mis en œuvre avec une politique non préemptive.
- Cette méthode d'algorithme est utile pour le traitement par lots, où l'attente de la fin des travaux n'est pas critique.
- Il améliore la sortie des travaux en offrant des travaux plus courts, qui doivent être exécutés en premier, qui ont généralement un délai d'exécution plus court.
Planification de files d'attente à plusieurs niveaux
Cet algorithme sépare la file d'attente prête en différentes files d'attente distinctes. Dans cette méthode, les processus sont affectés à une file d'attente en fonction d'une propriété spécifique du processus, comme la priorité du processus, la taille de la mémoire, etc.
Cependant, il ne s'agit pas d'un algorithme OS de planification indépendant car il doit utiliser d'autres types d'algorithmes pour planifier les travaux.
Caractéristique de la planification de files d'attente à plusieurs niveaux:
- Plusieurs files d'attente doivent être conservées pour les processus présentant certaines caractéristiques.
- Chaque file d'attente peut avoir ses algorithmes de planification distincts.
- Des priorités sont données pour chaque file d'attente.
Le but d'un algorithme de planification
Voici les raisons d'utiliser un algorithme de planification:
- Le processeur utilise la planification pour améliorer son efficacité.
- Il vous aide à répartir les ressources entre des processus concurrents.
- L'utilisation maximale du CPU peut être obtenue avec la multi-programmation.
- Les processus à exécuter sont dans la file d'attente prête.
Résumé:
- La planification du processeur est un processus de détermination du processus qui possédera le processeur pour l'exécution pendant qu'un autre processus est en attente.
- Dans la planification préventive, les tâches sont principalement attribuées avec leurs priorités.
- Dans la méthode de planification non préemptive, la CPU a été allouée à un processus spécifique.
- Le temps de rafale est un temps nécessaire au processus pour terminer l'exécution. Il est également appelé temps de fonctionnement.
- L'utilisation du processeur est la tâche principale dans laquelle le système d'exploitation doit s'assurer que le processeur reste aussi occupé que possible
- Le nombre de processus qui terminent leur exécution par unité de temps est connu en débit.
- Le temps d'attente est une quantité que le processus spécifique doit attendre dans la file d'attente prête.
- Il s'agit de la durée pendant laquelle la demande a été soumise jusqu'à ce que la première réponse soit produite.
- Le délai d'exécution est une durée d'exécution d'un processus spécifique.
- L'interruption de la minuterie est une méthode étroitement liée à la préemption,
- Un répartiteur est un module qui fournit le contrôle de la CPU au processus.
- Six types d'algorithmes de planification de processus sont:
- Premier arrivé, premier servi (FCFS), 2) Planification de la tâche la plus courte d'abord (SJF) 3) Temps restant le plus court 4) Planification prioritaire 5) Planification à tour de rôle 6) Planification de files d'attente à plusieurs niveaux
- Dans la méthode du premier arrivé, premier servi, le processus qui demande au processeur obtient en premier l'allocation du processeur.
- Dans le temps le plus court restant, le processus sera alloué à la tâche, qui est la plus proche de son achèvement.
- Dans, Planification prioritaire, le planificateur sélectionne les tâches à travailler selon la priorité.
- En, cette planification à tour de rôle fonctionne sur le principe, où chaque personne reçoit une part égale de quelque chose à son tour
- Dans le travail le plus court d'abord, le temps d'exécution le plus court doit être sélectionné pour l'exécution suivante
- Dans la planification à plusieurs niveaux, la méthode sépare la file d'attente prête en plusieurs files d'attente distinctes. Dans cette méthode, les processus sont affectés à une file d'attente en fonction d'une propriété spécifique
- Le processeur utilise la planification pour améliorer son efficacité.