HD

No final das contas, a memória RAM funciona como uma mesa de trabalho, cujo conteúdo é descartado a cada boot. Temos em seguida o disco rígido, também chamado de hard disk (o termo em Inglês), HD ou até mesmo de “disco duro” pelos nossos primos lusitanos. Ele serve como unidade de armazenamento permanente, guardando dados e programas.

O HD armazena os dados em discos magnéticos que mantêm a gravação por vários anos. Os discos giram a uma grande velocidade e um conjunto de cabeças de leitura, instaladas em um braço móvel faz o trabalho de gravar ou acessar os dados em qualquer posição nos discos. Junto com o CD-ROM, o HD é um dos poucos componentes mecânicos ainda usados nos micros atuais e, justamente por isso, é o que normalmente dura menos tempo (em média de três a cinco anos de uso contínuo) e que inspira mais cuidados.


Mecanismo interno do HD

Na verdade, os discos magnéticos dos HDs são selados, pois a superfície magnética onde são armazenados os dados é extremamente fina e sensível. Qualquer grão de poeira que chegasse aos discos poderia causar danos à superfície, devido à enorme velocidade de rotação dos discos. Fotos em que o HD aparece aberto são apenas ilustrativas, no mundo real ele é apenas uma caixa fechada sem tanta graça.

Apesar disso, é importante notar que os HDs não são fechados hermeticamente, muito menos a vácuo, como muitos pensam. Um pequeno filtro permite que o ar entra e saia, fazendo com que a pressão interna seja sempre igual à do ambiente. O ar é essencial para o funcionamento do HD, já que ele é necessário para criar o “colchão de ar” que evita que as cabeças de leitura toquem os discos.

Tradicionalmente, o sistema operacional era sempre instalado no HD antes de poder ser usado. Enquanto está trabalhando, o sistema precisa freqüentemente modificar arquivos e configurações, o que seria impossível num CD-ROM, já que os dados gravados nele não podem ser alterados.

Isso mudou com o aparecimento do Knoppix, Kurumin e outras distribuições Linux que rodam diretamente do CD-ROM. Neste caso, um conjunto de modificações “enganam” o sistema, fazendo com que ele use a maior parte dos arquivos (os que não precisam ser alterados) a partir do CD-ROM, e o restante (os que realmente precisam ser alterados) a partir da memória RAM.

Isto tem algumas limitações: as configurações são perdidas ao desligar (a menos que você as salve em um pendrive ou em uma pasta do HD), pois tudo é armazenado na memória RAM, cujo conteúdo é sempre perdido ao desligar o micro.

Mas, voltando à função do HD, imagine que, como a memória RAM é cara, você compra sempre uma quantidade relativamente pequena, geralmente de 512 MB a 2 GB, de acordo com a aplicação a que o micro se destina e ao seu bolso. Por outro lado, você dificilmente vai encontrar um HD com menos que 80 ou 120 GB à venda. Ou seja, temos centenas de vezes mais espaço no HD do que na memória RAM.

Bem antigamente, nos anos 80, época dos primeiros PCs, você só podia rodar programas que coubessem na memória RAM disponível. Naquela época, a memória RAM era muito mais cara que hoje em dia, então o mais comum era usar 256 ou 512 KB (sim, kbytes, duas mil vezes menos que usamos hoje, tempos difíceis aqueles :). Os mais abonados tinham dinheiro para comprar um megabyte inteiro, mas nada além disso.

Se você quisesse rodar um programa com mais de 256 KB, tinha que comprar mais memória, não tinha conversa. Sem outra escolha, os programadores se esforçavam para deixar seus programas o mais compactos possíveis para que eles rodassem nos micros com menos memória.

Mais tarde, quando a Intel estava desenvolvendo o 386, foi criado o recurso de memória virtual, que permite simular a existência de mais memória RAM, utilizando espaço do HD. A memória virtual pode ser armazenada em um arquivo especialmente formatado no HD, ou em uma partição dedicada (como no caso do Linux) e a eficiência com que ela é usada varia bastante de acordo com o sistema operacional, mas ela permite que o sistema continue funcionando, mesmo com pouca memória disponível.

