250 - Ordonnancement des processus Flashcards

1
Q

Qu’est-ce qu’un ordo ?

A

C’est une partie du SE qui sert à déterminer quels processus sont actifs et lesquels ne le sont pas

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

Comment fonctionne un ordo ?

A

Il ne peut qu’élire un processus prêt : l’élu est celui qui a la plus haute priorité compte tenu de la politique locale

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

Que fait un ordo si pas d’élu ?

A

Attend jusqu’à la prochaine interruption (processeur à l’état latent);

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

Quand intervient un ordo ?

A

Appel système et interruption matérielle (dont l’horloge prog), exemples :
* Création et terminaison d’un processus;
* Passage A→B (demande E/S)
* Passage de B→P (ress dispo)
* Passage de A→P (fin quantum)
* Changement de priorité (ou d’ORDO)

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

Définition d’un ordo non-préemptif

A

Processus actif jusqu’à la demande du processus :
* appel système bloquant (demande E/S)
* demande explicite de laisser la main (sched_yield(2))

note : multitâche coopératif, rare dans système moderne

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

Définition d’un ordo préemptifs

A

Processus peut être suspendu à n’importe quel moment :
* Fin du tour (expiration d’un quantum de temps alloué au processus : interruption matérielle due a l’horloge programmable)
* Perte de priorité (Nouveau processus prioritaire créé, processus prioritaire qui passe de bloqué à prêt, changement de priorité dans les processus)

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

Quels sont les avantages du préemptif sur le non-préemptif ?

A

dunno :(

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

sched(7)

A

MAN

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

chrt(1)

A

MAN

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

sched_setattr(2)

A

MAN

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

Objectifs d’ordonnancement

A

Compromis entre :
* Respect de la politique locale
* Équité
* Efficience

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

On met deux processus sur un CPU et le 3e sur l’autre

A

Inéquitable

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

On alterne et déplace les processus entre CPU

A

Inefficient

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

Critère d’évaluation (ils ne sont pas indépendants)

A
  • Maximiser le nombre de tâches terminées par unité de temps
  • Minimiser le temps entre acceptation et terminaison (temps
    total)
  • Maximiser le temps d’utilisation du CPU
  • Minimiser le temps d’attente (latence)
  • Maximiser le temps de réponse (interactivité)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Objectifs d’ordonnancement spécifiques pour les systèmes interactifs

A
  • Minimiser le temps de réponse
  • Proportionnaliser le temps de réponse à la complexité perçue de
    la tâche
    → Donner l’impression à l’utilisateur que le système est réactif
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Objectifs d’ordonnancement spécifiques pour les systèmes temps réel

A
  • Respecter les contraintes de temps (au pire cas)
  • Prédiction de la qualité de service
  • Les systèmes temps réel ont des besoins spéciaux et des
    ordonnanceurs spéciaux
17
Q

CPU burst

A

Temps de calcul avant prochaine E-S (ou prochain appel système bloquant)

18
Q

Programme CPU bound

A
  • Le processeur est le facteur limitant
  • Surtout des calculs, peu d’entrées-sorties
  • CPU bursts probablement longs
19
Q

Programme I/O bound

A
  • Les entrées-sorties sont le facteur limitant
  • Surtout des entrées-sorties, peu de calculs
  • CPU bursts probablement courts
20
Q

En quoi savoir la catégorie aide l’ordonnanceur ?

A

AUDIO

21
Q

Peut-on catégoriser plus finement (CPU bound vs IO bound) ?

A
22
Q

Politique d’ordonnancement sous Linux

A

Plusieurs politiques (préemptifs) cohabitent :
* 3 « normales » : SCHED_OTHER∗, SCHED_BATCH, SCHED_IDLE
* 3 « temps réel » : SCHED_FIFO∗, SCHED_RR∗, SCHED_DEADLINE
(classes de priorité strictes)