Jusqu’à présent, nous planifiions les processus en fonction de leur heure d’arrivée (en planification FCFS). Cependant, l'algorithme de planification SJF planifie les processus en fonction de leur temps de rafale.
Dans la planification SJF, le processus avec le temps de rafale le plus court, parmi la liste des processus disponibles dans la file d'attente prête, sera ensuite planifié.
Cependant, il est très difficile de prédire le temps de rafale nécessaire à un processus et cet algorithme est donc très difficile à mettre en œuvre dans le système.
Avantages du SJF
- Débit maximal
- Délai d'attente et d'exécution moyen minimum
Inconvénients du SJF
- Peut souffrir du problème de la famine
- Cela n'est pas implémentable car l'heure exacte de Burst d'un processus ne peut pas être connue à l'avance.
Il existe différentes techniques permettant de déterminer le temps de rafale du processeur du processus. Nous en discuterons plus tard en détail.
conversion d'une chaîne en entier
Exemple
Dans l'exemple suivant, cinq tâches sont nommées P1, P2, P3, P4 et P5. Leur heure d'arrivée et leur heure de rafale sont indiquées dans le tableau ci-dessous.
ajouter une chaîne en Java
PID | Heure d'arrivée | Temps de rafale | Le temps d'achèvement | Temps de retournement | Temps d'attente |
---|---|---|---|---|---|
1 | 1 | 7 | 8 | 7 | 0 |
2 | 3 | 3 | 13 | dix | 7 |
3 | 6 | 2 | dix | 4 | 2 |
4 | 7 | dix | 31 | 24 | 14 |
5 | 9 | 8 | vingt-et-un | 12 | 4 |
Depuis, No Process arrive au temps 0 donc ; il y aura un emplacement vide dans le diagramme de Gantt du temps 0 à 1 (l'heure à laquelle arrive le premier processus).
Selon l'algorithme, le système d'exploitation planifie le processus qui a le temps de rafale le plus bas parmi les processus disponibles dans la file d'attente prête.
Jusqu'à présent, nous n'avons qu'un seul processus dans la file d'attente prête, le planificateur le planifiera donc au processeur, quelle que soit son heure de rafale.
Ceci sera exécuté jusqu'à 8 unités de temps. D'ici là, trois processus supplémentaires sont arrivés dans la file d'attente prête, le planificateur choisira donc le processus avec le temps de rafale le plus court.
Parmi les processus indiqués dans le tableau, P3 sera exécuté ensuite car il a le temps de rafale le plus bas parmi tous les processus disponibles.
composants du robot
Voilà donc comment se déroulera la procédure travail le plus court en premier (SJF) algorithme de planification.
Temps d'attente moyen = 27/5