Implémentation d'algorithmes de planification communs utilisés sur des ordinateurs personnels, des serveurs et d'autres types de systèmes interactifs
Chaque processus se voit attribuer un intervalle de temps, appelé son "quantum", au cours de laquelle il est autorisé à s'exécuter. Après avoir terminé son processus quantique bloqué et mis à la fin de la file d'attente. Le planificateur rend l'hypothèse implicite que tous les processus sont tout aussi importants. Le problème intéressant avec Round Robin est la longueur du quantum. Le réglage du quantum trop court provoque trop de commutateurs de processus et réduit l'efficacité du CPU. Mais le définir trop longtemps peut provoquer une mauvaise réponse aux demandes interactives courtes.
Chaque processus se voit attribuer une priorité, et le RPOCESS runnable avec la priorité la plus élevée est autorisé à s'exécuter. Pour empêcher l'infini des processus de haute priorité, le planificateur peut diminuer la priorité du processus en cours d'exécution à chaque tique d'horloge ou un autre intervalle de temps. Si cette action fait chuter sa priorité en dessous de celle du processus le plus élevé suivant, un commutateur de processus se produit. Les priorités peuvent être attribuées au traitement statiquement ou dynamiquement. Il est souvent pratique de regrouper les processus dans des calsies prioritaires et d'utiliser la planification prioritaire entre les classes, mais la planification du tournoi dans les cours dans la planification prioritaire a un problème de blocage ou de famine indéfini, dans lequel la tâche de faible priorité peut attendre pour toujours. Une solution courante à ce problème est le vieillissement, dans lequel les priorités des emplois augmentent plus elles attendent. Dans le cadre de ce schéma, un emploi à faible priorité fera éventuellement sa priorité suffisamment élevée par le temps.
Lorsque les processus peuvent être classés, plusieurs files d'attente séparées peuvent être établies, chaque implémentation de l'algorithme de planification est le plus approprié pour ce type de travail. La planification doit également être effectuée entre les files d'attente, c'est-à-dire la planification d'une file d'attente pour obtenir du temps par rapport aux autres files d'attente. Les options communes sont la priorité et le rond. Les processus ne peuvent pas changer de file d'attente, quitter la file d'attente ou entrer la file d'attente.
Cette planification est similaire à la planification des files d'attente à plusieurs niveaux, sauf que les travaux peuvent être déplacés d'une file d'attente à une autre pour ces raisons: - Si les caractéristiques du processus sont commutées entre les E / S à forte intensité d'E / S. - Si le processus vieillit, ce processus attend depuis longtemps
Cette planification exécute des processus les plus courts et calcule quel processus est le plus court en fonction du comportement passé. Le calcul est simple, ajoutant la nouvelle valeur à l'estimation actuelle et divisez la somme par 2. La technique d'estimation de la valeur suivante d'une série en prenant la moyenne pondérée de la valeur mesurée actuelle et l'estimation précédente est parfois appelée vieillissement
Avec N les processus en cours d'exécution, toutes choses étant égales, chacune devrait obtenir 1 / N des cycles CPU. Le système doit garder une trace de la quantité de CPU que chaque processus a eu depuis sa création, puis calcule la quantité de CPU chaque processus a droit au rapport du temps de CPU réel. L'algorithme exécute ensuite le processus avec la ration la plus basse jusqu'à ce que son ratio soit dépassé celui de son concurrent le plus proche
L'idée est de donner des billets de loterie à des processus pour les ressources système, tels que le temps CPU. Lorsqu'une décision de planification doit être prise, un billet de loterie est choisi au hasard et le processus qui maintient ce billet obtient la ressource. Des processus plus importants peuvent recevoir des billets supplémentaires, pour augmenter leurs IDD de victoire. Un processus détenant une fraction F des billets obtiendra environ une fraction F de la ressource en question. Les processus de cohortion peuvent échanger des billets s'ils le souhaitent