Qual è la differenza tra dimensione e dimensione sul disco?


83

Osservando le proprietà di un file Windows, ottengo due attributi, "Dimensione" e "Dimensione su disco", e "Dimensione su disco" è sempre più grande.

Che cosa significano queste due metriche?


1
Non ne sono sicuro al 100%, ma credo che anche i file compressi abbiano un effetto su queste misurazioni.
AdminAlive,

2
"Dimensione su disco" non è sempre più grande. I file di piccole dimensioni vengono memorizzati direttamente su MFT e avranno dimensioni su disco = 0 . I file compressi spesso hanno anche dimensioni più ridotte sul disco. Lo stesso
vale per i

Risposte:


78

Dimensione è la dimensione effettiva del file in byte.

La dimensione sul disco è la quantità effettiva di spazio che viene occupata sul disco. Differiscono perché il disco è diviso in tracce e settori e può allocare blocchi di dimensioni discrete.

La modifica

Per una spiegazione più dettagliata, vedi questo testo che ho copiato da un altro sito:

Sappiamo che un disco è composto da tracce e settori. In Windows ciò significa che il sistema operativo alloca spazio per i file in "cluster" o "unità di allocazione".

La dimensione di un cluster può variare, ma gli intervalli tipici vanno da 512 byte a 32 KB o più. Ad esempio, sul mio disco C: \, l'unità di allocazione è 4096 byte. Ciò significa che Windows assegnerà 4096 byte per qualsiasi file o porzione di file che abbia una lunghezza compresa tra 1 e 4096 byte.

Se ho un file di 17 KB (chilogrammi byte), la dimensione sul disco sarebbe 20,48 KB (o 20480 byte). Il calcolo sarebbe 4096 (1 unità di allocazione) x 5 = 20480 byte. Sono necessarie 5 unità di allocazione per contenere un file di 17 KB.

Un altro esempio potrebbe essere se ho un file di 2000 byte di dimensione. La dimensione del file sul disco sarebbe 4096 byte. Il motivo è che, sebbene l'intero file possa rientrare in un'unità di allocazione, occupa comunque 4096 di spazio (un'unità di allocazione) sul disco (solo un file può utilizzare un'unità di allocazione e non può essere condiviso con altri file).

Quindi la dimensione sul disco è lo spazio di tutti quei settori in cui viene salvato il file. Ciò significa, di solito, la dimensione sul disco è sempre maggiore della dimensione effettiva.

Pertanto, la dimensione effettiva di un file o di una cartella deve essere sempre presa dal valore Dimensione quando si visualizza la finestra delle proprietà.

Fonte: qual è la differenza tra dimensioni e dimensioni sul disco nelle proprietà delle cartelle di Windows .


1
Quindi dovrei guardare "size" o "size on disk" quando desidero confrontare la percentuale di quanto prende una cartella rispetto al totale della partizione corrente?
sviluppatore Android

1
La dimensione di @androiddeveloper su disco è
Am1rr3zA

Ok grazie. Mi chiedo perché non l'hanno spiegato lì, o hanno fatto una descrizione un po 'migliore.
sviluppatore Android

5
La risposta di Synetech di seguito aggiunge punti importanti (e potenzialmente confusi) sui collegamenti di compressione e hard, entrambi i quali possono portare a una dimensione su disco più piccola della dimensione.
Owen Blacker,

