Qual é a diferença entre tamanho e tamanho no disco?


83

Observando as propriedades de um arquivo do Windows, obtenho dois atributos: "Tamanho" e "Tamanho no disco" e "Tamanho no disco" é sempre maior.

O que essas duas métricas significam?


11
Não tenho 100% de certeza disso, mas acredito que os arquivos compactados também afetam essas medidas.
AdminAlive 6/11/2009

2
"Tamanho no disco" nem sempre é maior. Arquivos pequenos são armazenados diretamente na MFT e terão tamanho no disco = 0 . Os arquivos compactados também costumam ter um tamanho menor no disco. Mesmo com arquivos esparsos
phuclv

Respostas:


78

Tamanho é o tamanho real do arquivo em bytes.

Tamanho no disco é a quantidade real de espaço ocupada no disco. Eles diferem porque o disco é dividido em faixas e setores e pode alocar blocos de tamanho discreto.

Edição

Para uma explicação mais detalhada, consulte este texto que copiei de outro site:

Sabemos que um disco é composto de trilhas e setores. No Windows, isso significa que o sistema operacional aloca espaço para arquivos em "clusters" ou "unidades de alocação".

O tamanho de um cluster pode variar, mas os intervalos típicos variam de 512 bytes a 32K ou mais. Por exemplo, na minha unidade C: \, a unidade de alocação é de 4096 bytes. Isso significa que o Windows alocará 4096 bytes para qualquer arquivo ou parte de um arquivo com 1 a 4096 bytes de comprimento.

Se eu tiver um arquivo com 17 KB (kilo bytes), o Tamanho no disco será 20,48 KB (ou 20480 bytes). O cálculo seria 4096 (1 unidade de alocação) x 5 = 20480 bytes. São necessárias 5 unidades de alocação para armazenar um arquivo de 17 KB.

Outro exemplo seria se eu tivesse um arquivo com tamanho de 2000 bytes. O tamanho do arquivo no disco seria 4096 bytes. O motivo é que, embora o arquivo inteiro possa caber dentro de uma unidade de alocação, ele ainda ocupa 4096 de espaço (uma unidade de alocação) no disco (apenas um arquivo pode usar uma unidade de alocação e não pode ser compartilhado com outros arquivos).

Portanto, o tamanho do disco é o espaço de todos os setores em que o arquivo é salvo. Isso significa que, geralmente, o tamanho do disco é sempre maior que o tamanho real.

Portanto, o tamanho real de um (s) arquivo (s) ou pasta (s) sempre deve ser obtido do valor Tamanho ao exibir a janela de propriedades.

Fonte: Qual é a diferença entre tamanho e tamanho no disco nas propriedades da pasta do Windows .


11
Então, devo olhar para "tamanho" ou "tamanho no disco" quando desejar comparar a porcentagem de quanto uma pasta leva em comparação com o total que a partição atual possui?
desenvolvedor android

11
tamanho @androiddeveloper no disco é
Am1rr3zA

OK obrigado. Me pergunto por que eles não explicaram isso lá ou colocaram uma descrição um pouco melhor.
desenvolvedor android

5
A resposta da Synetech abaixo adiciona pontos importantes (e potencialmente confusos) sobre links físicos e de compactação, os quais podem levar a um tamanho no disco menor que o tamanho.
Owen Blacker

