Mergulhando no sistema de arquivos HFS+
Eduardo Marques e Thiago Christofoletti são dois curiosos como vários de nós nesse mundo informatizado. Todos que já andaram formatando discos por aí afora, alguma vez se depararam com termos como Mac OS Extended, Journaled, HFS, Unix File System etc. Cada termo desses descreve uma complexa estrutura que rege nossos computadores, que recebe o nome de Sistema de Arquivos.
Quando eles lançaram o desafio de escrever sobre isso, resolvi pesquisar um pouco mais a fundo pela Internet — fugindo de artigos de Wikipedia — para tentar não deixar dúvidas ou lacunas na informação que vocês estão prestes a absorver. Ao longo de anos dissecando computadores, sempre temos como explicar “mais ou menos” qual é o conceito de cada formato. Contudo, é bastante difícil saber precisamente como atuam e para que servem essas siglas, ao serem aplicadas aos nossos hard-disks e outros tipos de mídia. Preparados para a pílula vermelha?
OK, também não é para tanto. Mas se para ler este artigo, que já tem um bom tamanho, há que ter bastante paciência e concentração, imaginem buscar todas as informações disponíveis sobre sistemas de arquivos e filtrá-las! Não pode faltar força de vontade para ler tudo. Basicamente este texto trata de um formato em especial comparado com alguns outros: o HFS+ (Hierarchical File System plus, ou sistema de arquivos hierárquico estendido). Ele é a atualização do HFS, apresentado em 1985 pela Apple e usado por anos em seus sistemas operacionais.
O HFS+ também é conhecido como sistema de arquivos Mac OS X Extended, e supera o formato HFS em vários quesitos: pode trabalhar com endereços de bloco de arquivos de até 32bits, contra 16bits do sistema anterior; aceita nomes de arquivos com até 255 caracteres, em vez de apenas 31; tem formato de nome de arquivo Unicode, em vez do já antiquado MacRoman; e entre outros, o que mais gosto, que é a possibilidade de lidar com arquivos de até 8EB (Exabytes)! Para se ter uma idéia, um Exabyte dá mil Petabytes, um milhão de Terabytes, ou um bilhão de Gigabytes. Acredito que os editores de vídeo não teriam problemas para gravar seus clipes com esse formato…
Apesar disso, existe uma pequena diferença entre “poder” e “ser”. O formato NTFS que existe nos Windows NT, XP, 2003 e Vista, por exemplo, alcança o dobro esse valor como máximo tamanho de um único arquivo. Por outro lado, a implementação real só permite um limite de quase 16TB, ou aproximadamente 16.000GB. Isso dá um banho de água do Oceano Ártico nos antigos FAT16 e HFS. O limite de tamanho de arquivos para estes é de 2GB.
Podemos ver em que formato se encontra qualquer disco conectado a um Mac através do atalho de teclas Command-I sobre o mesmo. No caso do nosso querido sistema X, a opção de formato HFS+ já existe há algum tempo, então é provável que apareça a designação Mac OS X Extended no local onde indica o respectivo formato.
Além disso, ainda há outros termos. Por exemplo, quando vamos formatar um disco com o Disk Utility, vemos as seguintes opções:
- Mac OS Extended (Journaled): de acordo com a Apple, o formato journaled foi apresentado no OS X 10.2.2 Server, e sua função é aumentar a segurança quanto ao armazenamento de dados, no que diz respeito a evitar falhas de integridade em casos extremos. Um disco com essa característica mantém registro de todas as suas atividades, e em caso de instabilidade ou travamento do sistema, esse registro — um journal, que pode ser entendido como “relatório” — é usado para restaurar o estado do sistema ao que tenha sido gravado, depois do reinicio do sistema. Conceito muito parecido ao rollback em Banco de Dados.
- Mac OS Extended: é possível ter um disco HFS+ sem a opção de journaling. Também se pode desabilitar essa função, através de comandos via Terminal, para quem precise ganhar desempenho em computadores mais lentos. O risco de perda de dados aqui é maior que na opção anterior.
- Mac OS Extended (Case-sensitive, Journaled): combinação da primeira opção, respeitando as diferenças entre maiúsculas e minúsculas. Algo parecido com o que acontece no UNIX.
- Mac OS Extended (Case-sensitive): igual ao anterior, só que sem journaling.
- MS-DOS (FAT): seria o FAT32, da Microsoft. Formatar um disco com essa especificação garante compatibilidade integral entre quaisquer sistemas operacionais, porém há a limitação de tamanho de arquivos a 4GB, o que pode ser um problema para editores de vídeo e outras pessoas que trabalhem com arquivos de tamanho grande. Também um problema para quem lida com imagens de DVD-DL, já que o dual-layer consiste exatamente em levar o tamanho de um DVD normal a quase 8,5GB.
Tirando a opção MS-DOS (FAT), todas as outras são algum tipo de HFS+, e ainda havia uma opção UFS (UNIX File System), para quem quisesse, por alguma razão, usar o formato do sistema UNIX. O journaling é sempre aconselhado, por aumentar a segurança na manipulação de dados, e diminuir o risco de perdas em caso de que o computador pare de funcionar, trave ou fique sem energia elétrica, por falta de luz, por exemplo.
Hoje em dia, para quem precise trabalhar com arquivos muito grandes, eu recomendaria o uso do formato HFS+ Journaled para qualquer disco, mesmo que ele seja utilizado depois em computadores com Windows. Existe um programa muito bom da MediaFour, chamado MacDrive, que é pago, mas pela função que tem, até sai barato. Permite ver e trabalhar com qualquer disco, dentro do Windows, com formatos HFS e HFS+, em todas as variações. Isso garante a possibilidade de abrir arquivos maiores que 4GB de tamanho nos sistemas operacionais da Microsoft e da Apple, sem qualquer problema.
Há que lembrar sempre que, de modo nativo, o Mac OS X não consegue permitir acesso completo a arquivos em discos com formato NTFS, usado nos Windows 2000, XP e Vista. Creio que também há soluções para isso, apesar de que eu não conheço nenhuma de fácil uso e que funcione de modo parecido ao MacDrive. Talvez algum dia HFS+ e NTFS se comuniquem, como já acontece com o formato da Apple e o FAT32.




