• Non ci sono risultati.

Programmation Système TP 2 : Fork

N/A
N/A
Protected

Academic year: 2021

Condividi "Programmation Système TP 2 : Fork"

Copied!
1
0
0

Testo completo

(1)

Programmation Système TP 2 : Fork

Juliusz Chroboczek Khouloud Zine Elabidine

1 octobre 2012

Exercice 1. Écrivez un programme qui crée deux processu, un père qui affiche à l’aide de l’appel système write la chaîne "Je suis le père\n", et un fils qui affiche la chaîne "Je suis le fils\n".

(Vous n’omettrez pas d’attendre la mort du fils à l’aide de wait.) Quel est l’ordre des chaînes affichées ? Un autre résultat est-il possible ?

Exercice 2. Écrivez un programme qui crée deux processus, un père qui affiche à l’aide de l’appel système write la chaîne "a\n" 10 000 fois, et un fils qui affiche la chaîne "b\n" 10 000 fois. (Comme d’habitude, pensez à wait.) Que constatez-vous ?

Exercice 3. Combien de processus existent au maximun durant l’exécution du programme suivant ?

int main(int argc, char *argv[]) { fork();

fork();

fork();

sleep(10);

exit(0);

}

Dessinez l’arbre des processus crées. Vérifiez votre hypothèse à l’aide de la commande pstree.

Exercice 4.

1. Écrivez un programme qui génère un tableau de 10 000 entiers tirés au hasard entre 0 et 1000 puis affiche tous les indices des cases de ce tableau dont la valeur est 42. (Vous pouvez utiliser la fonction random.)

2. Modifiez votre programme pour qu’il utilise deux processus, le père qui parcourt la première moitié du tableau, et le fils qui parcourt la seconde.

3. Même question avec un nombre de processus donné sur la ligne de commande.

1

Riferimenti

Documenti correlati

Modifiez votre programme pour que chaque appel à premier se fasse dans un processus séparé ; vous utiliserez la valeur de retour du processus pour indiquer si l’entier était

Modifiez votre programme pour que chaque appel à premier se fasse dans un processus séparé ; vous utiliserez la valeur de retour du processus pour indiquer si l’entier était

Écrivez un programme occurrences qui prend en paramètre une expression régulière r et n noms de fichiers puis qui affiche le nombre total d’occurrences de r dans les n fichiers

Écrivez un programme occurrences qui prend en paramètre une expression régulière r et n noms de fichiers puis qui affiche le nombre total d’occurrences de r dans les n fichiers

Dès qu’il a mis en place le gestionnaire de signal, le fils envoie un premier signal SIGUSR1 au

Écrivez un programme qui prend deux paramètres et qui copie le fichier dont le nom est donné par le premier paramètre vers le fichier dont le nom est donné par le deuxième

Écrivez un programme affiche-agenda qui affiche le contenu de l’agenda sous une forme lisible par un être humain (vous pourrez vous servir des fonctions strftime et localtime)

Le programme principal et le fils partageront une variable initialisée à 0, qu’ils incrémenteront 1 chacun un million de fois ; vérifiez que la variable vaut deux millions à la