1
@baroquedub È possibile avere enorme differenza tra i due (come il fattore X1000 nel tuo esempio). Questa differenza può verificarsi soprattutto se ci sono molti piccoli file (sostanzialmente perché i file sono scritti come "blocchi" sul disco, quindi verrà presa almeno l'intera dimensione di un blocco. La dimensione effettiva del blocco dipende dal file- sistema, quindi le dimensioni su disco prese potrebbero essere diverse su dischi diversi
Pacopaco

23

Ha a che fare con le dimensioni dell'unità di allocazione utilizzate sul disco quando è stato formattato per la prima volta.

Immagina di avere due bombole di gas da 2 x 10 galloni nella tua auto. Ogni bomboletta di gas è un'unità di allocazione. È necessario ottenere 12 litri di gas, quindi è necessario utilizzare entrambe le lattine. Fondamentalmente usando 20 galloni di spazio assegnato - ma riempiendo solo 12 galloni.

Ecco le dimensioni predefinite per Windows XP

 Drive size   
 (logical volume)             Cluster size          Sectors   
 ----------------------------------------------------------
 512 MB or less               512 bytes             1
 513 MB - 1,024 MB (1 GB)     1,024 bytes (1 KB)    2 
 1,025 MB - 2,048 MB (2 GB)   2,048 bytes (2 KB)    4
 2,049 MB and larger          4,096 bytes (4 KB)    8

Se pensi alle dimensioni del cluster come a ciascuna delle tue bombole di gas: tieni 4KB di "gas" ciascuno. Ma il tuo file è 2 KB, quindi la dimensione dei riempimenti è 2 KB, ma la dimensione sul disco è 4K KB


6
Consentimi di aggiungere alla tua risposta. La dimensione dell'unità di allocazione (bucket) viene scelta in base alla dimensione del disco. Se stai usando un secchio per svuotare una vasca, scegli un secchio piccolo. Se stai svuotando una piscina, utilizzerai un secchio più grande.
Les

13

Cluster Slack Space

Non è possibile accedere a ciascun singolo byte su un supporto di memorizzazione separatamente. Fare ciò sarebbe terribilmente inefficiente perché il sistema ha bisogno di un modo per tenere traccia di quelli che sono usati e quali sono liberi (cioè un elenco), quindi farlo separatamente per ogni byte creerebbe troppi ascolti (per ogni singolo byte, cioè 1 a 1, l'elenco sarebbe grande quanto il mezzo stesso!)

Al contrario, il supporto è suddiviso in blocchi, blocchi, unità, gruppi, come si desidera chiamarli (il termine tecnico è cluster ), ognuno dei quali contiene un numero consistente di byte (in genere è possibile specificare la dimensione del cluster poiché usi diversi richiedono dimensioni diverse per ridurre gli sprechi).

Quando un file viene salvato su disco, la dimensione del file è diviso da lui dimensione del cluster e arrotondato fino , se necessario. Ciò significa che, a meno che la dimensione del file non sia esattamente divisibile per la dimensione del cluster, parte del cluster finisce per non essere utilizzato e quindi sprecato.

Quando si visualizzano le proprietà di un file, vengono visualizzate le dimensioni effettive del file e le dimensioni che occupa sul disco che include qualsiasi " gioco ", vale a dire i "suggerimenti sul cluster" che non vengono utilizzati. Questo di solito non è molto per file e la dimensione sul disco sarà di solito quasi uguale alla dimensione effettiva, ma quando si aggiunge lo spazio sprecato da tutte le migliaia di file su un'unità, possono sommarsi. Pertanto, quando si visualizzano le dimensioni di una cartella di grandi dimensioni, in particolare una con molti file piccoli che sono più piccoli di un cluster, la dimensione sul disco (ovvero la quantità di spazio su disco contrassegnata come utilizzata) può finire per essere significativamente più grande di quella effettiva dimensione (ovvero, lo spazio richiesto dai file effettivi).

In un caso come sopra, ciò che puoi provare è ridurre la dimensione del cluster in modo che ogni file sprechi meno spazio. In genere, un'unità con la maggior parte dei file persi dovrebbe utilizzare la dimensione del cluster più piccola possibile (per ridurre gli sprechi) e un'unità con la maggior parte dei file dovrebbe utilizzare la dimensione del cluster più grande possibile (in questo modo le strutture di contabilità finiscono per essere più piccole).

Anche a un livello inferiore, se ogni cluster è solo un singolo settore , a meno che un file non sia un multiplo esatto della dimensione dei settori sull'unità (di solito 512 byte tradizionalmente, ora spesso 4.096 con dischi Advanced Format ), allora ci sarà ancora essere spazio inutilizzato tra la fine del file e la fine del settore.

Compressione

Un altro scenario in cui potresti notare una differenza tra le dimensioni effettive del file e le dimensioni sul disco è con la compressione. Quando un'unità viene compressa (ad esempio, utilizzando DriveSpace , compressione NTFS , ecc.) Allora ci sarà una differenza tra la dimensione del file effettivo (che deve essere conosciuto) e la dimensione effettiva occupata dal file (ovvero, utilizza o "riprende") sul disco.

Scorciatoie e collegamenti

Ancora un altro scenario che potrebbe comportare una differenza è con hardlink . Con i file system che supportano i collegamenti fissi, quando viene creato un file duplicato, invece di creare un file completamente nuovo che occupa spazio per se stesso, il file system crea un collegamento al file in modo che entrambi (o tutti e tre, ecc.) le copie puntano allo stesso file fisico sul disco. Pertanto, quando ci sono due file che puntano agli stessi dati, ognuno ha le stesse dimensioni, ma occupa solo leggermente più dello spazio per memorizzare una singola copia.


In realtà con le unità di allocazione 1B, l'elenco non occuperebbe necessariamente l'intero supporto. Solo un ottavo delle dimensioni. Questo perché hai solo bisogno di un solo bit per dire se un blocco è usato o libero.
flarn2006,

L'overhead include anche dati che indicano che diverse unità di allocazione appartengono allo stesso file. Se dici che ogni byte ha un altro bit che indica se i dati traboccano nel byte successivo, questo lo risolve ma è troppo ingenuo per le dimensioni / prestazioni del disco moderne perché se il byte successivo non è libero, Ognuno dei byte del disco rigido potrebbe essere necessario mosso. Realisticamente, avresti bisogno di maggiori spese generali per specificare l'offset dell'unità di allocazione successiva o assegnare un ID file di sorta a ciascuna unità di allocazione.
Assistente pensionato

4

Un'altra cosa che può ridurre significativamente il valore Dimensione su disco sono le situazioni in cui un file non è effettivamente archiviato sul disco ma è ancora accessibile in vari modi.

Ad esempio, la funzione File offline di OneDrive consente a un utente di archiviare un file in modo tale che sia accessibile tramite una connessione Internet. Il file esiste ancora sul disco e ha una certa dimensione, ma poiché non è sul disco fino a quando non viene scaricato, non occupa spazio.

Finestra delle proprietà della cartella OneDrive.  La dimensione della cartella è 171 GB, ma la dimensione sul disco è 31,7 GB.

Esempio su una cartella all'interno ...

Finestra delle proprietà di una cartella con un nome redatto.  La dimensione della cartella è 379 MB, ma la dimensione sul disco è di 0 byte.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.