Por que os discos rígidos nunca são tão grandes quanto os anunciados?


18

De todos os discos rígidos que comprei, eles nunca parecem ser tão grandes quanto o tamanho anunciado; de 320 GB a 290 GB, de 500 GB a 450 GB, etc. Existe uma razão técnica para isso?


3
A razão não técnica, é claro, é que os fabricantes colocarão o maior número possível de justificar na caixa para impulsionar as vendas. É semelhante a anúncios com letras pequenas "até" s nos recursos e "começando em" s pelos preços.
10139 David Thornley

5
Suas unidades são tão grandes quanto as anunciadas. O sistema operacional apenas os mede errado.
endolith 4/09/10

2
Não se esqueça que uma unidade é sempre especificada como tamanho não formatado e, quando formatada, haverá menos espaço disponível devido a tabelas de formato, tabelas de substituição de página e similares.
Daniel R Hicks

(Mas a 16G ficar Tenho ligado agora tem 16,000,761,856 bytes total, segundo Propriedades .)
Daniel R Hicks

@DanielRHicks Parabéns! Você conseguiu mais do que esperava! ;-)
Samir

Respostas:


29

A razão técnica é que os fabricantes de discos rígidos vendem capacidades em unidades métricas. Portanto, um GB = 1.000.000.000 bytes pelo sistema métrico. No entanto, os computadores medem o tamanho da unidade em potências de 2. Então 1GiB = 1.024MiB, 1MiB = 1.024KiB, etc. O que isso significa é que 1GiB = 1.073.741.824 bytes, uma diferença de 73.741.824.

Portanto, quando você instala sua unidade de 1 GB (por exemplo), o sistema operacional vê apenas 0,93 GiB, e essa é a causa da discrepância.

(Se você nunca viu a abreviatura GiB antes, é uma nova notação adotada para indicar poderes de 1024 em vez de 1000. No entanto, a maioria dos sistemas operacionais reportará GiB como GB, confundindo ainda mais esse problema)


6
Gi => Gibi em vez de G => Giga
ChrisF

@ ChrisF: sim, eu adicionei uma adenda ao meu post explicando que
Kyle Cronin

11
E não me inicie com os antigos disquetes "1.44Mb". Na verdade, eles eram feitos de 1440 * 1024 bytes, usando as medidas 1000 e 1024 simultaneamente. Não era nem MiB nem MB
R. Martinho Fernandes

1
A Wikipédia possui uma redação e um gráfico mostrando as diferenças en.wikipedia.org/wiki/Hard_disk_drive#Capacity_measurements
Chris Nava

1
A Apple recentemente mudou a exibição dos tamanhos de disco no MacOSX para usar valores métricos.
22610 Chris Nava

9

Originalmente, essa era a resposta para essa pergunta (mesclada) sobre pen drive de 4 GB.

Vamos começar pela afirmação: " O sistema humano é baseado na potência de 10, binário na potência de 2 ".
O que se segue pode dar uma primeira resposta à sua pergunta.

Os prefixos métricos são potência de 10, 1000 ou 10 ^ 3 é k , 10 ^ 6 é M , 10 ^ 9 G ...
Os prefixos binários são potência de 2 (2 ^ 10 = 1024 não tão longe de 1000, mas diferente, 2,4% ).

4000000000/1024/1024/1024  Your 4GB are 4 000 000 000 Bytes
3.72529029846191406250     That becames around 3.73 GiB 

Fornecedores e leis : os fornecedores se comportam de acordo com as regras do mercado, quando as leis não os forçam a fazer o contrário. 4 vende melhor que 3,78. Pelas mesmas razões, os provedores de internet muitas vezes falam sobre bps e deixá-lo entender Bps . Há um fator 8: um byte ( B ) é de 8 bits ( b ).

O problema é que as leis existem, mas não em todas as nações são as mesmas.

O Sistema Internacional , ou SI , é o mais amplamente utilizado no mundo para comércio e ciência (foi publicado em 1960 e atualmente são parcialmente apenas os EUA que estão adotando, Birmânia e Libéria).
Estabelece não apenas as unidades de medida, mas também os prefixos .

Como é natural no mundo dos computadores o uso de uma base numérica em potência de 2 (e não 10 como no mundo humano ), foi introduzido em 1998 o sistema dos prefixos binários . Aqui diretamente a mesa . Hoje encontramos na situação que

