Chapitre 2 Flashcards

1
Q

Quels sont les caractéristiques d’un processus?

A

– Un numéro d’identification unique (PID);
– Un espace d’adressage (code, données, piles d’exécution);
– Un état principal (prêt, en cours d’exécution (élu), bloqué, …);
– Les valeurs des registres lors de la dernière suspension (CO, PSW, Sommet de Pile…) contexte d’exécution;
– Une priorité;
– Les ressources allouées (fichiers ouverts, mémoires,
périphériques …);
– Les signaux à capter, à masquer, à ignorer, en attente et les actions associées;
– Autres informations indiquant le processus père, les processus fils, le groupe, les variables d’environnement, les statistiques et les limites d’utilisation des ressources….

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

Quelle partie du système d’exploitation garde en mémoire les processus?

A

La table des processus.

une entrée par processus: Bloc de controle de processus (PCB)

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

Comment deux process, A et B, se partage t’il le processeur?

A
  1. A est en cours d’exécution
  2. A est suavegarder dans PCB A
  3. B est charger
  4. B est en cours d’exécution
  5. B est sauvegarder dans PCB B
  6. A est chargé
  7. Etc
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quels sont les éléments majeurs d’un processus?

A
  1. ELF header
  2. Program header table
  3. Other information
  4. Text segment
  5. Data segment
  6. Other information
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Comment est séparé l’espace d’adressage virtuel

A
  1. Stack (grandit vers le bas)
  2. Mémoire libre (se fait gruger)
  3. Heap (grandit vers le haut)
  4. Data
  5. Code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

À quoi ressemble l’états d’un processus sur linux?

A

Voir ch2-pg10

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

A quoi sert le BIOS

A

(Basic Input/Output System). Se trouve dans la carte mère. exécute des
opérations de vérification de l’intégrité du système, charge et lance
l’exécution du programme d’amorçage MBR

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

A quoi sert le MBR

A

MBR (Master Boot Record) charge une partie du système d’exploitation puis lance son exécution.
Cette partie détermine les caractéristiques du matériel, effectue un certain
nombre d’initialisations et crée le processus 0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
  1. Quel est l’opération pour attendre l’execution du processus fils?
  2. Quel est l’opération pour créer un processu fils?
  3. Quel est l’opération pour modifier le code exécutable du processus?
A
  1. wait
  2. fork
  3. exec
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que fait fork, en détail?

A

Créer un processus fils. Créer un PCB. Associe un PID unique au nouvel processus.
Initiliase le PCB. Copie certaine données du processu parent (répertoire de travail courant)
Duplique l’espace d’adressage du processus parent en effectuant l’appel à fork. Principe Copy-on-write
Duplique la table des descripteurs de fichiers

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

Que signifie les valeurs de retour de fork?

A

0 : Nous somme dans le processus fils
-1 : Fork a échoué
autre : Nous somme dans le processus parent

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

Le processu parent et fils partagent t’ils le même espace d’adressage?

A

non

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

Qu’arrive t’il lorsque le processus remplace son code avec un appel exec?

A

Le processus conserve, notamment, son PID, l’espace mémoire
alloué, sa table de descripteurs de fichiers et ses liens parentaux
(processus fils et père).
● En cas de succès de l’appel système exec, l’exécution de l’ancien
code est abandonnée au profit du nouveau.
● En cas d’échec, le processus poursuit l’exécution de son code à
partir de l’instruction qui suit l’appel (il n’y a pas eu de
remplacement de code)

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

Quel sont les appels pour attendre la fin d’un processus fils?

A

– pid_t wait (int * status); // attendre après n’importe lequel des fils
– pid_t waitpid( int pid, int * status, int options);//attendre pid spécifié
– pid_t waitpid( int pid, int * status, WNOHANG); Verifie la terminaison du processus sans bloquer

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

Quels sont les appels permettant de récupéré le status du processus fils?

A

• WIFEXITED(status) : fin normale avec exit
• WIFSIGNALED(status) : tué par un signal
• WIFSTOPPED(status) : stoppé temporairement
• WEXITSTATUS(status) : valeur de retour du processus fils
( exit(valeur)).

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

Que se passe t’il lorsqu’un processus est terminé? (Appel exit ou kill)

A

– son état de terminaison est enregistré dans son PCB,
– la plupart des autres ressources allouées au processus sont
libérées.
– le processus passe à l’état zombie (). Son PCB et son
PID sont conservés jusqu’à ce que son processus père ait
récupéré cet état de terminaison. Il est alors détruit.

17
Q

Un processus fils garde t’il les buffer tu pere? (ex. printf)

A

Oui, il faut donc les flushed avec fflush avant d’appeler le fork

18
Q
Que signifie les parametres de 
int main(int argc, const char *argv[]);
A

argc : nombre de paramètres

argv[] : les paramètres, y compris le nom de l’exécutable

19
Q

Que fait le code suivant:
pid_t p = fork();
if (p != 0) {
execlp(“./wait_child”, “./wait_child”, NULL);

A

Après le fork, le père
remplace son espace
d’adressage par celui du
programme wait_child.c