06 DISCOS RÍGIDOS

Parte 6: Discos Rígidos

O “Hard Disk”, “HD”, “Winchester”, ou simplesmente “Disco Rígido”, é um sistema de armazenamento de alta capacidade que, ao contrário da memória RAM, não perde seus dados quando desligamos o micro, sendo por isso destinado ao armazenamento de arquivos e programas.
Apesar de também ser uma mídia magnética, um HD é muito diferente de um disquete comum, sendo composto por vários discos empilhados que ficam dentro de uma caixa lacrada, pois, como os discos giram a uma velocidade muito alta, qualquer partícula de poeira entre os discos e a cabeça de leitura causaria uma colisão que poderia danificar gravemente o equipamento.
Sem dúvida, o disco rígido foi um dos componentes que mais evoluiu na história da computação. O primeiro disco rígido foi construído pela IBM em 1957, e era formado por nada menos que 50 discos de 24 polegadas de diâmetro, com uma capacidade total de 5 Megabytes, incrível para a época. Este primeiro disco rígido, foi chamado de "Winchester" termo muito usado ainda hoje para designar HDs de qualquer espécie. Ainda no início da década de 80, os discos rígidos eram muito caros e modelos de 10 Megabytes custavam quase 2.000 dólares, enquanto hoje compramos modelos de 30 Gigabytes por menos de 200 dólares.


Como Funciona um Disco Rígido

Dentro do disco rígido, os dados são gravados em discos magnéticos, chamados em Inglês de “Platters”. Estes discos internos são compostos de duas camadas.
A primeira é chamada de substrato, e nada mais é do que um disco metálico, geralmente feito de ligas de alumínio. A fim de permitir o armazenamento de dados, este disco é recoberto por uma segunda camada, agora de material magnético. Os discos são montados em um eixo que por sua vez gira graças a um motor especial.
Para ler e gravar dados no disco, usamos cabeças de leitura eletromagnéticas (heads em Inglês) que são presas a um braço móvel (arm), o que permite o seu acesso a todo o disco. Um dispositivo especial, chamado de atuador, ou “actuator” em Inglês, coordena o movimento das cabeças de leitura.

Como os Dados são Gravados e Lidos

Os discos magnéticos de um disco rígido são recobertos por uma camada magnética extremamente fina. Na verdade, quanto mais fina for a camada de gravação, maior será sua sensibilidade, e consequentemente maior será a densidade de gravação permitida por ela. Poderemos então armazenar mais dados num disco do mesmo tamanho, criando HDs de maior capacidade.

Os primeiros discos rígidos, assim como os discos usados no início da década de 80, utilizavam a mesma tecnologia de mídia magnética utilizada em disquetes, chamada “coated media”, que além de permitir uma baixa densidade de gravação, não é muito durável. Os discos atuais já utilizam mídia laminada (plated mídia); uma mídia mais densa, de qualidade muito superior, que permite a enorme capacidade de armazenamento dos discos modernos.
A cabeça de leitura e gravação de um disco rígido funciona como um eletroímã semelhante aos que estudamos nas aulas de ciências do primário, sendo composta de uma bobina de fios que envolvem um núcleo de ferro. A diferença é que num disco rígido, este eletroímã é extremamente pequeno e preciso, a ponto de ser capaz de gravar trilhas medindo menos de um centésimo de milímetro.
Quando estão sendo gravados dados no disco, a cabeça utiliza seu campo magnético para organizar as moléculas de óxido de ferro da superfície de gravação, fazendo com que os pólos positivos das moléculas fiquem alinhados com o pólo negativo da cabeça e, consequentemente, com que os pólos negativos das moléculas fiquem alinhados com o pólo positivo da cabeça. Usamos neste caso a velha lei “os opostos de atraem”.


Como a cabeça de leitura e gravação do HD é um eletroímã, sua polaridade pode ser alternada constantemente. Com o disco girando continuamente, variando a polaridade da cabeça de gravação, variamos também a direção dos pólos positivos e negativos das moléculas da superfície magnética. De acordo com a direção dos pólos, temos um bit 1 ou 0.
Para gravar as seqüências de bits 1 e 0 que formam os dados, a polaridade da cabeça magnética é mudada alguns milhões de vezes por segundo, sempre seguindo ciclos bem determinados. Cada bit é formado no disco por uma seqüência de várias moléculas. Quanto maior for a densidade do disco, menos moléculas serão usadas para armazenar cada bit e teremos um sinal magnético mais fraco. Precisamos então de uma cabeça magnética mais precisa.

