Ajout de l'exo 3 dans le README

This commit is contained in:
Tom MOGULJAK 2023-09-12 08:40:38 +02:00
parent 658b105c44
commit 87b0f5f863

View File

@ -1,8 +1,8 @@
# TP 1 : Mémoire # TP 1 : Mémoire
## Exercice 1 ## Exercice 1
Soit le [programme](Exo1/adresses_virtuelles.c) suivant qui affiche les adresses virtuelles de certaines variables lors de l'exécution du processus. >Soit le [programme](Exo1/adresses_virtuelles.c) suivant qui affiche les adresses virtuelles de certaines variables lors de l'exécution du processus.
En utilisant le (pseudo) fichier `/proc/pid/maps`, vérifiez à quel segment de pages ces adresses appartiennent. >En utilisant le (pseudo) fichier `/proc/pid/maps`, vérifiez à quel segment de pages ces adresses appartiennent.
```console ```console
tom@Error404:/mnt/c/Users/naser/Documents/scr/TP1$ ./adresses_virtuelles tom@Error404:/mnt/c/Users/naser/Documents/scr/TP1$ ./adresses_virtuelles
@ -50,3 +50,9 @@ main appartient au deuxieme segment de pages (564bfc70e000-564bfc70f000)
t appartient au heap (564bfd7e6000-564bfd807000) t appartient au heap (564bfd7e6000-564bfd807000)
m appartient au heap (564bfd7e6000-564bfd807000) m appartient au heap (564bfd7e6000-564bfd807000)
``` ```
## Exercice 3
>Soit le [programme](Exo3/ij_ji.c) suivant.
>Le temps d'éxecution de ce programme est-il différent pour les deux versions ? Pourquoi ?
>Le temps d'éxecution de ce programme entre les deux versions est différente, elle est plus importante dans la deuxième. Car lors de la boucle `for`, dans la première version, le compilateur a optimisé le code en mettant la valeur de `j` dans un registre, alors que dans la deuxième version, il a mis la valeur de `j` est dans la mémoire, donc il faut aller la chercher à chaque fois, vu que la mémoire est plus lente que le registre, la deuxième version est donc plus lente.