Cours:InfoEmbarqueeThread : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 14 : Ligne 14 :
 
==Processus==
 
==Processus==
  
 +
Le lancement d'un programme sous Unix (norme [https://fr.wikipedia.org/wiki/POSIX posix] )  entraîne la création d'un nouveau processus et donc l'allocation d'une zone mémoire avec plusieurs parties :
  
 
[[Image:ProcessusUnix.gif]]
 
[[Image:ProcessusUnix.gif]]
  
 +
 +
*le segment '''texte''' qui contient le programme exécutable
 +
*le segment '''statique''' qui contient les objets globaux et statiques
 +
*le segment de '''pile''' ( stack ) qui contient les données des fonctions
 +
*le segment de '''tas''' ( heap ) qui contient les données allouées dynamiquement ( new / malloc )
  
 
==Thread==
 
==Thread==

Version du 20 septembre 2023 à 17:41

Kesako

Pile/Tas

zone mémoire Taille Usage Performances
Stack (pile) fixe variables/paramètres ... des fonctions selon mémoire
Heap (tas) sans objet allocation dynamique un peu moins rapide (gestion du tas, partage entre thread => doit être thread-safe)

Processus

Le lancement d'un programme sous Unix (norme posix ) entraîne la création d'un nouveau processus et donc l'allocation d'une zone mémoire avec plusieurs parties :

ProcessusUnix.gif


  • le segment texte qui contient le programme exécutable
  • le segment statique qui contient les objets globaux et statiques
  • le segment de pile ( stack ) qui contient les données des fonctions
  • le segment de tas ( heap ) qui contient les données allouées dynamiquement ( new / malloc )

Thread

spécialisation de la classe QThread

Mutex

Ressources