Quando é preciso ler os dados gravados, a cabeça de leitura capta o campo magnético gerado pelas moléculas alinhadas. A variação entre os sinais magnéticos positivos e negativos gera uma pequena corrente elétrica que caminha através dos fios da bobina.

Quando o sinal chega na placa lógica do HD, ele é interpretado como uma seqüência de bits 1 e 0.
Vendo desta maneira, o processo de armazenamento de dados em discos magnéticos parece ser simples, e realmente era nos primeiros discos rígidos (como o “Winchester” da IBM), que eram construídos de maneira praticamente artesanal. Apesar de nos discos modernos terem sido incorporados vários aperfeiçoamentos, o processo básico continua sendo o mesmo.


Formatação

Para que o sistema operacional seja capaz de gravar e ler dados no disco rígido, é preciso que antes sejam criadas estruturas que permitam gravar os dados de maneira organizada, para que eles possam ser encontrados mais tarde. Este processo é chamado de formatação.
Existem dois tipos de formatação, chamados de formatação física e formatação lógica. A formatação física é feita apenas na fábrica ao final do processo de fabricação, e consiste em dividir o disco virgem em trilhas, setores e cilindros. Estas marcações funcionam como as faixas de uma estrada, permitindo à cabeça de leitura saber em que parte do disco está, e onde ela deve gravar dados. A formatação física é feita apenas uma vez, e não pode ser desfeita ou refeita através de software.
Porém, para que este disco possa ser reconhecido e utilizado pelo sistema operacional, é necessária uma nova formatação, chamada de formatação lógica. Ao contrário da formatação física, a formatação lógica não altera a estrutura física do disco rígido, e pode ser desfeita e refeita quantas vezes for preciso, através do comando FORMAT do DOS por exemplo. O processo de formatação, é quase automático, basta executar o programa formatador que é fornecido junto com o sistema operacional.
Quando um disco é formatado, ele simplesmente é organizado “do jeito” do sistema operacional, preparado para receber dados. A esta organização damos o nome de “sistema de arquivos”. Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas que permitem ao sistema operacional controlar o acesso ao disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos.
Os sistemas de arquivos, mais usados atualmente são a FAT16, compatível com o DOS e todas as versões do Windows, e a FAT32, compatível apenas com o Windows 98, Windows 2000 e Windows 95 OSR/2 (uma versão “debugada” do Windows 95, com algumas melhorias, vendida pela Microsoft apenas em conjunto com computadores novos) e, finalmente, o NTFS, suportado pelo Windows 2000 e Windows NT. Explicarei apenas estes três, pois são os sistemas utilizados pelo Windows, e consequentemente pela maioria dos usuários. Outros sistemas operacionais possuem seus próprios sistemas de arquivos o Linux usa o EXT2 enquanto o antigo OS/2 usa o HPFS.

FAT 16

Este é o sistema de arquivos utilizado pelo MS-DOS, incluindo o DOS 7.0, e pelo Windows 95, sendo compatível também com o Windows 98 e o Windows NT. Este sistema de arquivos adota 16 bits para o endereçamento de dados, permitindo um máximo de 65526 clusters, que não podem ser maiores que 32 KB. Esta é justamente a maior limitação da FAT 16: como só podemos ter 65 mil clusters com tamanho máximo de 32 KB cada, podemos criar partições de no máximo 2 Gigabytes utilizando este sistema de arquivos. Caso tenhamos um HD maior, será necessário dividi-lo em duas ou mais partições. O sistema operacional reconhece cada partição como um disco distinto: caso tenhamos duas partições por exemplo, a primeira aparecerá como C:\ e a segunda como D:\, exatamente como se tivéssemos dois discos rígidos instalados na máquina.
Um cluster é a menor unidade de alocação de arquivos reconhecida pelo sistema operacional, sendo que na FAT 16 podemos ter apenas 65 mil clusters por partição. Este limite existe devido a cada cluster ter um endereço único, através do qual é possível localizar onde determinado arquivo está armazenado. Um arquivo grande é gravado no disco fragmentado em vários clusters, mas um cluster não pode conter mais de um arquivo.
Em um disco de 2 Gigabytes formatado com FAT16, cada cluster possui 32 Kbytes. Digamos que vamos gravar neste disco 10.000 arquivos de texto, cada um com apenas 300 bytes. Como um cluster não pode conter mais do que um arquivo, cada arquivo iria ocupar um cluster inteiro, ou seja, 32 Kbytes! No total, estes 10.000 arquivos de 300 bytes cada, ocupariam ao invés de apenas 3 Megabytes, um total de 320 Megabytes no disco! Um enorme desperdício de espaço. É possível usar clusters menores usando a FAT16, porém, em partições pequenas:


