Planification en ligne :
La planification en ligne est une technique utilisée dans les systèmes d'exploitation dans laquelle un processus est planifié uniquement après son arrivée et sa disponibilité pour exécution. Cela implique que le planificateur ne prend en compte que les processus de planification actuellement disponibles dans la mémoire principale.
Certains processus peuvent entrer dans la file d'attente prête et certains processus peuvent en sortir dynamiquement. En raison de la nature dynamique et imprévisible de la planification en ligne, il est difficile d'estimer avec précision les ressources nécessaires à l'exécution d'un processus.
Certains des algorithmes populaires pour la planification en ligne incluent :
- Premier arrivé, premier servi (FCFS)
- Le travail le plus court en premier (SJF)
- Tournoi à la ronde (RR)
- Taux de réponse le plus élevé suivant (HRRN)
Planification hors ligne :
Contrairement à la planification en ligne, la planification hors ligne prend en compte tous les processus avant qu'ils n'arrivent réellement à être exécutés. Cette technique peut être appliquée lorsque la connaissance future de l’ensemble des processus est connue à l’avance.
Sur la base de l'ensemble de processus donné, un algorithme de planification hors ligne crée un calendrier qui détermine quand chaque processus s'exécutera et pendant combien de temps. Puisque les détails d’arrivée et d’exécution des processus sont connus à l’avance, la planification hors ligne peut déterminer le planning optimal.
Cependant, la planification hors ligne n'est pas réalisable dans les scénarios où les processus arrivent de manière dynamique et où leur comportement pendant l'exécution ne peut pas être prédit à l'avance.
Les algorithmes courants pour la planification hors ligne incluent :
- Le travail le plus court d'abord (SJF) non préventif
- Planification prioritaire non préemptive (priorité)
- Tournoi à la ronde (RR)
Comparaison :
| Fonctionnalité | Planification en ligne | Planification hors ligne |
|---|---|---|
| Connaissance de l'arrivée du processus | Nécessite uniquement des informations actuelles sur les processus | Nécessite une connaissance complète de tous les processus à l'avance |
| Adaptabilité | Peut gérer efficacement les arrivées dynamiques de processus | Impossible de s'adapter aux arrivées dynamiques des processus |
| Optimalité | Impossible de fournir des horaires optimaux | Peut fournir des horaires optimaux en fonction de l'algorithme |
| Complexité | Moins complexe à mettre en œuvre | Plus complexe à mettre en œuvre en raison de la nécessité d'une connaissance détaillée de tous les processus |
|