Sto leggendo su fork
e exec
per un esame, e il mio libro dice che ogni volta che è necessario eseguire un nuovo (diverso) processo in sistemi unix, si forchetta il processo corrente seguito da uno execve
.La sequenza exec di unix fork è davvero costosa come sembra?
Tuttavia, si dice anche che ogni volta che viene chiamato fork
, l'intera immagine di memoria del genitore viene copiata nel nuovo processo.
Quindi la mia domanda è: cosa succede se si dispone di un processo con un'immagine di memoria veramente grande e si desidera solo eseguire un nuovo processo? Non è uno spreco di risorse copiare tutti i dati dal processo principale se hai intenzione di sostituirlo immediatamente?
+1 buona domanda, grazie. Spesso mi chiedo come le risposte vengano premiate molto più della domanda. Senza la domanda non ci fu risposta. E la domanda era nella mia testa :) – humanityANDpeace