200 - processus Flashcards

1
Q

Un processus est…

A

Un programme en cours d’exécution par un processeur

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

3 concepts liés

A
  • Processus : l’exécution en cours d’un programme
  • Processeur : celui qui fait l’exécution
  • Programme : la suite d’instructions (prédéterminée)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Fondamental d’un processus

A

Fondamental
* Plusieurs instances d’un même programme
* Chacune de ces instances est appelée un processus
* Chaque processus est autonome et isolé

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

Exécution d’un processus

A

Chaque processus a l’impression d’être seul
Un processus
* Progresse de manière séquentielle dans son programme
* Progresse en même temps que les autres
* Ne prend pas en compte l’existence des autres processus
(sauf si c’est programmé exprès)

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

Problème avec l’exécution d’un processus

A

Problème
* Un seul processeur (ou un nombre fixe)
* Plusieurs processus à exécuter en même temps

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

Illusion de parallélisme : multitâche

A
  • Avancer chaque processus un petit peu à la fois
  • Changer le processus actif régulièrement (10ms–100ms)
    * On parle de changement de contexte
    * Le changement est couteux (à ne pas abuser)
  • Qui décide quel processus devient actif?
    * Le système d’exploitation
    * En fonction de politiques et de priorités
    * On parle d’ordonnancement
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Multiprocesseurs et multicœurs

A

La même idée de base
* Chaque cœur traite un processus actif
* On change les processus actifs régulièrement

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

Analogie : Cuisinier

A

Processeur

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

Analogie : Cuisine

A

ordinateur

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

Analogie : recette rédigées sur papier

A

programme enregistré sur le disque

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

Analogie : plat en preparation

A

processus en exécution

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

Analogie : clients

A

utilisateurs

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

Table des processus (ou Process Control Block)

A

Structure conceptuelle qui regroupe les informations d’un processus
* État du processus
* Registres du CPU : dont CO (PC), PP (SP), et mot d’état
* Info sur le processus : pid, priorité, utilisateurs, statistiques…
* Info sur la gestion mémoire
* Info sur les E/S: répertoire de travail, fichiers ouverts, blocs verrouillés

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

Où est stockée la table des processus ?

A

Dans la RAM, dans la section OS car c’est elle qui crée la table

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

Identification de processus

A

Chaque processus est identifié par un numéro : le pid
* pid_t getpid(void)

Chaque processus a un parent
* Hiérarchie de processus
* init est la racine de la hiérarchie (pid=1) * pid_t getppid(void)

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

Pourquoi /proc est plus simple ?

A

C’est plus simple ainsi
* Pour le noyau d’exposer de l’information
* Pour les programmes d’aller chercher l’information
* Qu’un ensemble dédié (et fluctuant) d’appels système
→ ps, top, etc. utilisent directement /proc à l’interne

16
Q

Pseudo-système de fichiers /proc

A
  • Typiquement nommé /proc
  • Un sous-répertoire par processus, utilisant le PID
  • Beaucoup d’information bas niveau et fluctuante
  • Voir le man proc(5)
    Expose de l’information
  • Sous forme plus ou moins humaine
  • Plus ou moins portable entre Unix
17
Q

Est-ce que /proc contourne les appels système ?

A

Non, ça sera un read plus léger, mais un read pareil