Boa Jesus :D
Um complemento ao artigo. Não é sobre HFS+, mas explica porque existe fragmentação.
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7349&pagina=4
Tarda, mas não falha, hein, Fernando? ;)
Há muito tempo que eu queria saber a diferença entre os modos de formatação disponíveis no Mac OS X, mas tava foda ler artigos técnicos de 20 páginas em inglês sobre isso. Valeu mesmo!
Muito bom! Mais explicado impossível! :-D
Parabéns pelo tópico. muito legal!
Uso aqui para ter acesso de r\w na minhas partições ntfs o *Paragon NTFS , bem simples apenas instalar e pronto.
fica ai a dica.
Até
* http://www.paragon-software.com/home/ntfs-mac/
PUTZ DANIEL, que achado!!!! Se isso funciona mesmo, é uma mão na roda! E considerando os preços dos discos externos de grande capacidade, 30 dolares é um detalhe.
Obrigado pela recomendação, tentarei testá-lo em breve!
Mas no final das contas fiquei com uma dúvida, o HD dos Mac´s já saem de fábrica com qual formatação? Mac OS Extended (Journaled, sem Journaled, Case-sensitive – Journaled ou só Case Sensitive)? e no caso eu pretendo instalar um hd externo em meu mini, qual seria a formatação ideal? muito bom este post, estava querendo perguntar isto no fórum faz um tempinho… :)
Mac OS Extended (journaled) sem ser case sensitive.
PS: com a dobradinha macfuse e ntfs-3g dá pra escrever em ntfs tranquilamente. Na internet há vários guias de instalação…
Legal um post técnico de vez em quando.
Eu uso alguns hds NTFS por causa do windows vista que tenho aqui usando NTFS-3G junto do MacFuse.
http://www.ntfs-3g.org/
Minha biblioteca do iTunes funciona tanto no windows quanto no OS X, sem ter que mudar nada quando dou boot no outro sistema.
Esqueci de dizer que com o NTFS-3G se tem acesso total ao HD formatado em NTFS.
Mas existe um contra, o acesso aos dados ainda não está muito otimizado. Para quem tranbalha com arquivos muito grandes pode ser uma tortura a diminuição da velocidade.
@André Sugai: olha, que eu saiba, eles sempre saem de fábrica como Mac OS X Extended Journaled, ou seja, HFS+ Journaled. E as instalações padrão também, deixam o disco nesse formato. E sem ser case sensitive.
Exatamente como o Filipe disse.
Aliás, Filipe… o negócio de usar MacFuse com outro programa, e ter que seguir um tutorial para instalar, é exatamente o que eu queria evitar. Tipo, quando vc instala um MacDrive no Windows, é só instalar e pronto, já funciona. Não precisa “saber instalar”. Se o outro programa da Paragon for assim, creio que é uma vantagem.
Obrigado a todos pelo feedback.
Fernando, valeu pelo post! Tirou todas as minhas dúvidas sobre estes sistemas de arquivos ;)
Infelizmente o HFS+ é um sistema de arquivos horrivel se comparado a qualidade do resto do sistema. Ele é muito problematico, seria legal se a Apple suportasse outros sistemas nativamente. Eu mesmo ja tive diversos, e volta e meia acontece denovo, de meu filesystem ficar bugado. De tempos em tempos abram o Disk Utility e mandem dar uma verificada.
Mais info: http://www.engadget.com/2008/02/05/linus-torvalds-calls-apples-file-system-utter-crap/
Eu também concordo com o relato acima. Também já tive algumas instalações perdidas por corrupção quando "desligamentos incorretos"… Haaa se não fosse meu backup!!!
Hoje conseguí um pouco mais de estabilidade desligando o Journaled…
Fernando, mesmo tendo um ano aproximadamente que você escreveu esse artigo, vou lhe falar: Caso você queira ter acesso a leitura e escrita no mac em partições NTFS, basta instalar dois programas; macFUSE e NTFS 3G. todos dois são gratuítos e desenvolvidos por usuários de Linux. Sei que o NTFS 3G é mantido pela google.
Eu tenho um pc com Mac e Windows e compartilho hds formatados tanto NTFS como HFS+.
Espero ter ajudado. Abraços
[...] fazer um entender o sistema de arquivos do outro. Uma possibilidade é fazer o Windows ter suporte a HFS+; a outra é fazer o Mac OS X ter suporte ao NTFS. O problema é que você não conseguirá usar o [...]