Sistemas de Arquivos FAT FAT32 NTFS EXT3. Formatação do disco - PDF Download grátis
Download "Sistemas de Arquivos FAT FAT32 NTFS EXT3. Formatação do disco"
Vagner de Barros de Andrade
1 Formatação do disco 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. Prof. Luiz Fernando Laguardia Campos 1
2 Sistemas de arquivos FAT e FAT32 Introdução Muitos usuários de Windows já ouviram falar em partições FAT ou FAT32 sem saber ao certo o que isso significa. Essas são siglas de sistemas de arquivos para o Windows. Para este mesmo sistema operacional, há também o sistema de arquivos NTFS, a ser visto em outro artigo. Veja neste artigo o que é um sistema de arquivos e conheça os tipos FAT e FAT 32. O que é um sistema de arquivos Não é possível gravar dados num HD ou num disquete sem um sistema de arquivos, que é, basicamente, uma estrutura que indica como os arquivos devem ser gravados e guardados em mídias. Através do sistema de arquivos, é que se determina o espaço utilizado no disco, além de ser o método que permite gerenciar como partes de um arquivo podem ficar "espalhadas" no dispositivo de armazenamento. Um outro detalhe importante: é o sistema de arquivos que determina como arquivos podem ser gravados, copiados, alterados, nomeados e até apagados. Ou seja, resumindo, toda e qualquer manipulação de dados numa mídia necessita de um sistema de arquivos para que essas ações sejam possíveis. Se não houver estrutura de armazenamento e manipulação é impossível gravar dados. O sistema de arquivos FAT FAT é a sigla para File Allocation Table (ou tabela de alocação de arquivos). O primeiro FAT surgiu em 1977, para funcionar com a primeira versão do DOS. Trata-se de um sistema que funciona através de uma espécie de tabela que contém indicações para onde estão as informações de cada arquivo. Quando um arquivo é salvo num disquete por exemplo, o FAT divide a área do disco em pequenos blocos. Assim, um arquivo pode (e ocupa) vários blocos, mas eles não precisam estar numa seqüência. Os blocos de determinados arquivos podem estar em várias posições diferentes. Daí a necessidade de uma tabela para indicar cada bloco. Prof. Luiz Fernando Laguardia Campos 2
3 Com o surgimento de dispositivos de armazenamento com mais capacidade e mais sofisticados, o sistema FAT foi ganhando alterações (identificadas pelos nomes FAT12 e FAT16). Isso foi necessário porque o FAT era limitado a determinada capacidade de armazenamento. Por exemplo, ele só operava com tamanho máximo de 2 GB. Assim, num disco de 5 GB, seria necessário dividi-lo em 3 partições. Fora o fato de que o FAT apresentava problemas com informações acima de 512 MB. Diante de tantos problemas, em 1996, a Microsoft lançou um novo FAT: o FAT32, que é compatível com os Windows 9x/Me/2000 e XP (apesar destes dois últimos terem um sistema de arquivos mais avançado, o NTFS). Funcionamento do sistema FAT Ao trabalharmos com HDs (e disquetes) é necessário preparálos, fazendo uma formatação física. Este processo, divide os discos em trilhas (uma espécie de caminho circular) e setores (subdivisões de cada trilha, com geralmente 512 bytes). Um conjunto de trilhas recebe o nome de cilindro. A formatação física já vem de fábrica e pode ser alterada se o usuário quiser dividir o disco em partições. Depois deve-se fazer uma formatação lógica, que nada mais é do que "instalar" o sistema de arquivos no dispositivo de armazenamento. O sistema de arquivos FAT não trabalha diretamente com cada setor, mas sim com um grupo de setores. Esse grupo é chamado de cluster (ou unidade de alocação). Se por exemplo, um disco com setor de 512 bytes, tiver 5 KB de tamanho, ele terá 10 setores e 5 clusters, se cada cluster ocupar dois setores. Sendo assim, quando o FAT precisar acessar um determinado setor, primeiro ele descobre em qual cluster ele se encontra. É válido citar que tanto o FAT quanto o FAT32 trabalham de acordo com este princípio. Tamanho de cluster O sistema FAT exige que cada cluster do disco seja usado somente para um único arquivo, ou seja, num mesmo cluster, não pode haver informações sobre mais de um arquivo. Isso pode até Prof. Luiz Fernando Laguardia Campos 3
4 parecer óbvio, mas gera um problema: desperdício. Para mostrar isso, vamos supor que desejamos guardar num disquete um arquivo de 5 KB. Imaginemos que este disquete tenha 8 KB de espaço e dois clusters de 4 KB. Um cluster ocuparia 4 KB do arquivo, enquanto o outro cluster ocuparia apenas 1 KB. Como o cluster só pode trabalhar com um arquivo, haveria desperdício de 3 KB. Vamos imaginar agora que em vez de termos clusters com 4 KB, teremos clusters com 2 KB. Assim, 3 cluster seriam usados, sendo que um ainda apresentaria desperdício de 1 KB. No entanto, sobrou um cluster com 2 KB, que pode ser usado por outro arquivo. Percebe-se com isso que o tamanho do cluster deve ser o máximo que o FAT consegue manipular. Aliás, a principal diferença entre FAT e FAT 32, é que este último consegue trabalhar com um número maior de clusters. Diferenças entre FAT e FAT32 O sistema FAT (ou FAT16) consegue trabalhar com clusters. Esse número é obtido elevando o número 2 a 16 (daí a terminologia FAT16). Mas, na verdade, o sistema FAT16 usa apenas clusters por disco (ou partição). É importante frisar que o tamanho do cluster deve obedecer também uma potência de 2: 2 KB, 4 KB, 8 KB, 16 KB e 32 KB, ou seja, não é possível ter cluster de 5 KB, 7 KB, etc. O tamanho dos clusters no sistema FAT também é uma potência de 2. O limite máximo de tamanho para uma partição em FAT16 é de 2 GB (correspondente a 2 elevado a 16). Já no caso do sistema de arquivos FAT32 (seu nome se deve ao mesmo motivo que no FAT32), o tamanho dos clusters é determinado através da relação entre os comandos FDISK e FORMAT, apesar de que é possível determinar o tamanho do cluster do FAT32 também por programas de terceiros, com o Partition Magic (não é possível ter clusters de diferentes tamanhos). O tamanho máximo da partição em FAT32 é de 2 TB. Mas se você fizer a contas notará que 2 elevado a 32 é equivalente a 128 TB. Então porque o FAT32 usa somente 2 TB? Pode parecer confuso, mas o número máximo de clusters no caso do Prof. Luiz Fernando Laguardia Campos 4
5 FAT32 não é de 2 elevado a 32. Apesar de seu endereçamento ser de 32 bits, na verdade são usados apenas 28 bits. Com isso, a quantidade máxima de clusters seria 2 elevado a 28, que corresponde a 8 TB. Não está errado, é 8 TB mesmo! Então, qual a razão do FAT32 ter tamanho máximo de espaço de 2 TB? Segundo a Microsoft, o número máximo de setores (setores, não clusters!) que um disco pode ter é de 2 elevado a 32. Como cada setor tem 512 bytes, o tamanho máximo de um disco no FAT32 acaba sendo de 2 TB. As diferenças entre FAT (ou FAT16) e FAT32 não param por aí. O FAT32 também é mais confiável, além disso este sistema também consegue posicionar o diretório principal em qualquer lugar do disco. Fora o fato de que no sistema FAT, havia uma limitação no número de entradas que podiam ser alocadas no diretório principal (512 arquivos e/ou pastas). Não há essa limitação no FAT32. Algo curioso de ser citado, é que o FAT32 pode mudar o tamanho da partição sem perder dados. Apesar desta capacidade, a Microsoft, por alguma razão misteriosa, não implementou esta característica no FAT 32. Hoje em dia, programas particionadores, como o Partition Magic ou então particionadores de disco de distribuições Linux, conseguem redimensionar uma partição FAT32 "inserido" este poder ao sistema de arquivos. Mais sobre FAT32 O sistema FAT32 precisa de alterações para trabalhar perfeitamente com discos (ou partições) maiores que 8,4 GB de tamanho. Discos que possuam esse limite de tamanho usam a forma de endereçamento CHS (Cylinder-Head-Sector), onde cada setor do disco é unicamente endereçado usando-se o Cilindro (Cylinder), a cabeça de leitura (Head) e o setor (Sector) da trilha definida pelo cilindro e cabeça anteriores. Para contornar isso, foi criado o método LBA (Logical Block Addressing) onde cada setor do disco é endereçado através de um número único fornecido pelo BIOS. Com o LBA é possível trabalhar com discos de dezenas de GB. Prof. Luiz Fernando Laguardia Campos 5
6 O Windows consegue trabalhar com discos reconhecidos por LBA. No entanto, pode haver problemas quando o HD (ou a partição) possui mais de 1024 cilindros. Para contornar isso, foi criado o sistema FAT32X, onde a tabela de alocação de arquivos é deslocada para o fim do disco. Essa técnica evita o problema porque com mais de 1024 cilindros, a FAT não consegue armazenar todas as informações sobre o disco. Jogando-a para o final do disco, a limitação é burlada, já que a mantendo no início do disco, por uma série de razões, não é possível aumentar o tamanho da tabela. Manipulando o sistema stema FAT32 É possível manipular o tamanho dos clusters de uma partição FAT32, no intuito de melhorar o desempenho do mesmo. No entanto, não responsabilizo por qualquer dano que isso venha causar em seu computador. O faça por sua conta e risco. Sabe-se que quanto menor um cluster, menor o desperdício. No entanto, isso aumenta a quantidade de clusters, e quanto mais clusters existir, mais demorado será o uso do sistema de arquivos. Portanto, usar tamanho de clusters com 8 KB, pode ser uma boa idéia, já que esse valor consegue gerar um equilíbrio. No entanto, deve-se considerar vários outros aspectos técnicos para se definir o tamanho do cluster. Isso deixa claro que esta operação é voltada a usuários experientes. Para definir o tamanho do cluster, pode-se usar programas de terceiros ou usar um recurso não documentado pela Microsoft do comando FORMAT. Para deixar o tamanho do cluster com 8 KB, digite no DOS: FORMAT C: /Z:16 O número 16 é usado porque 16 x 512 bytes = 8 KB. Se em vez de 16, fosse usado 32, o cluster teria 16 KB (32 x 512 bytes = 16 KB). O que é VFAT VFAT é a sigla para Virtual File Allocation Table. Trata-se de um sistema introduzido no Windows 95. Ele possui as mesmas características do sistema FAT, mas pode suportar nome de arquivos Prof. Luiz Fernando Laguardia Campos 6
7 longos. O sistema de arquivos FAT só trabalha com nomes no estilo 8.3 (8 caracteres para o nome e 3 para a extensão, como "palavras.txt").com o VFAT, é possível ter nomes de arquivos com até 256 caracteres mais 3 para a extensão. O sistema FAT32 herdou todas as características do VFAT. Sistemas de arquivos NTFS Introdução NTFS é a sigla para New Technology File System. Desde a época do DOS, a Microsoft vinha utilizando o sistema de arquivos FAT, que foi sofrendo variações ao longo do tempo, de acordo com o lançamento de seus sistemas operacionais. No entanto, o FAT apresenta algumas limitações, principalmente no quesito segurança. Por causa disso, a Microsoft lançou o sistema de arquivos NTFS, usado inicialmente em versões do Windows para servidores. Nas próximas linhas, você saberá a respeito do funcionamento do NTFS e conhecerá sua história. Como o NTFS surgiu O sistema de arquivos FAT é aceitável e perfeitamente funcional para a maioria dos usuários domésticos. Trata-se um sistema antigo, que mesmo com novas versões, herdou a simplicidade da primeira versão. As limitações do FAT, principalmente quanto à segurança, capacidade e confiança, fizeram do FAT um sistema de arquivos inadequado para uso em servidores e aplicações críticas. A Microsoft, estando ciente disso, decidiu desenvolver um sistema de arquivos que se adequasse aos princípios de funcionamento do Windows NT e lançou o New Technology File System, conhecido pela sigla NTFS. Entre os objetivos da idealização do NTFS estavam o fornecimento de um sistema de arquivos flexível, adaptável, altamente seguro e confiável. Sem dúvida, tais características fizeram do Windows NT um sistema operacional aceitável para as aplicações cujo seu desenvolvimento foi planejado. Prof. Luiz Fernando Laguardia Campos 7
8 A idéia de lançar o Windows NT surgiu em 1990, quando a Microsoft sentiu a necessidade de ter um sistema operacional com as qualidades citadas acima e com funcionalidades típicas de servidor. Nesta época, a Microsoft não tinha nenhum sistema que pudesse se equiparar ao poderoso Unix (tinha somente o MS-DOS e o Windows 3.x). Decidida a ter uma fatia do mercado que pertencia ao Unix, a Microsoft deu início ao desenvolvimento do Windows NT. Esta sigla - NT - significa New Technology. A Microsoft logo percebeu que este novo Windows não teria sucesso se utilizasse o FAT, pelas razões já citadas. Era preciso criar um sistema de arquivos novo. O NTFS foi desenvolvido e muitos até hoje pensam que ele é um sistema de arquivos inteiramente desenvolvido pela Microsoft, o que não é verdade. Seu projeto foi baseado nas análises das necessidades do novo sistema operacional, mas seus conceitos funcionais foram "herdados" do sistema de arquivos HPFS (High Performance File System). Um sistema operacional muito conhecido nesta época era o OS/2, um projeto realizado em conjunto entre a Microsoft e a IBM. Ambas as empresas estavam tentando criar um sistema operacional de grande sucesso, cujo apelo principal seria a capacidade gráfica (lembre-se que naquela época, era muito maior o uso de sistemas operacionais baseados em linha de comando, como o DOS). O OS/2 de fato continha inovações tecnológicas, mas esbarrava nos quesitos suporte e marketing. Fora isso, a IBM e a Microsoft começaram a se desentender e a empresa de Bill Gates decidiu abandonar o projeto e se dedicar ao desenvolvimento do Windows NT. No entanto, a Microsoft acabou levando consigo muitos conceitos funcionais do sistema de arquivos do OS/2, o HPFS. É claro que tais conceitos foram essenciais para a criação do NTFS, o que fez com muitos pensassem que a Microsoft passou um golpe na IBM. Características do NTFS Prof. Luiz Fernando Laguardia Campos 8
9 O NTFS possui características importantes, que o fez ser considerado um bom sistema de arquivos. Entre essas qualidades estão: confiança, pois permite que o sistema operacional se recupere de problemas sem perder informações, fazendo-o ser tolerante a falhas; segurança, onde é possível ter um controle de acesso preciso e ter aplicações que rodem em rede, fazendo com que seja possível o gerenciamento de usuários, incluindo suas permissões de acesso e escrita de dados; armazenamento, onde é possível trabalhar com uma grande quantidade de dados, permitindo inclusive o uso de vetores RAID; rede, fazendo do sistema plenamente funcional para o trabalho e o fluxo de dados em rede. Há muitas outras características, que ficam mais ainda visíveis se comparadas ao FAT. A Microsoft vem trabalhando bastante para aperfeiçoar o NTFS, por isso, é de se esperar que novas características sejam implementadas no sistema de arquivos, de acordo com o lançamento de novas versões do Windows. Funcionamento do NTFS O NTFS trabalha de uma forma mais eficiente no gerenciamento do espaço de disco. Isso porque as informações são armazenadas em uma base por setor do disco, em vez de utilizar clusters de múltiplos setores. Essa forma de trabalho, traz várias vantagens, como menor necessidade de desfragmentação de disco e maior consistência de dados. Isso porque essa arquitetura de dados por base em setor permite manter os dados próximos, ou seja, não espalhados pelo disco. Até o gerenciamento de grandes quantidades de dados é beneficiado por esta característica, já que como acontecia com o FAT, trabalhar com clusters por setor, fazia do sistema de arquivos dependente de um número pré-determinado de setores Sistema de arquivos ext3 Introdução Prof. Luiz Fernando Laguardia Campos 9
10 Usuários experientes de Linux sabem que o sistema possui excelente performance no gerenciamento de dados, tanto no que diz respeito ao armazenamento, quanto nas alocações e atualizações de informações. Dentre vários, um dos grandes responsáveis por tanta eficiência é o sistema de arquivo ext3, que passou a ser integrado definitivamente ao Linux (kernel) a partir da versão 2.4. Este artigo mostrará as características mais importantes do ext3, além das razões de sua alta performance. Espera-se que o leitor tenha alguma noção do conceito de sistemas de arquivos para entender este texto. Funcionamento padrão dos sistemas de arquivos em Linux Os sistemas de arquivos são criados em partições do disco, de forma que seja possível armazenar programas e dados em formato de arquivos e diretórios (pastas). O Linux, assim como praticamente todos os sistemas operacionais baseados em Unix, usa um sistema de arquivos que possue uma hierarquia, composta de arquivos e diretórios, que podem conter outros diretórios ou arquivos. Os arquivos/diretórios (sistemas baseados em Unix tratam os diretórios como arquivos especiais) em um sistema de arquivos para Linux são disponibilizados (ou montados) para manipulação através do comando "mount", geralmente acionado no processo de startup (inicialização), que ocorre quando o computador é ligado e começa a carregar o sistema operacional. O Linux consegue trabalhar com vários sistemas de arquivos em um mesmo disco (situação comum à usuários que possuem Windows e Linux em suas máquinas, por exemplo) e para "enxergá-los", armazena a lista de sistemas de arquivos disponíveis no arquivo /etc/fstab (repare que /etc/ indica um caminho de diretório). No entanto, há uma lista de sistemas de arquivos que estão efetivamente em uso, disponível no arquivo /etc/mtab, também conhecido como "tabela mount". Esta lista é atualizada no processo de startup, para indicar ao sistema operacional quais sistemas de arquivos ele poderá acessar. Para cada sistema de arquivos montado no startup, um bit no cabeçalho do sistema de arquivos é zerado para indica que o sistema Prof. Luiz Fernando Laguardia Campos 10
11 de arquivos está em uso a partir daquele momento e que as estruturas de dados usadas para o alocação e organização de arquivos/diretórios podem sofrer mudanças (atualizações). Quando o usuário decide desligar o computador e usa comandos para encerrar o Linux, os sistemas de arquivos são desmontados, fazendo com que o bit citado acima seja modificado para indicar que o sistema de arquivos está consistente, ou seja, não pode mais sofrer mudanças. Sistema de arquivos ext3 Existem vários sistemas de arquivos disponíveis com a tecnologia Journaling, como o XFS, desenvolvido originalmente pela Silicon Graphics e posteriormente disponibilizado com código aberto, o ReiserFS, desenvolvido especialmente para Linux, JFS, desenvolvido originalmente pela IBM mas também liberado com código aberto, e o mais conhecido deles: o ext3, desenvolvido pelo Dr. Stephen Tweedie juntamente com outros colaboradores, na Red Hat, e que veremos agora. O sistema de arquivos ext3 é basicamente o sistema de arquivos ext2 com recursos de Journaling. Talvez, essa seja a razão de seu uso amplo: ele é totalmente compatível com ext2 (que foi um sistema de arquivos muito usado), o que nenhum outro sistema de arquivos baseado em Journaling é. O ext3 passou a ser efetivamente suportado pelo kernel do Linux a partir da versão 2.4. Conseqüentemente, todas as distribuições Linux lançadas com esse kernel ou superior, tem suporte padrão para ext3. No ext3, o código de Journaling usa uma camada chamada "Journaling Block Device" (JBD). A JBD foi criada com o propósito de implementar Journal em qualquer tipo de dispositivo com base em blocos de dados. Por exemplo, o código ext3 informa e "pede autorização" à JDB para efetuar as mudanças, antes de modificar/adicionar qualquer dado no disco. Sendo assim, é o JDB que verdadeiramente "gerencia" o Journal. O fato mais interessante disso Prof. Luiz Fernando Laguardia Campos 11
12 é que, a JDB funciona como uma entidade independente, permitindo que não só o ext3 a use, mas também outros sistemas de arquivos. A JDB utiliza um método diferente de outros Journalings para recuperação de informações. Ao invés de armazenar as informações em bytes que depois devem ser implementados, a JDB grava os próprios blocos modificados do sistema de arquivos. Assim, o ext3 também armazena "réplicas" completas dos blocos modificados em memória para rastrear as operações que ficaram pendentes. A desvantagem desta forma de trabalho é que o Journal acaba sendo maior. No entanto, o ext3 não precisa lidar com a complexidade dos Journalings que trabalham gravando bytes. Prof. Luiz Fernando Laguardia Campos 12