Tamanho da Partição

Tamanho dos Clusters

Entre 1 e 2 GB

32 Kbytes

Menos que 1 GB

16 Kbytes

Menos que 512 Mb

8 Kbytes

Menos que 256 Mb

4 Kbytes

Menos que 128 Mb

2 Kbytes


Justamente devido ao tamanho dos clusters, não é recomendável usar a FAT16 para formatar partições com mais de 1 GB, caso contrário, com clusters de 32KB, o desperdício de espaço em disco será brutal.

FAT 32

Uma evolução natural da antiga FAT16, a FAT32, utiliza 28 bits para o endereçamento de cada cluster (apesar do nome sugerir 32 bits), permitindo clusters de apenas 4 KB, mesmo em partições maiores que 2 GB. O tamanho máximo de uma partição com FAT32 é de 2048 Gigabytes (2 Terabytes), o que a torna adequada para os discos de grande capacidade que temos atualmente.

Usando este sistema de arquivos, nossos 10.000 arquivos de texto ocupariam apenas 40 Megabytes, uma economia de espaço considerável. De fato, quando convertemos uma partição em FAT16 para FAT32, é normal conseguirmos de 15 a 30% de diminuição do espaço ocupado no Disco. O problema, é que o outros sistemas operacionais, incluindo o Linux, o OS/2 e o Windows 95 antigo, não são capazes de acessar partições formatadas com FAT32; somente o Windows 95 OSR/2, o Windows 98 e o Windows 2000 o são. O Windows NT 4.0 pode tornar-se compatível com a ajuda de programas desenvolvidos por terceiros, mas não o é nativamente.
Um outro problema é que devido à maior quantidade de clusters à serem gerenciados, a performance do HD deve cair um pouco, em torno de 3 ou 5%, algo imperceptível na prática de qualquer maneira. Ainda assim, caso o seu único sistema operacional seja o Windows 95 OSR/2 ou o Windows 98, é recomendável o uso da FAT32 devido ao suporte a discos de grande capacidade e economia de espaço.

NTFS

O NTFS é um sistema de arquivos de 32 bits usado pelo Windows NT. Nele, não usamos clusters, sendo os setores do disco rígido endereçados diretamente. A vantagem é que cada unidade de alocação possui apenas 512 bytes, sendo quase nenhum o desperdício de espaço em disco. Somente o Windows NT e o Windows 2000 são capazes de entender este formato de arquivos, e a opção de formatar o HD em NTFS é dada durante a instalação.
Apesar do Windows NT funcionar normalmente em partições formatadas com FAT16, é mais recomendável o uso do NTFS, pois além de não desperdiçarmos espaço com os clusters, e termos suporte a discos maiores que 2 Gigabytes, ele oferece também, vários recursos de gerenciamento de disco e de segurança, inexistentes na FAT16 ou FAT32. É possível, por exemplo, compactar isoladamente um determinado diretório do disco e existem várias cópias de segurança da FAT, tornando a possibilidade de perda de dados quase zero. Também existe o recurso de "Hot fix", onde setores danificados são marcados automaticamente, sem a necessidade do uso de utilitários como o Scandisk.
Apesar de também ser compatível com os sistemas Fat 16 e Fat 32 usados pelo Windows 98, o Windows 2000 usa o NTFS como seu sistema de arquivos nativo. O NTFS usado pelo Windows 2000 trouxe algumas melhorias sobre o NTFS do Windows NT, sendo por isso chamado de NTFS 5. Como o Windows 2000 foi construído com base no Windows NT 4, nada mais natural do que continuar usando o mesmo sistema de arquivos, porém, com alguns aperfeiçoamentos como o Suporte ao Active Directory, que pode ser usado em redes baseadas no Windows 2000 Server. Outro recurso enfatizado pela Microsoft é o Encripting File System, que permite criptografar os dados gravados no disco rígido, de modo que apenas o usuário possa acessá-los.
O Windows 2000 quando instalado, converte automaticamente unidades NTFS para NTFS 5, também oferecendo a opção de converter unidades FAT16 ou FAT32, sem perda de dados. As unidades NTFS 5 podem ser acessadas pelo Windows NT, com exceção dos diretórios criptografados. Alguns outros recursos nativos do NTFS 5 também não funcionarão, mas os dados poderão ser acessados sem problemas.
Do ponto de vista de um usuário doméstico, porém, o recurso mais interessante é a possibilidade de compactar pastas ou arquivos individualmente. É possível acessar as pastas compactadas normalmente através no Windows Explorer; o acesso aos dados será um pouco mais lento, mas, usando a partir de um Pentium II 300 provavelmente você nem sinta a diferença.