11
@baroquedub Você pode ter uma enorme diferença entre os dois (como o fator x1000 no seu exemplo). Essa diferença pode ocorrer principalmente se houver muitos arquivos pequenos (basicamente porque os arquivos são gravados como "blocos" no disco, portanto, pelo menos todo o tamanho de um bloco será utilizado. O tamanho real do bloco depende do arquivo- sistema, de modo que o tamanho em disco ocupado pode ser diferente em discos diferentes.
PacoPaco

23

Tem a ver com os tamanhos das unidades de alocação usados ​​no disco quando ele foi formatado.

Imagine que você tem duas latas de gasolina de 2 x 10 galões em seu carro. Cada lata de gás é uma unidade de alocação. Você precisa obter 12 galões de gás, então precisa usar as duas latas. Basicamente, usando 20 galões de espaço alocado - mas preenchendo apenas 12 galões.

Aqui está o tamanho padrão para o 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 você pensar no tamanho do cluster como cada uma de suas latas de gasolina: mantenha 4KB de "gasolina" cada. Mas seu arquivo tem 2 KB, o tamanho do preenchimento é 2 KB, mas o tamanho do disco é 4KB


6
Permita-me adicionar à sua resposta. O tamanho da unidade de alocação (bucket) é escolhido com base no tamanho do disco. Se você estiver usando um balde para esvaziar uma banheira, escolha um balde pequeno. Se você estiver esvaziando uma piscina, usará um balde maior.
Les

13

Espaço frouxo do cluster

Você não pode acessar cada byte individual em uma mídia de armazenamento separadamente. Fazer isso seria terrivelmente ineficiente, pois o sistema precisa de alguma maneira de controlar quais são usados ​​e quais são gratuitos (ou seja, uma lista); portanto, fazer isso para cada byte separadamente criaria muito mais (para cada byte individual, ou seja, 1 para 1, a lista seria do tamanho da mídia em si!)

Em vez disso, o meio é dividido em partes, blocos, unidades, grupos, o que você quiser chamá-los (o termo técnico é clusters ), cada um dos quais contém um número consistente de bytes (geralmente é possível especificar o tamanho do clusters, pois diferentes usos exigem tamanhos diferentes para reduzir o desperdício).

Quando um arquivo é salvo no disco, o tamanho do arquivo é dividido pelo tamanho do cluster e arredondado , se necessário. Isso significa que, a menos que o tamanho do arquivo seja exatamente divisível pelo tamanho do cluster, parte do cluster acaba sendo não utilizada e, portanto, desperdiçada.

Ao visualizar as propriedades de um arquivo, você vê o tamanho real do arquivo e o tamanho que ele ocupa no disco, que inclui qualquer " folga ", ou seja, as "dicas de cluster" que não são utilizadas. Isso geralmente não é muito por arquivo e o tamanho do disco geralmente é quase igual ao tamanho real, mas quando você soma o espaço desperdiçado de todos os milhares de arquivos em uma unidade, eles podem ser adicionados. Portanto, quando você exibe o tamanho de uma pasta grande, especialmente uma com muitos arquivos minúsculos menores que um cluster, o tamanho do disco (ou seja, a quantidade de espaço em disco marcado como usado) pode acabar sendo significativamente maior que o tamanho real tamanho (ou seja, a quantidade de espaço necessária para os arquivos).

Nos casos acima, o que você pode tentar é reduzir o tamanho do cluster para que cada arquivo gaste menos espaço. Geralmente, uma unidade com quase todos os arquivos perdidos deve usar o menor tamanho de cluster possível (para reduzir o desperdício) e uma unidade com arquivos grandes deve usar o maior tamanho de cluster possível (dessa forma, as estruturas da contabilidade acabam sendo menores).

Mesmo em um nível inferior, se cada cluster for apenas um único setor , a menos que um arquivo seja um múltiplo exato do tamanho dos setores na unidade (geralmente 512 bytes tradicionalmente, agora geralmente 4.096 com discos de formato avançado ), ainda haverá espaço não utilizado entre o final do arquivo e o final do setor.

Compressão

Outro cenário em que você pode ver uma diferença entre o tamanho real do arquivo e o tamanho do disco é com a compactação. Quando uma unidade é compactada (por exemplo, usando DriveSpace , compactação NTFS etc.), haverá uma diferença entre o tamanho do arquivo real (que precisa ser conhecido) e o tamanho real que o arquivo ocupa (ou seja, usa ou "pega") no disco.

Atalhos e Hardlinks

Ainda outro cenário que pode resultar em uma diferença é com links físicos . Com sistemas de arquivos que oferecem suporte a hardlinks, quando um arquivo duplicado é criado, em vez de criar um arquivo totalmente novo que ocupa espaço, o sistema de arquivos cria um atalho para o arquivo, para que ambos (ou todos os três, etc.) cópias apontam para o mesmo arquivo físico no disco. Portanto, quando existem dois arquivos apontando para os mesmos dados, cada um tem o mesmo tamanho, mas ocupa apenas um pouco mais do que o espaço para armazenar uma única cópia.


Na verdade, com unidades de alocação de 1B, a lista não ocuparia necessariamente todo o meio. Apenas um oitavo do tamanho. Isso ocorre porque você precisa apenas de um bit para dizer se um bloco é usado ou gratuito.
flarn2006

As despesas gerais também incluem dados que indicam que várias unidades de alocação pertencem ao mesmo arquivo. Se você disser que cada byte possui outro bit, indicando se os dados ultrapassam o byte seguinte, isso resolve isso muito ingênuo para o tamanho / desempenho moderno do disco, porque se o próximo byte não estiver livre, TODOS os bytes do disco rígido precisarão ser mudou-se. Realisticamente, você precisaria de mais despesas gerais para especificar o deslocamento da próxima unidade de alocação ou atribuir um tipo de ID de arquivo a cada unidade de alocação.
RetiredAssistant

4

Outra coisa que pode reduzir significativamente o valor Tamanho no Disco são situações em que um arquivo não é realmente armazenado no disco, mas ainda é acessível por vários meios.

Por exemplo, o recurso Arquivos Off-line do OneDrive permite que um usuário armazene um arquivo de forma que seja acessível por meio de uma conexão com a Internet. O arquivo ainda existe no disco e tem um determinado tamanho, mas como não está no disco até ser baixado, não ocupa espaço.

Janela Propriedades da pasta do OneDrive.  O tamanho da pasta é 171 GB, mas o tamanho do disco é 31,7 GB.

Exemplo em uma pasta dentro de ...

Janela Propriedades de uma pasta com um nome redigido.  O tamanho da pasta é 379 MB, mas o tamanho do disco é 0 bytes.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.