Tamanho dos arquivos no sistema operacional Windows. (É KB ou kB?)

20

Um "kilobyte" (KB) tem 1024 bytes no padrão JEDEC, enquanto a definição mudou, na maioria dos contextos, para significar 1000 bytes (kB) de acordo com o SI. Para resolver essa diferença, prefixos binários (kiB) são usados.

Portanto, temos três opções para usar prefixos - JEDEC, IEC (ambos em binário) e métrico (em decimal).

Minhas perguntas são-

  1. Qual prefixo padrão o Windows usa para mostrar o tamanho do arquivo? (certamente não é padrão IEC)
  2. Por que o sistema operacional Windows mostra tamanhos de arquivos em KB (usando um alfabeto maiúsculo "K") quando é um alfabeto pequeno "k" para um quilo em unidades SI?

Um "K" maiúsculo representa Kelvin no sistema de unidades SI.

Estou perdendo algo aqui no entendimento?

Como
fonte
9
@Luaan: As convenções de SI são de longe as convenções mais comuns para unidades, mesmo para unidades não SI. Por exemplo, eles estão tentando executar o LHC em 13 TeV, mas eV (volt eletrônico) não é SI. Quando você diz que o nível de ruído ambiente é de 40 dB, o B (bel) também não é SI.
Dietrich Epp
2
@ DietrichEpp: Isso ainda é física. O byte não é uma unidade de física; físicos medem informações como entropia (unidade: J / K).
MSalters
3
Relevante: xkcd.com/394
basic6
3
@MSalters: O "Bel" não é física, é uma unidade abstrata como o byte.
Dietrich Epp
2
Quero dizer "abstrato", pois o Bel não corresponde a nenhum sistema concreto (ou físico). É usado apenas para expressar uma proporção, nem mesmo uma proporção de algo em particular (como poder). Por exemplo, no processamento de sinal digital, o dB será usado para expressar proporções de sinais digitais que não possuem unidades físicas para começar. Por isso, discordo totalmente da noção de que o decibel é uma unidade "física" ou conectada à física de qualquer maneira especial.
Dietrich Epp

Respostas:

41

Responderei à sua pergunta o mais diretamente possível, pois o uso de KB x KiB x kB x kb gerará rapidamente um debate fora do tópico, já que a guerra das convenções de nomenclatura está em andamento há décadas.

1.) Qual prefixo padrão o Windows usa para mostrar o tamanho do arquivo? (certamente não é padrão IEC)

Na verdade, é o padrão JEDEC 100B.01, o que significa que o KB (Killobyte) tem 1024 bytes.

2.) Por que o sistema operacional Windows mostra o tamanho dos arquivos em KB (usando um alfabeto maiúsculo "K") quando é um alfabeto pequeno "k" para um quilo em unidades SI.

Novamente, porque é o padrão JEDEC 100B.01 para prefixos de unidade para capacidade de armazenamento de semicondutores; não é uma unidade de medida do SI e, portanto, não tem o mesmo significado.

A minúscula kpode ser sinônimo de maiúscula Kao lidar com kilo/ kibi; para giga, megae tera, JEDEC , ISO e MPIB SI prefixo normas definem eles sejam maiúsculas G, Me Trespectivamente. Minúsculas g, me tsão utilizados apenas em situações informais, quando o contexto fornece o significado (como em Eu só troquei minha 1gb NIC ou o meu HDD 2TB não está funcionando ), e são per se inválido.

Um "K" maiúsculo representa Kelvin no sistema de unidades SI. Estou perdendo algo aqui no entendimento?

Sim, um capital Krepresenta Kelvinquando você está falando especificamente sobre medições de temperatura e lidando com unidades de medida SI, no entanto, estamos lidando com capacidade de armazenamento de semicondutores e eu não diria que tenho 512 KB of RAMe quero dizer que tenho 512 Kelvin Bytes of RAM. Além disso, depende realmente do contexto para saber quando / como diferenciar entre as unidades IEC / JEDEC e SI de medir KB / MB / GB / etc.

A maioria dos sistemas operacionais e a grande maioria dos dispositivos que lidam com memória / armazenamento usam os prefixos Kdo Kilo com 1024 bytes; portanto, quando recebo RAM que diz que é um módulo de 4 GB, sei que são 4 Gibi -Bytes (4 * 1024 * 1024 * 1024) e não Giga -Bytes (4 * 1000 * 1000 * 1000).