O problema é que o HD é muito mais lento que a memória RAM. Enquanto um simples módulo DDR2-533 (PC2-4200) comunica-se com o processador a uma velocidade teórica de 4200 megabytes por segundo, a velocidade de leitura sequencial dos HDs atuais (situação em que o HD é mais rápido) dificilmente ultrapassa a marca dos 100 MB/s.

Existe um comando no Linux que serve para mostrar de forma rápida o desempenho do HD, o “hdparm”. Quando o rodo no meu micro, que usa um HD SATA relativamente recente, ele diz o seguinte:

# hdparm -t /dev/sda
/dev/sda: Timing buffered disk reads: 184 MB in 3.02 seconds = 60.99 MB/sec

No Windows, você pode medir a taxa de leitura sequencial do HD usando o HD Tach, disponível no http://www.simplisoftware.com/. Não se surpreenda com o resultado. Como disse, o HD é muito lento se comparado à memória.

Para piorar as coisas, o tempo de acesso do HD (o tempo necessário para localizar a informação e iniciar a transferência) é absurdamente mais alto que o da memória RAM. Enquanto na memória falamos em tempos de acesso inferiores a 10 nanosegundos (milionésimos de segundo), a maioria dos HDs trabalha com tempos de acesso superiores a 10 milissegundos. Isso faz com que o desempenho do HD seja muito mais baixo ao ler pequenos arquivos espalhados pelo disco, como é o caso da memória virtual. Em muitas situações, o HD chega ao ponto de não ser capaz de atender a mais do que duas ou três centenas de requisições por segundo.

A fórmula é simples: quanto menos memória RAM, mais memória swap (memória virtual) é usada e mais lento o sistema fica. O processador, coitado, não pode fazer nada além de ficar esperando a boa vontade do HD em mandar à conta-gotas os dados de que ele precisa para trabalhar. Ou seja, quando você compra um micro com um processador de 3 GHz e 256 MB de RAM, você está literalmente jogando dinheiro no lixo, pois o processador vai ficar boa parte do tempo esperando pelo HD. Vender micros novos com 256, ou pior, com apenas 128 MB de RAM, é uma atrocidade que deveria ser classificada como crime contra a humanidade. 😉

Por outro lado, quando você tem instalado mais memória do que o sistema realmente precisa, é feito o inverso. Ao invés de copiar arquivos da memória para o HD, arquivos do HD, contendo os programas, arquivos e bibliotecas que já foram anteriormente abertos é que são copiados para a memória, fazendo com que o acesso a eles passe a ser instantâneo. Os programas e arquivos passam a ser abertos de forma gritantemente mais rápida, como se você tivesse um HD muito mais rápido do que realmente é.

Esse recurso é chamado de cache de disco e (sobretudo no Linux) é gerenciado de forma automática pelo sistema, usando a memória disponível. Naturalmente, o cache de disco é descartado imediatamente quando a memória precisa ser usada para outras coisas. Ele é apenas uma forma de aproveitar o excedente de memória, sem causar nenhum efeito desagradável.

Ironicamente, a forma mais eficiente de melhorar o desempenho do HD, na maioria das aplicações, é instalar mais memória, fazendo com que uma quantidade maior de arquivos possa ser armazenada no cache de disco. É por isso que servidores de arquivos, servidores proxy e servidores de banco de dados costumam usar muita memória RAM, em muitos casos 4 GB ou mais.

Uma outra forma de melhorar o desempenho do HD é usar RAID, onde dois ou quatro HDs passam a ser acessados como se fossem um só, multiplicando a velocidade de leitura e gravação. Esse tipo de RAID, usado para melhorar o desempenho, é chamado de RAID 0. Existe ainda o RAID 1, onde são usados dois HDs, mas o segundo é uma cópia exata do primeiro, que garante que os dados não sejam perdidos no caso de algum problema mecânico em qualquer um dos dois. O RAID tem se tornado um recurso relativamente popular, já que atualmente a maioria das placas-mãe já vêm com controladoras RAID onboard.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X