the International Electrotechnical Commission (IEC) and several other standards
(NIST...) and trade organizations approved standards and recommendations 
for a new set of binary prefixes that refer unambiguously to powers of 1024

Quando você lê 1GB, deve ser 1 000 000 Bytes, em
vez disso , quando você lê 1GiB, deve ser 1 073 741 824 Bytes.

Por que ainda deveria ser e não é ? Porque depende de como o legislador da nação em que é produzido o item e o legislador da nação em que o item é importado adotam e transformam em lei a diretiva das comissões internacionais.

Portanto, mantenha seus olhos bem abertos.

(Mesmo porque em várias nações é prescrito escrever as informações para cumprir os deveres da lei em uma etiqueta adesiva. Normalmente, é tão pouco quanto você realmente precisa manter os olhos abertos para ler e ler)


Referências adicionais


7

Quando um fabricante de unidades cria uma unidade com capacidade de 500 GB, ela possui uma capacidade de 500.000.000.000 bytes, e eles certamente anunciarão isso como tal. Os computadores, sendo dispositivos binários, preferem potências de dois, com um conjunto diferente de prefixos, e é isso que eles usam para medir o espaço de armazenamento:

1 kibibyte = 2 ^ 10, 1 mebibyte = 2 ^ 20, 1 gibibyte = 2 ^ 30, etc.

Por exemplo, tenho uma unidade de 300 GB conectada a esta máquina e o Windows exibe o seguinte para a capacidade:

Capacity:          300,082,855,936     279 GB

300.082.855.936 / 2 ^ 30 = ~ 279. Na verdade, o que ele mostra é o tamanho da unidade em bytes gibi , não em bytes giga . Então, ele deve ler:

Capacity:          300,082,855,936     279 Gi

Pode-se dizer que essa é uma falha no Windows, mas aparentemente não existe um padrão definitivo para os significados dos prefixos de capacidade de armazenamento. Muitas informações boas, incluindo uma seção sobre "Confusão do consumidor", neste artigo da Wikipedia .


4

Veja este artigo para uma explicação.

Basicamente, existem duas definições de "gigabyte". Uma definição é que 1 GB = 1024 3 bytes. Essa é a definição relatada pelo computador (por motivos técnicos).

A outra definição (das unidades SI) é a de 1 GB = 1000 3 bytes. É o mesmo que todas as outras unidades métricas (1 gigameter = 1000 3 metros).

Como a definição de métrica de um gigabyte é menor do que o computador considera um gigabyte, os fabricantes de discos rígidos usam a definição de métrica porque podem imprimir uma capacidade maior na caixa.

Uma pequena quantidade de espaço também é usada pelo próprio sistema de arquivos, mas a maior parte da capacidade ausente é da definição de um gigabyte.


4

Se você quiser ter certeza de quão grande é realmente, descubra qual tamanho de setor ele usa e o número total de setores. Multiplique esses dois números para obter o tamanho total em bytes. Este é o tamanho real! Em qualquer sistema operacional! Também é conhecido como capacidade do disco .

T = b x S

Where T is the total disk size in bytes,
b is the sector size in bytes,
and S is the total number of sectors.

Número de setores

Você encontrará frequentemente o número de setores impressos em uma etiqueta no próprio dispositivo. Caso contrário, consulte a folha de dados do seu modelo. Este é um documento que especifica todos os tipos de detalhes técnicos sobre o seu modelo. Em um mundo conectado à Internet, você encontrará isso no site do fabricante, em algum tipo de tabela em uma página da web ou como um arquivo que você pode baixar (geralmente PDF) para estudo e referência. Na velhice (antes de haver uma web), você pode ter recebido uma cópia impressa quando comprou a unidade de disco rígido.

Tamanhos do setor

Existem dois tipos de setores: físico e lógico. Geralmente, o tamanho do setor físico é de 512 bytes em um disco padrão. O tamanho do setor não está listado na etiqueta de uma unidade de disco rígido moderna. Para entender por que isso ocorre, você precisa entender a diferença entre os setores lógico e físico. Vou tentar explicar isso brevemente.

Disco LBA