A principal exceção a isso está nas capacidades de acionamento; quando compro um pen drive ou disco rígido, sei que quando diz 32GB, significa 32 Giga -Bytes (32 * 1000 * 1000 * 1000) e não Gibi -Bytes (32 * 1024 * 1024 * 1024), mesmo que meu O sistema operacional o reportará em Gibi-Bytes (e, portanto, levará minha unidade de 32 GB para uma unidade efetiva de 29,8 GiB). Observe também que existem alguns tipos de Linux que gostam de usar o KB para significar 1000 bytes, independentemente do contexto, e isso pode ser um pouco confuso, pois nem todos os aplicativos no mesmo sistema operacional relatam os mesmos tamanhos. A maioria dos fabricantes de dispositivos geralmente coloca um aviso em algum lugar da "caixa" (ou site etc.) para indicar o que eles significam quando dizem KB / GB / etc, como em caixas de disco rígido com o aviso de isenção de responsabilidade *1GB = 1000000000 bytes.

Se você ficar confuso com o estilo do seu sistema operacional, sempre poderá ver quantos bytes um arquivo possui e depois fazer as contas para ver o que o seu sistema operacional está lhe dizendo (o 'tamanho do arquivo', não 'tamanho no disco', pois são coisas diferentes); se o seu sistema operacional não conseguir informar a contagem bruta de bytes, haverá problemas maiores além do sufixo que está usando.

Ou, como Randall colocou: kilobyte

txtechhelp
fonte
7
"A maioria dos sistemas operacionais e a grande maioria dos dispositivos que lidam com memória / armazenamento usam os prefixos K para Kilo com 1024 bytes" A partir da versão 10.6, o OS X não funciona mais. Esse é um sistema operacional bastante significativo.
Sören Kuklau
2
@ Ramhound: Você poderia encontrar uma fonte para isso? O OS X parece usar os prefixos corretos por padrão no meu sistema e não vejo opção para alterá-lo. Há uma opção para selecionar unidades métricas ou norte-americanas, mas nenhuma opção para usar os prefixos binários.
Dietrich Epp
11
MacOS e algumas distribuições Linux como o Ubuntu mudaram para o prefixo decimal para tornar o tamanho do arquivo consistente com o tamanho do disco rígido. KB = 1000 bytes e GB = 1000 bytes
phuclv
4
Discos rígidos não são a "exceção". O "GB" em um DVD está em gigabytes decimais. Os prefixos decimais também são usados ​​para capacidades de fita, velocidades de rede ("gigabit Ethernet" é 1000 ^ 3 bits / s), velocidades de clock de CPU e barramento e classificações de largura de banda e, antigamente, a chamada "taxa de transmissão" em série portos. Se alguma coisa, a RAM é a exceção de quase todos os outros produtos no campo usando prefixos decimais. Por alguma razão, o Windows Explorer decidiu seguir a convenção JEDEC, em vez da usada pelos fabricantes dos discos rígidos que contêm os arquivos sobre os quais o Explorer está falando.
Jamie Hanrahan
2
@JamieHanrahan: O armazenamento em unidades costuma usar setores com um tamanho de potência de dois e blocos de alocação que eram um número de potência de dois setores. Um disquete de 360K continha 720 setores de 512 bytes cada; um disquete de "1,44 MB" representava 2.880 desses setores [o "megabyte" era 1.024.000 bytes]. Somente após a capacidade da unidade aumentar, o megabyte diminuiu.
21715
14

No Windows Explorer, KB significa kilobyte, em que se refere a um quilo binário de 1024 bytes. O Explorer usa o capital 'K' para “indicar” o binário, em oposição ao minúsculo 'k', que é o prefixo padrão do SI no SI para significar 1000.

Postagem no blog de Raymond Chen Por que o Explorer usa o termo KB em vez de KiB? fornece uma visão geral do porquê do Windows não usar o KiB.

Se você olhar ao seu redor, descobrirá que ninguém (dentro do erro experimental) usa os termos kibibyte e KiB. Quando você compra memória do computador, a quantidade é especificada em megabytes e gigabytes, não em mebibytes e gibibytes. A capacidade de armazenamento impressa no CD em branco é indicada em megabytes. Todo documento na Internet (com erro experimental) que fala sobre memória e armazenamento usa os termos kilobyte / KB, megabyte / MB, gigabyte / GB, etc. Você precisa se esforçar para encontrar pessoas que usem os termos kibibyte / KiB, mebibyte / MiB, gibibyte / GiB, etc.

...

O Explorer está apenas seguindo a prática existente. Todo mundo (dentro do erro experimental) refere-se a 1024 bytes como um kilobyte, não um kibibyte. Se o Explorer mudasse para o termo kibibyte, ele mostraria apenas as informações dos usuários de uma forma que eles não podem entender e com que finalidade?

Alexey Ivanov
fonte