Di solito, la dimensione fisica di un file è maggiore della dimensione logica. Mi stavo chiedendo se ci fosse qualche caso per il quale è vero il contrario. Potrebbero esserci alcuni file, per i quali la dimensione fisica sarebbe inferiore alla dimensione logica.In tal caso la dimensione fisica di un file sarà inferiore alla dimensione logica?
risposta
La dimensione fisica del file è in genere la somma di tutti i blocchi assegnati al file, mentre la dimensione logica è l'utilizzo effettivo di tali blocchi. Per avere un file logicamente più grande della sua dimensione fisica implicherebbe che alcuni dati possano essere generati al volo (poiché ha più di quanto i blocchi possano contenere).
È possibile ottenere questo concetto comprimendo il file e nascondendo la compressione nei dettagli del driver del filesystem. In questo modo potresti avere due blocchi da 512 byte che supportano 1024 byte fisici ma la decompressione dei dati potrebbe rivelare più di 1024 byte logici nel file.
Ci sono altri modi non banali per realizzare quello che chiedi ma non credo che li incontrerai in natura (a meno che tu non stia lavorando in un angolo del mondo di nicchia).
Il caso più comune in cui questo è vero è sparse files. Questi file sono fisicamente più piccoli delle loro dimensioni logiche, perché non tutte le loro estensioni sono allocate - ci sono "buchi" nel file.
Si noti che non tutti i file system supportano file sparsi. (In particolare, il grasso non lo fa.)
con un file system moderno come ZFS, ci sono tre modi che permettono la dimensione fisica di un file per essere più piccolo rispetto ai suoi logici uno:
file sparse , in cui i blocchi di dati contenenti solo zeri non sono memorizzati fisicamente. Questo è supportato dalla maggior parte dei file system correnti ma escludendo FAT e HFS +.
File compressi, in cui il sistema operativo utilizza un algoritmo di compressione per archiviare i dati in misura inferiore alla sua dimensione originale. ZFS, btrfs e HFS + stanno implementando la compressione dei dati.
File deduplicati, in cui i blocchi relativi a file diversi ma con lo stesso contenuto vengono memorizzati una sola volta. Questo viene implementato almeno da ZFS, btrfs, vxfs e NTFS VHD (Windows Server 2012.)
istantanee e cloni sono anche le tecniche che permettono più file che hanno un'origine comune, ma un contenuto divergente di avere solo la loro differenza memorizzato, portando ad un guadagno nello spazio del disco.
Si possono aggiungere collegamenti fissi che consentono a più "file" (percorsi più precisi) di condividere gli stessi dati.
Infine, i collegamenti simbolici non memorizzano dati ma il file a cui puntano, se presente, di solito ha una dimensione di dati non nullo.
Questa domanda non deve essere chiusa. – o11c
Non riesco a capire perché le persone vogliano mettere questa domanda come attesa. Quando ho discusso questa domanda con alcuni dei miei amici universitari, sono stati sorpresi nel vedere la risposta data qui sotto, che dice sì, ci sono alcuni casi. Perché, letteralmente, non sapevamo che questo caso potesse essere possibile. Quindi, penso che questa sia una domanda interessante. Per favore, dai una ragione sufficiente per cui alcuni di voi non vogliono che questa domanda venga posta qui? – beginner
La buona notizia è che la coda di riapertura è molto più breve della coda di chiusura. – o11c