[Tech] OT - Programmazione C

Marco Ermini markoer@usa.net
Dom 22 Feb 2004 18:57:36 CET


On Sun, 22 Feb 2004 13:07:54 +0100, Simone Piccardi
<piccardi@softwarelibero.org> wrote:

[...]
> > memoria liberata non viene ritornata al sistema operativo. Qualcuno può
> > dare più informazioni? 
> No e` impossibile perche` i processi usano spazi degli indirizzi
> completamente indipendenti (per i thread il discorso e` ovviamente
> diverso, ma qui si parla di processi mi pare).

In Linux, thread e processi sono la stessa cosa (almeno fino a che non
prenderà piede la nuova glibc della RedHat compatibile POSIX).


> Non c'e` verso che un
> processo possa allocare la memoria di un altro.

Il verso c'è, per esempio nel contesto di uno stesso process group
(POSIX.1). Ma qui si entra un po' troppo nello specifico di quello che
interessava a Valerio, anche perché Linux implementa ancora poco di POSIX.

A parte le tue corrette precisazioni, e senza entrare troppo nei dettagli, a
Valerio credo basti sapere che la cosa non deve farla e che sì, il verso di
beccarsi il core dump per SIGSEV lo può trovare, eccome. E' vero che non
necessariamente i processi debbono "rubarsi" la memoria appena deallocata,
però è anche vero che le tecniche di allocazione di memoria e di garbage
collection in uso negli Unix e Unix-like moderni sono sempre più
sofisticate.

Forse con un array di 10 float non corre questo rischio, ma probabilmente se
alloca quantità di memoria molto grosse, magari superando il limite della
paginazione della memoria virtuale, è possibile che poco dopo che l'abbia
rilasciata, il kernel la "colori" subito per essere riusata o swappata

Forse non in Linux, non saprei (anche perché qui si parla di evoluzione
quotidiana degli algoritmi in uso nel kernel...) ma in altri Unix il rischio
c'è.


ciao
-- 
Marco Ermini
http://macchi.markoer.org - ICQ 50825709 - GPG KEY 0x64ABF7C6 - L.U. #180221
Perche' perdere tempo ad imparare quando l'ignoranza e' istantanea? (Hobbes)
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  189 bytes
Descrizione: non disponibile
URL:         <http://lists.linux.it/pipermail/flug-tech/attachments/20040222/4d6182ef/attachment.pgp>


Maggiori informazioni sulla lista flug-tech