quarta-feira, 8 de novembro de 2017

HDD/SSD ― A MEMÓRIA DE MASSA DO PC ― Parte 5

ESPERE O MELHOR, PREPARE-SE PARA O PIOR E VIRE-SE COM O QUE VIER.

Continuando de onde paramos na postagem da última quarta-feira: a FAT 16 opera com, no máximo, 2 GB ― para aplicá-la num drive de 5 GB, por exemplo, ocupar todo o espaço disponível exigiria criar duas partições de 2 GB e uma terceira de 1 GB, também por exemplo. Por conta disso, a Microsoft passou a utilizar a FAT 32 nas edições 95 (versão OSR 2) 98 e ME do Windows, e o (bem mais avançado) NTFS a partir das edições 2000 e XP. Mas vamos por partes.

A FAT trabalha com clusters, que, como vimos, são conjuntos de setores do disco rígido. Na FAT16, cada cluster pode armazenar 2 KB, 4 KB, 8 KB, 16 KB ou 32 KB. Note que esse tamanho é uniforme ― ou seja, não pode haver, na mesma unidade, clusters de tamanhos diferentes. Cada arquivo utiliza tantos clusters quantos forem necessários para contê-lo integralmente; um arquivo com 50 KB, por exemplo, pode ser gravado em 2 clusters de 32 KB cada, mas isso desperdiçaria 16 KB, pois a sobra não pode ser destinada a gravação de dados pertencentes a outro arquivo. Daí se conclui que o maior problema do sistema FAT, além da limitação a 2 GB, é o brutal desperdício de espaço.

Explicando melhor: FAT 16 usa 16 bits para endereçamento dos dados (daí o número 16 na sigla), o que, na prática, significa que ele pode trabalhar com, no máximo, 65536 clusters (216). Então, 65536 clusters de 32 KB cada resulta num espaço total de 2.097.152 KB, que corresponde a 2 GB (note que, quando maior for o cluster, maior será, consequentemente, o desperdício de espaço). Já a FAT 32 utiliza 32 bits no endereçamento de dados e suporta o uso de clusters menores (de 4 KB, p.ex.), reduzindo significativamente o desperdício de espaço.

O limite da FAT 32 é de 2 terabytes (TB). No entanto, se repetirmos o cálculo anterior considerando 32 em vez de 16 (232) e multiplicarmos o resultado pelo tamanho máximo do cluster (também 32), chegaremos a 128 TB. A questão é que, embora cada endereçamento tenha 32 bits, no número máximo de clusters, são considerados apenas 28 bits. Daí termos 228, que dá 268.435.456, ou seja, aproximadamente 268 milhões de clusters, que, multiplicados esse número por 32, resultam em 8 TB.

Ainda faltam 6 TB, mas isso se explica pelo fato de a Microsoft ter limitado a FAT 32 a 232 considerando o número máximo de setores, não de clusters. Como cada setor possui 512 bytes (ou 0,5 kilobyte), a conta a ser feita é 232 (4.294967296) multiplicado por 0,5, que dá 2.147.483.648 KB, ou seja, 2 TB ― de outra forma, poderia haver problemas com a inicialização do sistema operacional devido a limitações na área de boot. 

Observação: Volto a lembrar que setor e cluster são coisas distintas; o primeiro corresponde à menor unidade física do HDD, ao passo que o segundo, que é formado por um conjunto de setores, remete à menor unidade lógica que o SO é capaz de acessar para armazenar dados.

Por hoje está de bom tamanho, pessoal. Continuaremos no próximo capítulo, quando então falaremos formato de arquivos NTFS e (finalmente) da desfragmentação dos dados. Até lá.

Visite minhas comunidades na Rede .Link: