| Autore |
Discussione  |
|
|
knox
Senior Member
   

124 Messaggi |
Inserito il - 22/03/2004 : 22:07:01
|
Ciao a tutti...da qualke tempo uso un programmino free per deframmentare la ram che si kiama FAST Defrag. Mi kiedo...fa male deframmentare spesso la ram?(Ora giuro che se mi rispondete che fa male alla prostata giuro che....mmmm ) Ciao a todos!! K
|
|
|
Neo
Advanced Member
    

Città: Castellammare di Stabia
340 Messaggi |
Inserito il - 25/03/2004 : 16:09:10
|
Ciao knox, di tanto in tanto deframmentare la ram non fa male. CIAO
  
Neo |
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 26/03/2004 : 08:11:56
|
Sento parlare di deframmentare le ram. Ma qualcuno mi sa dire effettivamente a cosa serve? Secondo me a nulla, o comunque a poco niente. Spiego i motivi: - le ram si azzerano ad ogni spegnimento di computer; - i tempi di accesso alle ram sono costanti indipendentemente dalla posizione della cella di memoria richiesta; - la rilocabilita` del codice rende indipendente il funzionamento del codice dalla sua posizione in ram; - la gestione a pagine della memoria elimina il problema di trovare uno spazio di ram contiguo in cui far stare tutto il codice (istruzioni+dati) del processo; - con l'ausilio del S.O., il processo non si accorge di essere in ram su celle contigue o frammentate su piu` pagine. Dato questo, qualcuno sa spiegarmi a cosa serve la deframmentazione delle ram?
|
 |
|
|
Gimli
Moderatore
    
.jpg)
Città: Belluno
1870 Messaggi |
Inserito il - 26/03/2004 : 17:33:02
|
Forse intende la deframmentazione del file di swap? Ciao 
-- Prima di postare, leggere: htt*://[www].notrace.it/Forum2/FAQ.ASP htt*://[www].catb.org/~esr/faqs/smart-questions.html |
 |
|
|
knox
Senior Member
   

124 Messaggi |
Inserito il - 26/03/2004 : 20:43:38
|
Il programma in questione (Fast Defrag) agisce sia sul file di swap che sulla ram. Ori ti ringrazio per la spiegazione tecnica...ma posso risponderti soltanto dicendo cosa accade sul pc quando lancio il programma... ...semplicemente mi fa aumentare la ram libera, ossia ancora utilizzabile dalle applicazioni... esempio: apro Fast Defrag e mi rileva che la ram attualmente usata dal sistema è, supponiamo, 156, mentre quella libera è 100. Bene...lancio il comando di "clean" (è il programma che lo kiama così) e la situazione cambia...memoria utilizzata=130; memoria libera=126.
Todo aqui! 
|
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 29/03/2004 : 08:15:18
|
Il fatto che deframmenti lo swap puo` essere utile, come per tutte le operazioni che riguardano l'accesso al disco. Per quanto riguarda avere piu` ram libera dopo averla "deframmentata", non sarei cosi` sicuro che possa essere un vantaggio. Spiego il perche`: - non puo` liberare la ram dei processi in esecuzione, perche` tanto se la riprenderebbero (se l'hanno avuta, allora vuol dire che serve); - non puo` liberare la ram occupata dal S.O., per lo stesso motivo (oltre al fatto che il S.O. non dovrebbe permettere una cosa del genere) - la ram che puo` liberare e` quella occupata da librerie linkate dinamicamente o quella "sporcata" da un processo che ha terminato la propria esecuzione. Per la ram dei processi terminati, dovrebbe gia` pensarci il S.O. a liberarla. Per quella delle librerie, non sarebbe da deallocare (a meno che non serva spazio per nuovi processi) in quanto, deallocandola, si rallenta l'entrata in esecuzione di un nuovo processo che richiede quelle particolari librerie deallocate. Questo se e` cosi` che lavorano i programmi di deframmentazione delle ram.
knox, non e` che potresti fare un esperimento? Fai partire Word (guardando il tempo T1che ci impiega), lo chiudi e lo riapri, guardando quanto tempo T2 ci impiega per ripartire. Lo chiudi di nuovo e poi fai un giro di deframmentazione delle ram. Poi lo riapri e guardi quanto tempo (T3) ci impiega a ripartire. Se le mie supposizioni sono giuste, ci impiega lo stesso tempo della prima volta che lo hai aperto (o forse qualcosa di piu`) e non il tempo impiegato dalla seconda apertura (quella prima del defrag). Ossia T2<T1<=T3
Edited by - ori on 29/03/2004 08:15:52 |
 |