As unidades de disco rígido modernas usam setores lógicos. Você verá isso conhecido como LBA (endereçamento de bloco lógico). De fato, ao procurar o número total de setores no rótulo, você verá o número de setores conhecido como LBA; portanto, será exibido algo como LBA: 123456789. Este é o seu número total de setores. Esses são os setores lógicos no disco e são gravados e lidos usando o método de endereçamento LBA. Esse método permite que o sistema operacional use uma formatação do sistema de arquivos (por exemplo, NTFS, FAT32) com uma unidade de alocação maior que o tamanho do setor físico.

wd maxtor

Unidade de alocação

A unidade de alocação é semelhante em conceito a um tamanho de setor , mas apresenta algum nível de flexibilidade, pois é possível alterar seu tamanho, sem alterar o tamanho do setor físico. Se você comprou e instalou e formatou mais de uma unidade de disco rígido em sua vida, sem dúvida se deparou com esse termo. Os tamanhos mais comuns de unidade de alocação para uma unidade de disco rígido formatada em NTFS atualmente são 4K, 8K e 16K. Eu digo "hoje" por causa dos tamanhos de disco que as unidades de disco rígido estão disponíveis atualmente.

Ou seja, qual tamanho de unidade de alocação é apropriado para uma unidade de disco rígido pode não ser apropriado para outra. Depende de quão grande é. Os menores são melhores com tamanhos de unidades de alocação menores e os maiores são melhores com tamanhos de unidades de alocação maiores. No entanto, isso não impede o uso de um grande tamanho de unidade de alocação em uma pequena unidade de disco rígido. Pelo contrário! Graças à natureza lógica da unidade de alocação, ela pode ser configurada durante o processo de formatação e ser maior que o setor físico. Em uma pequena unidade de disco rígido, uma grande unidade de alocação tende a dar um ligeiro aumento no desempenho, porém com a despesa de espaço em disco.

É por isso que a Microsoft mudou a terminologia, do tamanho do setor, para a unidade de alocação. Isso aconteceu várias versões do Windows de volta. Se bem me lembro, foi com uma das famílias 9x do Windows que eles começaram a usar esse termo.

A unidade de alocação é então convertida e mapeada internamente para um ou vários setores físicos no disco. Esta tarefa é realizada pelo controlador da unidade. O controlador é a placa PCB na parte traseira da unidade de disco rígido. Nas primeiras unidades de disco rígido ATA (agora conhecidas como Parallel ATA ou PATA), a placa controladora era conhecida como IDE (Integrated Drive Electronics). Historicamente, as unidades de disco rígido nem sempre tinham o controlador embutido nelas. Em vez disso, essa era uma interface separada.

O tamanho do setor físico mais comum em uma unidade de disco rígido endereçada por LBA é de 512 bytes. Mas desde o ano de 2010, muitas novas unidades de disco rígido agora são do tipo Formato Avançado . Isso significa simplesmente que ele usa tamanhos de setor maiores que 512 bytes. Atualmente, o maior tamanho do setor é 4K ou 4096 bytes.

O ponto principal é: o tamanho do setor físico em uma unidade de disco rígido moderna tem pouca ou nenhuma relevância para o usuário. Os tamanhos do setor físico são organizados em setores lógicos e unidades de alocação e abstraídos do usuário. Há ainda mais uma camada de abstração nos discos de formato avançado, porque esses discos podem emular setores de 512 bytes, mas usam 4096 setores físicos. Por esse motivo, o tamanho do setor geralmente não é impresso na etiqueta de uma unidade de disco rígido endereçada por LBA e, mais ainda, em discos de formato avançado. Mas eles têm tamanhos de setor físico, no entanto. Você encontrará esses detalhes na planilha de dados de cada modelo ou usando um software utilitário em um sistema em execução.

Disco CHS

Esse tipo de disco é anterior às unidades de disco endereçadas pelo LBA. Eles usam um método chamado CHS (Setor de Cabeças de Cilindro) para leitura e escrita. O usuário tem acesso direto aos setores físicos. Ao contrário do LBA, não há camada de abstração de setor. O tamanho do setor nesses discos é quase garantido em 512 bytes. Mas isso pode ser alterado pelo usuário.

