Qu'est-ce que Tas (heap) ?

Zone mémoire où, pendant l'exécution, on alloue la taille nécessaire avec malloc, etc., et qu'on libère avec free. Des allocations et libérations répétées peuvent provoquer une fragmentation.

Nom japonais: ヒープ

« Tas (heap) » apparaît dans 6 questions d'entraînement réparties sur 1 thèmes, dont Éditeurs de liens, chargeurs et exécutables.

Domaine: Éditeurs de liens, chargeurs et exécutables

S'entraîner : questions sur Tas (heap)

Quel est l'avantage de l'agencement qui fait croître le tas et la pile d'un processus en sens opposés, avec un vaste espace libre entre eux ?

  1. AL'espace libre peut être partagé de façon souple entre les deux, sans savoir à l'avance combien chacun utilisera
  2. BLe tas et la pile pouvant utiliser simultanément les mêmes adresses, la mémoire est doublée
  3. CLa pile ne peut plus jamais déborder
Afficher la réponse et l'explication

Réponse : A. L'espace libre peut être partagé de façon souple entre les deux, sans savoir à l'avance combien chacun utilisera

Le tas croissant vers les adresses hautes et la pile vers les basses, l'espace libre intermédiaire peut servir aussi bien aux programmes qui utilisent beaucoup le tas qu'à ceux qui utilisent beaucoup la pile. Avec une taille fixe attribuée à chacun, l'un pourrait déborder alors que l'autre a de la place. Cependant, une limite est souvent fixée pour la pile, et une récursion trop profonde la dépasse et provoque un débordement de pile.

« Tas (heap) » dans les explications

Questions mentionnant « Tas (heap) » (6)

  1. Quel est l'avantage de l'agencement qui fait croître le tas et la pile d'un processus en sens opposés, avec un vaste espace libre entre eux ?
  2. De quelle zone du processus provient généralement la mémoire allouée par malloc en C ?
  3. Quel est l'agencement mémoire correct d'un processus typique sous Linux notamment, des adresses basses aux adresses hautes ?
  4. Quel est l'objectif de l'ASLR (randomisation de l'agencement de l'espace d'adressage) ?
  5. Quelle attaque est plus facile à prévenir en n'autorisant jamais simultanément « inscriptible » et « exécutable » sur une page mémoire (W^X, séparation écriture-exécution) ?
  6. Lorsqu'une récursion trop profonde dépasse la limite de la pile, que se passe-t-il généralement sous Linux notamment ?

Comparatifs incluant ce terme

Termes associés

Débordement (spill) ASLR Adresse de retour Bascule (flip-flop) Défaut de page (page fault) Bibliothèque partagée Bibliothèque statique Chargeur (loader) Code indépendant de la position Décoration de noms (name mangling)

Retour au glossaire