|
|
knox
Senior Member
   

124 Messaggi |
Inserito il - 30/03/2004 : 21:01:33
|
Esperimento riuscito!! E poi ste cose empiriche sono sempre fighe... 
Ecco a te i dati rilevati ori
T1=3.9 sec T2=1.7 sec
...dopodichè lancio Fast Defrag e finalmente...
T3=3.7 sec
Caro ori...CVD!! 
ps: ma cos'è una libreria? K
|
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 31/03/2004 : 08:59:14
|
Come pensavo. Quindi non so quanto convenga deframmentare le ram (visto che questo comporta un rallentamento nell'avvio dei programmi).
Le librerie sono contenute in file (quelle linkate dinamicamente sono in file .DLL) e sono un insieme di procedure e funzioni che i programmi usano ma che non definiscono per conto proprio. Queste librerie contengono funzioni e procedure di sistema (ossia i programmi le usano per accedere alle funzionalita` del S.O.) e sono comuni a piu` programmi (in questo modo il programmatore non deve scriversele da capo per ogni programma che scrive, anche perche` non sempre conosce come fare ad accedere alle funzionalita` del S.O.). Poi ci sono le librerie comuni ad un set di programmi (ad esempio, quelle comuni ai vari programmi che compongono il pacchetto Office). Queste servono per scrivere una sola volta del codice usato da piu` programmi in posti diversi. Quando un programma diventa un processo (programma: insieme di istruzioni compilate scritte in un file; processo: insieme di istruzioni compilate caricate in memoria pronto ad entrare in esecuzione), in memoria viene allocato lo spazio necessario per contenere tutto il codice e i dati _statici_ (ossia le variabili allocate a tempo di compilazione) e poi viene caricato il programma in memoria (gli spazi di memoria allocati dinamicamente durante l'esecuzione di un processo vanno a finire in un'altra area della memoria, detta HEAP. Se un programma non e` scritto bene e non dealloca i dati allocati dinamicamente, dopo la sua terminazione lascia della memoria allocata e a lungo andare impedisce al sistema di funzionare, in quanto rimane senza ram libera e senza swap). Se un processo vuole usare delle librerie dinamiche, deve dichiararlo. In questo modo il S.O. sa che deve rendere disponibili tali librerie al processo, le carica in memoria (se non le ha gia` caricate in precedenza) e le linka dinamicamente. Ora il processo puo` andare in esecuzione, in quanto ha tutto cio` di cui necessita. Un S.O. cerca di non deallocare le DLL presenti in memoria, in quanto ricaricarle costa, in termini di tempo. Infatti bisogna trovare il file in cui sono contenute nell'hd, leggerlo e trasferirlo in memoria. Quando la ram finisce, si inizia a swappare, ma prima di fare questo si cerca di eliminare dalla ram una parte di cio` che non viene usato da piu` tempo (in quanto swappare costa). |
 |
|
|
franci
Senior Member
   
175 Messaggi |
Inserito il - 31/03/2004 : 11:05:47
|
ori, sei bravissimo a spiegare!!! ho capito (a grandi linee) anch'io! 
|
 |
|
|
ori
Moderatore
    

Città: Verona
2043 Messaggi |
Inserito il - 31/03/2004 : 11:45:53
|
Grazie, e` tutta esperienza che ho fatto con i colleghi di studi. Se servono altre delucidazioni a riguardo, sempre disponibile |
 |
|
|
knox
Senior Member
   

124 Messaggi |
Inserito il - 31/03/2004 : 16:41:35
|
Grazie mille Ori!! K
|
 |
|
| |
Discussione  |
|