Para compactar um arquivo ou pasta basta clicar sobre ele com o botão direito do mouse, em seguida “propriedades” e “avançadas”. Basta agora marcar a opção de compactar arquivos para economizar espaço.


Estruturas Lógicas

A algumas páginas atrás, disse que a formatação lógica, consiste em gravar algumas estruturas no disco, vamos ver agora que estruturas são estas.


Setor de Boot

Quando o micro é ligado, o BIOS (um pequeno programa gravado em um chip na placa mãe, que tem a função de “dar a partida no micro”), tentará inicializar o sistema operacional. Independentemente de qual sistema de arquivos você esteja usando, o primeiro setor do disco rígido será reservado para armazenar informações sobre a localização do sistema operacional, que permitem ao BIOS “achá-lo” e iniciar seu carregamento.
No setor de boot é registrado qual sistema operacional está instalado, com qual sistema de arquivos o disco foi formatado e quais arquivos devem ser lidos para inicializar o micro. Um setor é a menor divisão física do disco, e possui sempre 512 bytes. Um cluster é a menor parte reconhecida pelo sistema operacional, e pode ser formado por vários setores.
Um único setor de 512 bytes pode parecer pouco, mas é suficiente para armazenar o registro de boot devido ao seu pequeno tamanho. O setor de boot também é conhecido como “trilha MBR”, “trilha 0”, etc.


FAT (File Alocation Table)

Depois que o disco rígido foi formatado e dividido em clusters, mais alguns setores são reservados para guardar a FAT (“file alocation table” ou “tabela de alocação de arquivos”). A função da FAT é servir como um índice, armazenando informações sobre cada cluster do disco. Através da FAT, o sistema operacional sabe se uma determinada área do disco está ocupada ou livre, e pode localizar qualquer arquivo armazenado.
Cada vez que um novo arquivo é gravado ou apagado, o sistema operacional altera a FAT, mantendo-a sempre atualizada. A FAT é tão importante, que além da tabela principal, é armazenada também uma cópia de segurança, que é usada sempre que a tabela principal é danificada de alguma maneira.
Uma curiosidade é que, quando formatamos um disco rígido usando o comando Format por exemplo, nenhum dado é apagado, apenas a FAT principal é substituída por uma tabela em branco. Até que sejam reescritos porém, todos os dados continuam lá, apenas inacessíveis.

Diretório Raiz

Se fossemos comparar um disco rígido com um livro, as páginas seriam os clusters, a FAT serviria como as legendas e numeração das páginas, enquanto o diretório raiz seria o índice, com o nome de cada capítulo e a página onde ele começa.
O diretório raiz ocupa mais alguns setores no disco, logo após os setores ocupados pela FAT. Cada arquivo ou diretório do disco rígido possui uma entrada no diretório raiz, com o nome do arquivo, a extensão, a data quando foi criado ou quando foi feita a última modificação, o tamanho em bytes e o número do cluster onde o arquivo começa.
Um arquivo pequeno pode ser armazenado em um único cluster, enquanto um arquivo grande é “quebrado” e armazenado ocupando vários clusters. Neste caso, haverá no final de cada cluster uma marcação indicando o próximo cluster ocupado pelo arquivo. No último cluster ocupado, temos um código que marca o fim do arquivo


Quando um arquivo é deletado, simplesmente é removida a sua entrada no diretório raiz, fazendo com que os clusters ocupados por ele pareçam vagos para o sistema operacional. Quando for preciso gravar novos dados, estes serão gravados por cima dos anteriores, como uma fita K7 que é regravada com outra música.


Recuperando Dados

