Partage du temps et ordonnancement Flashcards

(59 cards)

1
Q

Quelle est la différence entre multitâche et multitraitement/multiprocessing ?

A

Multitâche = plusieurs processus sur un CPU, multitraitement = plusieurs CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qu’est-ce que le degré de multiprogrammation ?

A

Nombre de processus chargés en mémoire

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelle est la différence entre attente active et attente passive ?

A

Active (polling) = gaspillage CPU
Passive = libère le CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce qu’une commutation de contexte ?

A

Changement de processus actif sur le CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quels sont les composants d’un contexte de processus ?

A
  • Registres CPU
  • État
  • Mémoire
  • Files d’attente
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qu’est-ce que le PCB (Process Control Block)

A

Une structure de données du noyau qui représente un processus et son état d’exécution.
Elle contient le PID, fichier exécutable, permissions, mais aussi un TCB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce que le TCB (Thread Control Block)

A

Une structure de données du noyau qui représente un VCPU = contexte d’exécution : elle contient une fonction copie du contenu du CPU

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce que la dispatch latency ?

A

Temps perdu à changer de processus

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quels sont les 5 états d’un processus ?

A
  • New
  • Ready
  • Running
  • Blocked
  • Terminated
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Dans quel état est un processus qui attend un événement ?

A

Blocked

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Dans quel état est un processus en attente d’exécution ?

A

Ready

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quelles sont les principales files d’attente des processus?

A
  • Ready Queue
  • Disk Queue
  • Sleeping Queue
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quelle est la différence entre un processus CPU-bound et I/O-bound ?

A

CPU-bound = beaucoup de calculs, I/O-bound = beaucoup d’attente E/S

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Pourquoi un OS favorise-t-il les processus I/O-bound ?

A

Pour éviter que le CPU reste inactif

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Pourquoi un processus I/O-bound passe-t-il souvent en état bloqué ?

A

Il attend les réponses des périphériques

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est-ce que l’ordonnancement en OS ?

A

Décider quel processus exécuter et quand

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Quels sont les deux types d’ordonnancement ?

A
  • Préemptif
  • Non-préemptif
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Quelle est la différence entre ordonnancement préemptif et non-préemptif ?

A

Préemptif = le noyau peut reprendre le CPU
Non-préemptif = le processus ne peut pas être interrompu une fois qu’il a commencé

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Quelles sont les décisions prises par un ordonnanceur ?

A
  • Quel processus exécuter
  • Pour combien de temps
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Qu’est-ce que le quantum en ordonnancement ?

A

Durée maximale d’exécution avant préemption

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Quel est le compromis entre durée du quantum et latence du dispatcher ?

A

Trop court = surcoût
trop long = manque de réactivité

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Qu’est-ce que l’algorithme First Come First Served (FCFS) ?

A

Exécution dans l’ordre d’arrivée (FIFO)
On choisit la tâche qui est arrivée le plus tôt dans la ready queue.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Quel est l’inconvénient du FCFS ?

A

Effet de convoi (convoy effect) : les petites tâches risquent d’être désavantagées (effet d’accumulation)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Qu’est-ce que la famine (starvation) en ordonnancement ?

A

Un processus prêt se retrouve à attendre indéfiniment avant de pouvoir être exécuté

25
Quel algorithme réduit la famine en préemptant les tâches longues ?
Round Robin
26
Qu’est-ce que l’algorithme Shortest Job First (SJF) ?
Exécute le processus le plus court en premier
27
Quel est le problème principal de SJF ?
La famine des tâches longues
28
Qu’est-ce que l’algorithme Shortest Remaining Time First (SRTF) ?
Variante préemptive de SJF : chaque
29
Quel est l’inconvénient du SRTF ?
La famine est toujours possible
30
Qu’est-ce que l’algorithme Round Robin (RR) ?
Exécution de chaque processus en tours de rôle avec quantum, préemption lorsqu’une tâche dépasse son quantum
31
Comment choisir la bonne valeur du quantum en Round Robin ?
Trop court = surcoût en performance Trop long = manque de réactivité
32
Qu’est-ce que l’ordonnancement à priorités ?
C’est dans la vraie vie : exécuter les processus avec la priorité la plus haute, on maintient plusieurs ready queue distinctes, et chaque file applique une politique différente
33
Comment éviter la famine en ordonnancement à priorités ?
Augmenter progressivement la priorité d’un processus en attente
34
Qu’est-ce que le Multi-Level Feedback Queue (MLFQ) ?
Ordonnancement dynamique avec plusieurs files et ajustement des priorités
35
Quels sont les critères d’évaluation d’un ordonnanceur ?
* CPU Utilization * Throughput * Turnaround Time * Waiting Time * Response Time
36
Qu’est-ce que le Turnaround Time ?
Temps entre l’arrivée et la fin d’un processus
37
Qu’est-ce que le Waiting Time ?
Temps total passé dans la Ready Queue
38
Qu’est-ce que le Response Time ?
Temps entre l’arrivée et la première exécution
39
Quelle loi empirique explique l’intérêt de la multiprogrammation ?
Alternance entre CPU bursts et I/O bursts
40
Que dit la loi empirique sur les processus en OS ?
Ils sont soit plutôt CPU-bound, soit plutôt I/O-bound
41
Pourquoi un bon ordonnanceur doit-il connaître la durée des bursts CPU ?
Pour mieux prévoir l’exécution des processus
42
Quel est l’impact d’un kernel tick sur l’ordonnancement ?
Définit la fréquence des interruptions pour le scheduling
43
Qu’est-ce qu’un ordonnanceur temps réel ?
Un ordonnanceur avec des priorités fixes et des contraintes strictes
44
Qu’est-ce que la Ready Queue (ou Run Queue) ?
Les PCB des processus prêts
45
Quel est le rôle du scheduler ?
Choisir un PCB dans la Ready Queue
46
Que signifie qu’un processus est compute-bound ou I/O-bound ?
Cela signifie que sa performance dépend beaucoup de la vitesse de calcul du CPU/de la vitesse des E/S
47
L’ordonnancement de FCFS est-il préemptif ou non ?
Non-préemptif : de plus, aucun risque de famine
48
Contexte d’exécution
Toutes les informations dont a besoin un processus pour s’exécuter
49
Dispatcher
Composant logiciel chargé de faire le context switch, en faisant sauvegarde et restauration
50
Scheduler
Composant logiciel qui choisi vers quel processeur on saute en sortant du noyau
51
Ordonnancement non-préemptif (=coopératif)
Les applications rendent explicitement la main au noyau, via les appels système bloquants
52
Ordonnancement préemptif
Permet au noyau de garder le contrôle de la machine : (exemple : un processus n’a rien demandé, mais qu’on lui prend le CPU pour donner à quelqu’un d’autre. En d’autres termes, l’ordonnanceur retire de force le CPU à un processus et le remet dans la Ready Queue).
53
À quel moment on a une situation de famine ?
Ordonnanceur non-préemptif + tâche infinie Ordonnanceur préemptif + malchance
54
Préemption
Le noyau reprend la main à une tâche qui n’était pas prête à rendre la main et remet donc le processus dans la Ready Queue
55
La famine est possible pour les stratégies…
SJF et SRTF
56
RR est une variante…
préemptif de FCFS
57
SRTF est une variante…
préemptive de SJF
58
Appel bloquant
Lorsque l’on est sur un processus P1, après un syscall dit bloquant, le scheduler rend la main à un autre processus P2 ≠ P1 (ex : sleep, wait, write, read)
59
Les mécanismes implémentés dans le noyau sont
ISR, les syscall, le context switch, l’ordonnanceur et autres