230 - vie et état Flashcards

1
Q

Actif ?

A

Actif: tient la ressource processeur
Prêt: ne manque que le processeur
Bloqué: manque une autre ressource
+———+ 2 +———-+
| |———–>| |
| Prêt | | Actif |
| |<———–| |
+———-+ 1 +———+
^ |
| 4 | 3
| v
+———————————+
| |
| Bloqué |
| |
+———————————-+

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

Prêt ?

A

Actif: tient la ressource processeur
Prêt: ne manque que le processeur
Bloqué: manque une autre ressource
+———+ 2 +———-+
| |———–>| |
| Prêt | | Actif |
| |<———–| |
+———-+ 1 +———+
^ |
| 4 | 3
| v
+———————————+
| |
| Bloqué |
| |
+———————————-+

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

Bloqué ?

A

Actif: tient la ressource processeur
Prêt: ne manque que le processeur
Bloqué: manque une autre ressource
+———+ 2 +———-+
| |———–>| |
| Prêt | | Actif |
| |<———–| |
+———-+ 1 +———+
^ |
| 4 | 3
| v
+———————————+
| |
| Bloqué |
| |
+———————————-+

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

Nommer les états

A

Actif: tient la ressource processeur
Prêt: ne manque que le processeur
Bloqué: manque une autre ressource

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

Décrivez les changements d’états (1, 2, 3 et 4) :
+———+ 2 +———-+
| |———–>| |
| Prêt | | Actif |
| |<———–| |
+———-+ 1 +———+
^ |
| 4 | 3
| v
+———————————+
| |
| Bloqué |
| |
+———————————-+

A

(A→P) : Le SE prend la main à un processus
(P→A) : Le SE donne la main à un processus
(A→B) : Le processus demande une ressource
(B→P) : La ressource demandée devient disponible

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

Citer un exemple pour (A→P) : Le SE prend la main à un processus

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

Citer un exemple pour (P→A) : Le SE donne la main à un processus

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

Citer un exemple pour (A→B) : Le processus demande une ressource

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

Citer un exemple pour (B→P) : La ressource demandée devient disponible

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

Un processus peut-il passer de prêt à bloqué ?

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

Un processus peut-il passer de bloqué à actif ?

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

États Unix

A

R (Running) : s’exécute ou peut s’exécuter , regroupe prêt et actif
S (Sleeping)/ D : bloqué sur un appel système, interruptible par un signal (kill(1))
D (Uninterruptible Sleep) : bloqué sur un appel système qui fait des entrée-sorties mais termine vite. rarement visible
T (Stopped) : arrêté par un signal ou un débogueur. Le processus peut continuer si on le débloque
Z (Zombie) : Le processus a terminé, mais attend que son parent collecte son code de retour. Pas encore été nettoyé par le système.
X (Dead) : Le processus a terminé son exécution et a été complètement nettoyé par le système. rarement visible
I (Idle) : inactif du noyau. Linux utilise l’infrastructure des processus pour gérer ses tâches noyaux internes. I n’a pas de sens autrement.

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

Changement de contexte

A

Un changement de contexte intervient quand le processeur est donné à un autre processus
* Passage du processus en mode noyau (syscall ou interruption)
* Sauvegarde du contexte du processus
* Exécution de l’appel ou gestion de l’interruption
* Modification éventuelle de l’état de processus
* Appel de l’ordonnanceur (scheduler) qui élit un processus
* Restauration du contexte de l’élu
* Modification de son état à actif
* Fin de l’appel ayant précédemment provoqué la suspension de
l’élu
* Passage de l’élu en mode utilisateur et suite de son exécution
→ C’est un procédé complexe et relativement coûteux

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

Coût du changement de contexte

A

Un changement de contexte coûte cher
* Rappel : le travail du SE n’est pas un travail utile en soi

Cause du coût
* Sauvegarde du contexte du processus
* Algorithme d’ordonnancement (détails plus tard) * Restauration du contexte du processus
* Deux fois mise en défaut des caches et sections

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

Personnages
* 3 processus (P1 actif, P2 et P3 prêts)
* Un système d’exploitation (accompagné de son ordonnanceur)