Preste atenção nos próximos parágrafos, pois certamente eles “salvarão sua pele” algum dia. :-)
O modo através do qual os dados são gravados no disco rígido, permite que praticamente qualquer dado anteriormente apagado possa ser recuperado. Na verdade, quando apagamos um arquivo, seja através do DOS ou do Windows Explorer, é apagada apenas a referência a ele na FAT, a tabela gravada no início do disco rígido que armazena a localização de cada arquivo no disco.
Com o endereço anteriormente ocupado pelo arquivo marcado como vago na FAT, o sistema operacional considera vaga a parcela do disco ocupada por ele. Porém, nada é realmente apagado até que um novo dado seja gravado subscrevendo o anterior. É como regravar uma fita K-7: a música antiga continua lá até que outra seja gravada por cima.

O Norton Utilities possui um utilitário, chamado “Rescue Disk”, que permite armazenar uma cópia da FAT em disquetes. Caso seu HD seja acidentalmente formatado por um vírus, ou por qualquer outro motivo, você poderá restaurar a FAT com a ajuda destes discos, voltando a ter acesso a todos os dados como se nada tivesse acontecido. Mesmo que você não possua uma cópia da FAT, é possível recuperar dados usando um

outro utilitário do Norton Utilities, chamado Diskedit, que permite acessar diretamente os clusters do disco, e (com algum trabalho) recuperar dados importantes. O Diskedit não é uma ferramenta tão fácil de se utilizar, mas em compensação vem com um bom manual, principalmente a versão em Inglês.
Além do Norton, existem vários outros programas extremamente amigáveis especializados em recuperação de dados. A Ontrack tem o seu Easy Recovery (chamado de Tiramissu, em versões anteriores) com versões para Fat 16, Fat 32, NTFS, Novel Netware e discos Zip/Jaz. Estes programas são capazes de recuperar arquivos apagados, ou mesmo um HD inteiro vítima da ação de vírus, mesmo que qualquer vestígio da FAT tenha sido apagado. Ele faz isso baseando-se nas informações no final de cada cluster, e baseado em estatísticas. Realmente fazem um bom trabalho, recuperando praticamente qualquer arquivo que ainda não tenha sido reescrito. Estes não são exatamente programas baratos. A versão completa para Fat 32, por exemplo, custa 200 dólares, enquanto a versão Lite, que recupera apenas 50 arquivos, custa 49 dólares. Os programas podem ser encontrados e comprados online em http://www.ontrack.com
Na mesma categoria, temos também o Lost and Found da Power Quest. O modo de recuperação é bem parecido com o usado pelo Easy Recovery, e a eficiência também é semelhante, sua vantagem é ser bem mais barato, a versão completa custa apenas 70 dólares. O endereço do site da Power Quest é http://www.powerquest.com . Existe também uma versão em Português, com informações disponíveis em http://www.powerquest.com.br
Pessoalmente eu considero comprar um destes programas um excelente investimento, certas impressas especializadas cobram 400 reais ou mais para realizar o trabalho que pode ser feito em poucas horas com a ajuda de um deles. Entre os dois, prefiro o Lost and Found, que tem versão em Português e pode ser adquirido mais facilmente.

O Gigabyte de 1 Bilhão de Bytes

Nós, como seres humanos, estamos acostumados a pensar em valores segundo o padrão decimal, tendo muito mais facilidade em lidar com números múltiplos de 10. Um computador porém, trabalha com o sistema binário, por isso, um Kilobyte não corresponde a 1000 bytes, e sim a 1024 bytes, já que 1024 é a potência de 2 mais próxima de 1000.
Um Megabyte corresponde a 1.048.576 bytes e um Gigabyte corresponde a 1.073.741.824 bytes. O problema é que os fabricantes, a fim de engordar o tamanho de seus discos, costumam usar o sistema decimal para medir a capacidade dos discos. Assim, um HD vendido como um disco de 4,3 Gigabytes ao invés de ter 4.617.089.843 bytes, possui geralmente apenas 4,3 bilhões, que correspondem a pouco mais de 4 Gigabytes reais .
O usuário então, todo feliz com seu novo HD de 4,3 Gigabytes, percebe ao instalá-lo que sua capacidade é de apenas 4 Gigabytes e fica se perguntando quem “comeu” os outros 300 Megabytes do seu HD. Infelizmente esta prática tem sido usada por praticamente todos os fabricantes, que geralmente têm a “cara de pau” de escrever no manual do disco rígido, ou mesmo no próprio, uma mensagem como “O fabricante se reserva o direito de considerar 1 Gigabyte como 1.000.000.000 de bytes”.

Nenhum comentário: