---
lang: fr
title: SYS2 3
tags: SYS2, system, réseaux, ING1, S6
date: 01/03/2019
---
# SYS2 3
Sujet du jour: scheduling
Le but du scheduling est d'ordonner des tâches.
Une tâche contient:
- Deadline
- Temps d'execution
- Dépendances
- (priorité mais bon...)
Sur les ordis on a plusieurs types de scheduling.
- Batch
- FCFS (first come first served)
- SJF (shortest job first)
==le batch scheduling==: on execute une tâche/programme à la fois. Les uns à la suite des autres.
Pour vérifier l'efficacité d'un systeme de scheduling on utilise le ++turnaround time++ qui est le temps qu'un programme met pour finir toutes les tâches, le ++throughput (débit)++ qui est le nombre de tâches faisable en un certain laps de temps donné.
==FCFS==: First come, fist served
==SJF==: Shortest jobfirst
==Time sharing==:
Parmi ces choses là, on a aucun moyen de définir une deadline, un temps d'execution ou des dépendances $\rightarrow$ c'est la merde.
<img src="https://docs.google.com/drawings/d/e/2PACX-1vRq5C8AH9P5zJvAJnZJCLN03xmTy15-KU9nUpQQ1LYc8K-iuQtLscH67abeGECl_RvinB3QZSuYA-FF/pub?w=960&h=720">
Le but dans ce schéma est de maximiser le temps en run.
Les caractéristique de l'algo de scheduling doit donc être:
- rapide (O_1)
- Fair (pas autant de ressources pour chacun mais plutôt suffisament pour que tout le monde puisse tourner convenablement)
- Starvation
Dans un algo fifo:
- On est enn O_1
- Fair
- Mais on change de process uniquement quand un process passe en waiting
==Response time==: le temps entre la transition new et running.
==Waiting time==: Temps passé en ready
Dans un algo quantum:
On va avoir des problèmes avec les syscalls. S'il reste 0.0000001 sec à un program, et qu'il vient de lancer un syscall.
Deux types de programmes:
- Interactif: Qui exécute des syscalls
- Shell
- Serveur http
- Browser
- Init
- Non interactif:
- Un truc qui fait des calculs
- Par ex: un compilo
bottleneck:
- IO Bound -> Interactif
- Memory bound
- CPU Bound -> Non interactif
:::info
Si je suis interactif -> je suis io bound -> j'execute des syscalls
:::
Un programme interactif aura tendance a ne pas finir le quantum.