Você já ouviu falar em "formatação de baixo nível"? É daí que o termo se origina. Como resultado do acesso direto a setores físicos, é possível alterar o tamanho do setor. Isso permite ao usuário formatar "baixo nível" o disco, o que significa reescrever os setores fisicamente no disco. Isso às vezes era útil quando havia um problema com o disco. Foi um meio de atualizar o disco. A formatação de baixo nível não é mais possível com as unidades de disco rígido modernas. Isso não deve ser confundido com a formatação do sistema de arquivos.

quantum ibm

Os discos CHS sempre tiveram o número de setores por faixa (SPT) impresso na etiqueta, entre outros detalhes. Se não houvesse menção ao tamanho do setor, era de 512 bytes. Os outros detalhes são o número de cilindros e o número de cabeças. Esses foram os três principais. Daí o nome Setor de Cabeças de Cilindro. Havia uma boa razão para isso também. Como nas unidades de disco rígido realmente antigas que usavam o endereçamento CHS, todos esses parâmetros precisavam ser definidos manualmente no programa de configuração do BIOS do sistema. Isso fez parte do processo de instalação! Portanto, essa foi uma informação importante para instalá-la corretamente. À medida que a plataforma do PC evoluía, incluindo aprimoramentos do BIOS, inovações na unidade de disco e na interface, era possível simplesmente conectar a unidade de disco rígido e o sistema a detectava e a configurava automaticamente.

Você deve ter notado que eu escrevi sobre esses discos no passado. Isso ocorre porque eles são obsoletos e não estão (quase) em lugar algum. Exceto talvez por museus técnicos.

Prefixando tamanhos de bytes

Alguns princípios básicos primeiro nas medições:

  • Um dígito binário (bit) é a menor unidade de medida em um computador binário. É 1 ou 0. (Ou ambos em um computador quântico).
  • Um bit é abreviado com uma letra minúscula b ou soletrado como bit .
  • A próxima unidade é um byte.
  • Um byte é abreviado com uma letra maiúscula B ou está escrito como byte ou byte .
  • Um byte tem exatamente 8 bits.
  • A próxima unidade é uma palavra e, geralmente, é apenas escrita como palavra .
  • O comprimento da palavra depende da arquitetura do processador. Geralmente é de 8 bits, 16 bits ou 32 bits ou 64 bits.
  • A próxima unidade depois disso é um múltiplo de uma palavra, como uma palavra dupla ou palavra quad.
  • Uma palavra dupla é abreviada como Dword ou Dw e uma palavra quad é abreviada como Qword ou Qw .

Essas são as medidas básicas, mas você não encontrará palavras a menos que seja um programador. Os tamanhos, partições e arquivos do disco estão usando bytes. Um byte é a medida mais prática para se trabalhar. Um setor em um disco é um bloco de bytes. Por convenção, geralmente são 512 bytes, que são múltiplos de 2.

2^0 = 1 byte
2^1 = 2 byte
2^2 = 4 byte
2^3 = 8 byte
2^4 = 16 byte
2^5 = 32 byte
2^6 = 64 byte
2^7 = 128 byte
2^8 = 256 byte
2^9 = 512 byte

Esses menores tamanhos de bytes podem ser facilmente expressos apenas com números. Mas o 20º múltiplo de 2 é 1048576 e o ​​30º múltiplo é 1073741824. Se isso representa bytes, podemos usar um prefixo para expressar o mesmo valor de maneira mais simples. É por isso que temos prefixos como kilo, mega e giga. Mas o problema é que esses são os prefixos SI (Système International) usados ​​no sistema de medição decimal métrico. Cada prefixo neste sistema representa um valor múltiplo de 10. Enquanto um computador binário usa uma base de 2 para medir informações.

unit 10^0 = 1
kilo 10^3 = 1000
mega 10^6 = 1000000
giga 10^9 = 1000000000

É por esse motivo que a IEC, um organismo internacional de padrões, introduziu o conceito de prefixos binários. Os nomes kilo, mega, giga, etc. foram modificados levemente neste sistema para refletir que devem ser usados ​​com medições binárias.

kibi 2^10 = 1024 = 1024^1
mebi 2^20 = 1048576 = 1024^2
gibi 2^30 = 1073741824 = 1024^3

Os nomes são concatenações de seus respectivos nomes no sistema SI e a palavra binário. Por exemplo, kibi, é formado a partir de ki lo e bi nário.

