Scheduling:
- Tâche: (job)
- Deadline
- Temps d’execution
- Dépendances
- Psio (??) …
Batch:
- Turnaround
- through put (débit)
Si je veux minimiser le turnaround time, je vais exécuter les taches dans l’ordre dans lequel elles arrivent --> FCPS: first come first serve
Si je veux maximiser mon débit, je vais exécuter les tâches les plus courtes en premières --> SJF: shortest jobs first (défaut: si un job long apparait, il est possible qu’il ne passe jamais)
Problèmes qu’on a dans la vraie vie:
- processes qui dépendent de l’un de l’autre
- processes qui prennent beacoup de temps
- attendre qu’un process soit fini avant de lancer un autre
- on ne peut pas déterminer le temps d’exectuion d’un process à l’avance
Time sharing:
Mettre ici le schéma de scheduling
Combien de temps les processes tournent et quand est-ce qu’ils tournent ?
Le but du jeu, c’est de maximiser le temps d’utilisation du CPU par les utilisateurs. Faire le scheduling en temps constant.
Etre intelligent mais pas trop sinon on va casser notre indice d’utilisation en termes de perf.
FIFO
Round Robin
Scheduling:
Batch:
Si je veux minimiser le turnaround time, je vais exécuter les taches dans l’ordre dans lequel elles arrivent --> FCPS: first come first serve
Si je veux maximiser mon débit, je vais exécuter les tâches les plus courtes en premières --> SJF: shortest jobs first (défaut: si un job long apparait, il est possible qu’il ne passe jamais)
Problèmes qu’on a dans la vraie vie:
Time sharing:
Combien de temps les processes tournent et quand est-ce qu’ils tournent ?
Le but du jeu, c’est de maximiser le temps d’utilisation du CPU par les utilisateurs. Faire le scheduling en temps constant.
Etre intelligent mais pas trop sinon on va casser notre indice d’utilisation en termes de perf.
FIFO
Round Robin