Consideriamo un programma fittizio che costruisce un elenco collegato nell'heap e alla fine del programma c'è un ciclo che libera tutti i nodi e quindi esce. In questo caso, diciamo che l'elenco collegato è solo 500K di memoria e non è richiesta alcuna gestione dello spazio speciale.
- È una perdita di tempo, perché il sistema operativo lo farà comunque?
- Ci sarà un comportamento diverso in seguito?
- È diverso a seconda della versione del sistema operativo?
Sono principalmente interessato ai sistemi basati su UNIX, ma qualsiasi informazione sarà apprezzata. Ho avuto oggi la mia prima lezione sul corso del sistema operativo e ora me lo chiedo.
Modifica: dal momento che molte persone sono preoccupate per gli effetti collaterali, e in generale per la "buona pratica di programmazione" e così via. Hai ragione! Sono d'accordo al 100% con le tue dichiarazioni. Ma la mia domanda è solo ipotetica, voglio sapere come il sistema operativo gestisce questo. Quindi per favore lascia fuori cose come "trovare altri bug quando si libera tutta la memoria".