Se l'altra risposta è troppo impegnativa per qualcuno da leggere perché ha un sacco di gergo tecnico, offro la mia risposta.
Un file è memorizzato nel disco rigido o nel disco fisso. Cos'è un file che chiedi? Rispondo, un gruppo di 1 e 0 disposti in un ordine particolare che sembra un file dall'esterno. Cos'è un programma eseguibile *.exe
? È eseguibile con codice macchina, anche un gruppo di 1 e 0. È anche memorizzato nel tuo disco. Quando si fa clic sull'eseguibile della compressione del file, l'algoritmo delle istruzioni del codice viene caricato da *.exe
nell'unità disco nella RAM. Solo allora è in grado di funzionare. La CPU del computer esegue programmi e legge / scrive dati. Non può ottenere nulla direttamente dal disk drive. Deve prima caricare tutto nella memoria RAM, che funge da intermediario tra la CPU e l'unità disco in cui sono memorizzati tutti i dati.
Ora il programma di compressione file viene eseguito dalla CPU nella RAM. Che cosa dicono le istruzioni del codice alla CPU? Dicono di caricare il file vero e proprio dall'unità disco nella memoria RAM in modo che il programma possa funzionare con esso. Quindi ora abbiamo due cose nella memoria RAM: il programma stesso e il file.
Dì a questo programma di compressione file per comprimere il file. Tuttavia non può magicamente farlo. Per essere compresso, un file deve essere organizzato in un certo ordine, il più strettamente possibile. Forse prima della compressione, il file era in qualche modo disorganizzato, come il tuo file cabinet. Il programma di compressione dei file deve organizzare il file nel modo più ordinato e stretto possibile. Per fare questo deve temporaneamente mettere il file in uno stato ancora più disorganizzato per trovare tutti i pezzi in cui tutto ciò che appartiene.
Pensa a come comprimere i documenti. Per prima cosa li spargerai sulla tua scrivania per poterli vedere tutti, e li ordinano per categorie, e inizi a mettere i fogli in cartelle.
Quindi ora abbiamo tre cose nella memoria RAM:
1. Le istruzioni del programma stesso.
2. Il file originale che è stato caricato dall'unità disco.
3. Una copia temporanea del file originale, che è in stato di smembramento e rimessa insieme.
Forse più copie temporanee dell'intero file o anche parti di esso sono fatte nella RAM per rendere più facile per il programma organizzare e comprimere questo file. Vedete ora in che modo i programmi di compressione dei file possono assorbire molta più RAM quando lavorano rispetto rispetto alle dimensioni del file originale nell'unità disco?
La quantità di RAM utilizzata durante questo processo dipende dall'abilità del programmatore che ha progettato l'applicazione. Esistono modi intelligenti ed efficienti per scrivere il codice in modo da ridurre al minimo il consumo di RAM. E poi ci sono modi di forza bruta per ottenere lo stesso compito, ma funziona più lentamente e occupa più RAM. La RAM può persino essere sprecata se il programma ha una perdita di memoria. Pensa a una perdita di memoria come fare più copie degli stessi dati, ma poi lasciarli sulla scrivania e non preoccuparti nemmeno di ripulirti.
Eventualmente tutte le copie temporanee verrebbero condensate nella versione compressa del file. È ancora nella memoria RAM, quindi la versione compressa del file deve essere inviata fino al disco del disco rigido in cui è stata salvata in modo permanente.
L'idea principale è che per raggiungere uno stato di bassa entropia si dovrebbe passare temporaneamente ad uno stato di alta entropia. Questo è ovviamente scritto nei termini più generali.