Se eu disser que um objeto tem uma massa de 5000 gramas, posso expressar esse valor com um prefixo de 5 kg (kg). Estou dividindo por mil para remover os zeros à direita. Como o valor do prefixo é conhecido, uma segunda pessoa não precisa me perguntar quantos gramas eu medi na primeira vez. Ele simplesmente inverte o processo, pegando minha anotação de 5 kG e multiplicando-a por mil para convertê-la em gramas. Quilo significa mil, então 5 x 1000 = 5000.

Os primeiros 30 setores em um disco são 15360 bytes, se cada setor tiver 512 bytes. Para expressar isso de maneira mais simples, eu poderia dividi-lo por 1000. O resultado é 15,36 kilobyte, ou 15,36 kB. Se eu arredondar para o número inteiro mais próximo, seriam 15 kB. Se outra pessoa visse esse número, ele assumiria que 15 kB era a medida exata e multiplicaria por 1000 para convertê-lo em bytes. Então isso seria 15000 bytes, o que não é certo, porque a medida original era 15360 bytes. Por outro lado, se eu dividisse 15360 bytes por 1024, obteria exatamente 15 KiB! Isso é kibibyte . Sem expansão decimal! Como diz "KiB" e não "KB", outra pessoa saberia multiplicar por 1024, e não 1000, para obter o valor original.

Da mesma forma, quando um fabricante imprime 8 GB em um dispositivo, eles usam prefixos decimais. Aqueles com valores zero à direita! Portanto, 8 GB não são 8 GiB (gibibyte) ou 8 x 2 ^ 30, mas 8 x 10 ^ 9 = 8 000 000 000 bytes. No entanto, o Windows está usando cálculos de tamanho binário (potências de 2) com o que parece ser prefixos decimais (ou seja, "GB"). Portanto, no Windows, esses 8.000.000.000 de bytes são divididos por 2 ^ 30 (ou 1024 ^ 3) para obter 7,450580597 "GB" (na realidade, GiB). Ele é arredondado para o centésimo mais próximo, e será exibido como 7,45 "GB" no Windows. Eu continuo citando "GB" porque a Microsoft deve usar GiB para esse significado, não GB. Isso apenas anúncios para um tópico já confuso.

Exemplos de trabalho

Agora, examinarei alguns exemplos, usando as informações de etiqueta das unidades de disco rígido nas figuras. Vamos dar uma olhada no disco de 500 GB primeiro.

Capacity: 500 GB
LBA: 976773168
976773168 x 512 = 500107862016 bytes
500107862016 / 1024^3 = 465.761741638 ≈ 466 GiB

Portanto, trata-se de 466 GiB ou 466 GB nos termos da Microsoft (e JEDEC). Observe que o número não foi mesmo após a divisão. Acredito que isso ocorre porque existem mais setores do que o usuário pode usar para armazenar dados. Alguns setores são protegidos e outros são usados ​​para re-mapear. Alguns setores se tornam ruins ao longo do tempo, então é quando os outros setores são usados ​​como reserva. A unidade de disco rígido marca e acompanha os setores defeituosos e para de usá-los.

Se você pegar apenas o número da capacidade e convertê-lo em GiB, será algo parecido com isto.

500 GB = 500 x 10^9 = 500000000000 byte
500000000000 byte = 500000000000 / 1024^3 = 465.661287308 ≈ GiB

Você pode ver que é um número um pouco menor, mas ainda arredonda para 466 GiB. Mas em bytes exatos, isso é mais próximo do quanto você pode realmente usar. Dessa forma, você não precisa saber o tamanho do setor. A capacidade exata ainda é calculada usando o número do LBA e o tamanho do setor. É isso que vou usar no restante dos exemplos.

Capacity: 320 GB
LBA: 632672208
632672208 x 512 = 323928170496 bytes
323928170496 / 1024^3 ≈ 302 GiB

Por fim, aqui está um dos discos CHS. A ideia básica é muito semelhante. O tamanho do setor é assumido como 512 bytes, se não for indicado de outra forma. Vou olhar para o disco Quantum. Você pode fazer a IBM você mesmo. O disco quântico não diz nada sobre sua capacidade.

C: 2484
H: 16
S: 63
2048 x 16 x 63 x 512 = 1056964608 bytes
1056964608 bytes = 1056964608 / 1024^2 = 1008 MiB
1056964608 bytes = 1056964608 / 1024^3 = 0.984375 ≈ 0.98 GiB

