Il n'existe pas un nombre définitif de « types » de planification car la catégorisation peut se faire de plusieurs manières, selon le contexte (systèmes d'exploitation, bases de données, ateliers, etc.). Cependant, nous pouvons classer la planification en approches générales, puis les subdiviser davantage.
De manière générale, vous pouvez classer la planification en :
* Préemptif ou non préemptif : La planification préemptive permet à un processus d'être interrompu et repris plus tard, tandis que la planification non préemptive exécute un processus jusqu'à son terme avant de basculer.
* Long terme, moyen terme et court terme : Ces catégories font référence à l'échelle temporelle de la décision de programmation. Les accords à long terme concernant l'admission de tâches dans le système, les accords à moyen terme avec l'échange de processus dans et hors de la mémoire principale et les accords à court terme avec la sélection du prochain processus à exécuter à partir de la file d'attente prête.
Au sein de ces grandes catégories, vous disposez ensuite de nombreux algorithmes et approches spécifiques, notamment, mais sans s'y limiter :
* Premier arrivé, premier servi (FCFS)
* Le travail le plus court en premier (SJF) (des versions préemptives et non préemptives existent)
* Planification prioritaire (divers schémas d'attribution de priorités existent)
* Tournoi à la ronde
* Planification de files d'attente à plusieurs niveaux
* Planification de la file d'attente de commentaires à plusieurs niveaux
* Temps restant le plus court en premier (SRTF)
* Taux de réponse le plus élevé suivant (HRRN)
Il n’existe donc pas de chiffre unique. Le nombre de « types » dépend du niveau de granularité souhaité pour votre classification. Il existe des dizaines d’algorithmes de planification spécifiques, et les variations de ces algorithmes ajoutent encore plus de possibilités.
|