|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 190
|
[C] curiosita sulla fork e la exec
Qualcuno puo' dirmi , dopo la exec , quali parti ( stack, area vuota per heap, dati , codice ) viene sostituita e quale no ?
e in particolare lo stack del processo che fine fa ? thanks |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 153
|
Credo che venga sostituito tutto e che lo stack venga ripulito
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 190
|
pensavo anch io che lo stack fosse ripulito ma non lo trovo scritto da nessuna parte
su un libro c'e' scritto " viene sostituita l'intera immagine in memoria " e su un altro c'e' scritto " viene sostituito dati e codice " . non ho tempo ne voglia di smanettare col gdb per vedere cosa succede in realta' ... quindi se qualcuno puo' dirmelo con sicurezza
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
tutte e 6 le funzioni exec* sostituiscono l'intera immagine del vecchio processo (codice, data, heap e stack) con i corrispettivi del nuovo.
se non ricordo male invece le variabili d'ambiente non vengono sostituite, a meno di usare execle() o execve() che permettono di specificarne di nuove. esistono poi altre proprietà che vengono ereditate, tra cui per esempio i file descriptor se vuoi approfondire un buon testo è il classico W. Richard Stevens, Advanced Programming in the UNIX Environment Addison Wesley sintetiche ma efficaci ci sono anche queste slide: http://home.dei.polimi.it/antola/Inf..._parallela.pdf spero di esserti stato utile ciao! british |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jul 2008
Messaggi: 255
|
ciao grazie per l'aiuto... nelle slide postate c'e' scritto:
La exec sostituisce il segmento codice e il segmento dati del processo corrente con il codice e i dati di un programma contenuto in un file eseguibile specificato. Il segmento di sistema non viene sostituito (file e socket rimangono aperti e disponibili) dello stack e heap non ne parla |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
nel libro se ne parla
ciao! british |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jul 2008
Messaggi: 255
|
potresti dirmelo tu perche non ho il libro
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
come ti dicevo sopra la exec e sue varianti sostituiscono codice, data, stack e heap con i corrispondenti del nuovo processo (stack e heap naturalmente vergini).
o forse non ho capito io la domanda? ciao! british |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Jul 2008
Messaggi: 255
|
ah ok quindi stack e heap vengono svuotati
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:24.




