Acte 2
* P2 est élu
* Le contexte de P2 est restauré
* P2 passe à actif
* L’horloge est programmée pour un nouveau quantum
* Fin de l’appel système/de l’interruption qui avait suspendu P2
* Et suite de l’exécution de P2 (en mode utilisateur)

Questions
* Pourquoi pas P1 ?
* Pourquoi P2 et pas P3 ?

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

Personnages
* 3 processus (P1 actif, P2 et P3 prêts)
* Un système d’exploitation (accompagné de son ordonnanceur)

Acte 1
* P1 fait un read(2) avant l’épuisement de son quantum
* Passage en mode noyau et exécution de l’appel système read
* P1 passe à bloqué
* Sauvegarde du contexte de P1
* Appel de l’ordonnanceur

Questions
* Pourquoi read bloque le processus ?
* Est-ce que read bloque toujours le processus appelant ?

A
16
Q

Personnages
* 3 processus (P1 actif, P2 et P3 prêts)
* Un système d’exploitation (accompagné de son ordonnanceur)

Acte 4
* P3 est élu
* Passe à actif
* Son contexte est restauré
* Suite de son exécution (en mode utilisateur)
* La donnée demandée par P1 arrive
* Interruption du contrôleur de disque
* Exécution du gestionnaire d’interruption (mode noyau)
* La donnée est placée en mémoire, accessible à P1
* P1 passe à prêt (on parle de réveil)
* P3 passe aussi à prêt, sauvegarde du contexte
* Appel de l’ordonnanceur

Question
* Pourquoi P3 passe à prêt plutôt que de continuer ?

A
16
Q

Personnages
* 3 processus (P1 actif, P2 et P3 prêts)
* Un système d’exploitation (accompagné de son ordonnanceur)

Acte 3
* P2 accapare le processeur
* Ne fait pas d’entrée-sortie
* Consomme entièrement son quantum de temps
* Interruption de l’horloge programmable
* Exécution du gestionnaire d’interruption (mode noyau) * P2 passe à prêt, sauvegarde du contexte
* Appel de l’ordonnanceur
→ Il y a eu préemption

Questions
* Est-ce que P2 pourrait être élu à nouveau ?

A
17
Q

Utilisation de la ressource processeur : time(1)

A
  • time(1) décompte le total de ressources
18
Q

Utilisation de la ressource processeur : getrusage(2)

A
  • getrusage(2) pour l’information en temps réel Le processus qui demande pour lui-même
19
Q

Utilisation de la ressource processeur : ps(1) et top(2)

A
  • ps(1) et top(1) peuvent aussi présenter de l’information
20
Q

Utilisation de la ressource processeur : proc/PID

A
  • L’information est aussi dans /proc/PID/stat et /proc/PID/status
21
Q

Options de la commande time(1)

A
  • %E Temps réel mis par le processus
    Heure de fin moins heure de début (en vraies secondes)
  • %U Temps processus utilisateur utilisé
    Somme (pour chaque thread) du temps passé à l’état actif
  • %S Temps processus système utilisé
    Somme du temps passé à l’état actif mais en mode noyau C’est à dire le travail fait par le SE au bénéfice du processus
  • %P Pourcentage du processeur utilisé C’est juste (U+S)/E
  • %w Nombre de changements de contextes volontaires Passages de actif à bloqué
  • %c Nombre de changements de contextes involontaires Passages de actif à prêt
22
Q

Où le noyau conserve le décompte de l’utilisation des ressources des processus ?

A
23
Q

Est-ce que %U peut être plus grand que %E ?

A
24
Q

Est-ce que %S peut être plus grand que %U ?

A
24
Q

Comment avoir une grande ou une petite valeur de chacun des
indicateurs (toutes choses étant égales par ailleurs) ?

A
25
Q

Quelle est la valeur maximale de %P sur un système ?

A
26
Q

Utilité des caches

A

Utilité des caches
La plupart des appels système d’entrée-sortie peuvent retourner sans bloquer le processus si l’information est disponible en cache.

27
Q

Comment forcer le vidage de cache sous Linux:

A

Pour forcer le vidage de cache sous Linux:
$ sync
$ echo 3 | sudo tee /proc/sys/vm/drop_caches