--- 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&amp;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.