linux user group brescia

immagine del castello

Archivio della mailing list

R: Man in error

Luca Giuzzi giuzzi a dmf.bs.unicatt.it
Gio 2 Nov 2000 14:40:05 UTC
ti consiglio di dare una occhiata a mmap (2): le librerie
 vengono `mappate in memoria' quando vengono aperte, i.e. il loro contenuto
 viene reso visibile nello spazio di indirizzi del processore...
 questo non significa che i files sono `bloccati' in memoria, pero'...
  a questo proposito, quando non servono, le pagine vengono buttate
 nell'area di swap. Aggiungo che diversi eseguibili fanno riferimento
 alla medesima libreria dinamica come caricata, per cui, ad esempio,
 bash, ls e cat in esecuzione in contemporanea non implicano che
 si carichino 3 copie della libc.
[a margine: si', questo potrebbe dare luogo a problemi di sicurezza...
 ma se un utente `maligno' ha il controllo della libc, tanto vale
 regalargli la password di root e i dischi fissi del computer]

Venendo al problema di `cosa succede se cancello la libc mentre un
 programma e' in esecuzione? ': nulla... il programma fa riferimento
 alla copia in memoria del file... i programmi che saranno eseguiti
 in seguito cercheranno di mappare il file corrispondente alla libreria:
 se e' non piu' esistente, allora non partiranno affatto; se diverso dal
 precedente useranno altra memoria (e presenteranno forse qualche
 problema ad interagire con i demoni gia' attivati).

Ciao,
 lg





Maggiori informazioni sulla lista Lug