Ai está! Um enorme 0,98 GB! Perdão! Eu quis dizer 0,98 GiB! ;-)

Marketing

Existe algo chamado "setores garantidos". Você encontrará isso impresso na etiqueta de algumas unidades de disco rígido ou na folha de dados. Este é o resultado da disputa em andamento entre usuários / consumidores e os fornecedores de dispositivos de armazenamento. Essa confusão ainda está presente hoje, na era da computação em nuvem e em um mundo em que os discos de estado sólido se tornaram uma tecnologia convencional e estão gradualmente substituindo os antigos discos rígidos.

Eu diria que o marketing tem muito pouco a ver com isso. É puramente um problema de matemática, e não é um problema com a matemática em si, mas com as pessoas. É tudo apenas uma grande confusão que foi autorizada a continuar. No mínimo, a Microsoft deve indicar prefixos binários como KiB, MiB e GiB. O Windows ainda é o principal sistema operacional nos PCs atualmente.


3

Na verdade, eles geralmente são tão grandes quanto são anunciados, mas:

  1. Eles sempre (tanto quanto eu sei) usam 1000 em vez de 1024 ao fazer B em KB e assim por diante.
  2. Uma pequena quantidade de espaço é usada pelo sistema de arquivos para acompanhar tudo.

Pode haver outras razões também, mas essas são as principais que conheço.


3

Nos velhos tempos dos computadores, todo cálculo era caro (no sentido do desempenho). Os programadores usavam todos os tipos de atalhos para fazer o mínimo de cálculos possível. Um desses truques era armazenar a parte do ano de uma data como apenas dois dígitos, o que levou ao problema do y2k. Outro truque foi que eles definiram 1k (quilo) para não significar 1000, como todo mundo no mundo civilizado, mas para 1024. Isso lhes permitiu cortar alguns cantos ao fazer cálculos de tamanho. Esse hábito permaneceu e ainda está sendo usado hoje, embora os cálculos por computador tenham se tornado muito mais baratos.

O fabricante do hardware está fornecendo o tamanho adequado, onde K = 1000, M = 1000000 e G = 1000000000. É o software que fornece valores falsos.

Os fabricantes de software estão mudando seus hábitos hoje em dia. OSX, por exemplo, mostra o tamanho adequado.


É bom saber que eles estão começando a mudar.
09

6
Não creio que seja correto atribuir o poder de dois hábitos a cortar custos. Por exemplo, o limite de tamanho MBR HD de 2,2 TB (2 TiB) não está em 2,2 TB porque alguém hoje (ou no passado) reduziu custos, mas porque ainda hoje faz sentido usar o formato binário para endereços e 2 ^ 32 Os blocos de 512 bytes significam 2,2 * 10 ^ 12 bytes. (Isso também significa que é completamente inútil vender unidades flash em tamanhos que se parecem com potências de dois - 4 GB, 512 GB - porque o número real de bytes não está realmente próximo da potência de dois.)
arne.b

1
Eu acho que você tem o lado errado do manche ... O uso de unidades de magnitude SI permite que os fabricantes alcancem o que chamam de "2 GB" mais barato com menos hardware ... #
Basic


2
O disco rígido e a rede tendem a usar as unidades decimais e os valores relacionados à memória usam binário.
Paradroid 24/05

-1

Isso deve esclarecer outros comentários que acham que há um equivalente métrico e padrão ao se referir ao tamanho do disco rígido.

Não, não usamos exatamente o sistema métrico para dados. Eu pensaria nisso como "meta-métrica" ​​- unidades que estão "próximas a" unidades métricas reais.

Os prefixos métricos foram emprestados para expressar tamanhos de dados - quilo =, mega =, giga-, tera-, peta- etc.

No entanto, o SI não possui uma unidade para "bit" ou "byte".

E unidades menores, milli-, micro- e nano- também foram emprestadas, embora não aplicadas a dados, mas a “processadores”. ("Minicomputadores" eram computadores menores, em comparação com os quadros principais. "Microprocessadores" e "microcomputadores" eram muito menores que os minicomputadores. Em nenhum dos casos a taxa de 1000: 1 estava implícita.)

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.