Ícone do site Diego Macêdo

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Os sistemas de arquivos é a parte do SO responsável pelo gerenciamento dos arquivos (estrutura, identificação, acesso, utilização, proteção e implementação). Ou seja, é um conjunto de tipos abstratos de dados que são implementados para o armazenamento, a organização hierarquica, a manipulação, navegação, acesso e recuperação de dados.

Entenda que um arquivo é um recipiente no qual os dados são armazenados, tendo ele um significado para o sistema ou usuário, e estes podem ser programas executáveis, texto, figura, etc. Todos os arquivos possuem um nome o qual o usuário faz referência a ele. Além do nome, cada arquivo possui uma série de outros atributos que são mantidos pelo sistema operacional como tipo de conteúdo, tamanho, data e hora do último acesso, data e hora da última alteração, lista de usuários que podem acessar o arquivo, etc.

A forma como os dados são dispostos dentro de um arquivo determina sua estrutura interna. Cada tipo de arquivo possui uma estrutura interna apropriada para a sua finalidade. Por exemplo, arquivos de texto são organizados em linha ou parágrafos.

Discos Rígidos

Os discos rígidos são compostos por vários discos internos, onde cada um deles é dividido em círculos concêntricos chamados de cilindros ou trilhas, e nestas trilhas temos uma certa quantidade de setores. Cada setor possui, normalmente, 512 bytes de informações. Para descobrir a capacidade total de um HD, basta multiplicar o tamanho do setor pela quantidade total de setores que ele tem.

Vale lembrar que 1 KB é representado por 1024 bytes, e não 1000 bytes como muitos pensam.

FAT16

O significado da palavra FAT é Tabela de Alocação de Arquivos (File Allocation Table) que seria um mapa de utilização do disco. Graças a isto, o SO saberá onde determinado arquivo está.

Normalmente é reconhecido por todos os Sistemas Operacionais, também é utilizado em cartões de memória de estado sólido, e não trabalham com setores, mas sim com unidades de clusters que são conjuntos de setores.

Uma característica marcante é a capacidade de nomear os arquivos somente com 8 caracteres + extensão. Caso seja excedido o valor de caracteres, os caracteres excedidos (do nome do ficheiro) desaparecerão e no lugar deles aparecerá ~1 ou ~2 (se já existir um outro arquivo com os 8 primeiros caracteres iguais).

Existe um inconveniente que quando ficheiros são apagados e novos ficheiros são escritos no suporte, as suas partes tendem a dispersar-se, fragmentando-se por todo o espaço disponível, tornando a leitura e a escrita um processo lento. Para isso, precisamos desfragmentar o disco para um melhor desempenho na sua função de leitura e gravação.

Outro problema é que o FAT16 não reconhece mais que 2GB por ser de 16 bits, utilizando clusters com no máximo 32 KB. Caso haja um disco com mais de 2GB, serão necessário particioná-lo em pedaços máximos de 2GB.

FAT32

Já neste, suporta partições de até 2 TB, tamanho de arquivos de 4 GB e o nome dos arquivos passou de 8 para 256 caracteres e superou o antigo limite de 3 caracteres para a extensão, embora este padrão ainda seja largamente utilizado.

Com o FAT32, o desperdício em disco foi sensivelmente reduzido. O FAT16, seu antecessor, utilizava clusters de até 64 KB enquanto o FAT32 pode utilizar clusters de 4 KB. Se um arquivo ocupa 4 KB de espaço, tanto no FAT16 como no FAT32 a ocupação será de 1 cluster, porém, no caso do FAT16 os 60 KB restantes serão alocados, apesar de ficarem fisicamente vazios.

Tem a desvantagem de ser 6% mais lenta que FAT16 e a incompatibilidade com SO antigos.

Não possui recursos de segurança como o NTFS. Utiliza uma cópia backup da tabela de alocação como sistema de segurança para corrupções de arquivos. Este procedimento é ineficiente, pois uma queda de energia durante uma operação que modifique os metadados pode tornar a partição inacessível ou corromper severamente diversos arquivos.

NTFS

O NTFS (New Technology File System) é um sistema de arquivos que surgiu com o lançamento do Windows NT, e passou a ser bem aceito e utilizado nas outras versões do Windows posteriormente.

Uma dessas vantagens diz respeito ao quesito “recuperação”: em caso de falhas, como o desligamento repentino do computador, o NTFS é capaz de reverter os dados à condição anterior ao incidente. Isso é possível, em parte, porque, durante o processo de boot, o sistema operacional consulta um arquivo de log que registra todas as operações efetuadas e entra em ação ao identificar nele os pontos problemáticos. Ainda neste aspecto, o NTFS também suporta redundância de dados, isto é, replicação, como o que é feito por sistemas RAID, por exemplo.

Algumas características são:

EXT2

Ext2 foi projetado e implementado para corrigir as deficiências do Ext e prover um sistema que respeitasse a semântica UNIX. A influência do UNIX pode ser vista, por exemplo, na utilização de grupos de blocos, que são análogos aos grupos de cilindros utilizados pelo FFS. O bloco, que consiste num conjunto de setores (cada setor tem 512 bytes), é a menor unidade de alocação para o Ext2. O tamanho pode ser de 1024, 2048 ou 4096 bytes e é definido na formatação.

Quando é realizada uma operação de escrita em um arquivo, o Ext2 tenta, sempre que possível, alocar blocos de dados no mesmo grupo que contém o nó-i. Esse comportamento reduz o movimento da(s) cabeça(s) de leitura-gravação da unidade de disco.

Em um sistema de arquivos ocorrem dois tipos de fragmentação: (i) a fragmentação interna (ou de espaço) é causada pelo fato do tamanho do arquivo geralmente não ser múltiplo do tamanho do bloco (portanto o último bloco terá um espaço não utilizado) — a consequência é a perda de espaço; (ii) a fragmentação externa (ou de arquivo) decorre da impossibilidade do sistema determinar, a priori, qual o tamanho do arquivo (p.ex., arquivos de texto e de logs são muito modificados, e o seu tamanho pode aumentar ou diminuir) — assim um arquivo pode alocar blocos não contíguos, prejudicando o desempenho.

Para diminuir o impacto do primeiro tipo, existem duas estratégias básicas. A primeira, mais simples, é determinar, na formatação, o menor tamanho de bloco possível. O Ext2 permite tamanhos de blocos de 1024, 2048 e 4096 bytes. Um tamanho de bloco pequeno, como 1024 bytes, diminui a fragmentação e perda de espaço, mas em contrapartida gera um impacto negativo no desempenho, pois acarreta o gerenciamento de uma maior quantidade de blocos. O tamanho de bloco padrão para volumes grandes é de 4096 bytes.

A segunda estratégia é alocar a parte final de um arquivo, menor que o tamanho de um bloco, juntamente com pedaços de outros arquivos. O Reiserfs chama esse método de tail packing; o UFS usa fragmentos, que são submúltiplos do tamanho do bloco. Apesar do Ext2 possuir, no superbloco, a previsão para uso de fragmentos, esse método não foi implementado.

Para diminuir o impacto da fragmentação externa, o Ext2 pré-aloca (reserva) até oito blocos quando um arquivo é aberto para gravação. Esses blocos reservados, quando possível, são adjacentes ao último bloco utilizado pelo arquivo. [CARD, TS’O e TWEEDIE, 1994]

EXT3

O Ext3 (Third Extended file system) é um sistema de arquivos desenvolvido por Stephen C. Tweedie para o Linux, que acrescenta alguns recursos ao Ext2, dos quais o mais visível é o journaling, que consiste em um registro (log ou journal) de transações cuja finalidade é recuperar o sistema em caso de desligamento não programado.

Há três níveis de journaling disponíveis na implementação do Ext3:

Embora o seu desempenho (velocidade) seja menos atrativo que o de outros sistemas de arquivos (como ReiserFS e XFS), ele tem a importante vantagem de permitir que seja feita a atualização direta a partir de um sistema com ext2, sem a necessidade de realizar um backup e restaurar posteriormente os dados, bem como o menor consumo de processamento.

Enquanto em alguns contextos a falta de funções de sistemas de arquivos “modernos”, como alocação dinâmica de inodes e estruturas de dados em árvore, poderia ser considerada uma desvantagem, em termos de “recuperabilidade” isso dá ao ext3 uma significante vantagem sobre sistemas de arquivos que possuem-nas. Os metadados do sistema de arquivos estão todos em locais fixos e bem conhecidos, e há certa redundância inerente à estrutura de dados, que permite que sistemas ext2 e ext3 sejam recuperáveis no caso de uma corrupção de dados significante, em que sistemas de arquivos em árvore não seriam recuperáveis.

Fontes da compilação de textos:
– http://pt.wikipedia.org/wiki/FAT_(sistema_de_ficheiros)
– http://pt.wikipedia.org/wiki/FAT16
– http://pt.wikipedia.org/wiki/FAT32
– http://pt.wikipedia.org/wiki/NTFS
– http://pt.wikipedia.org/wiki/Ext2
– http://pt.wikipedia.org/wiki/Ext3
– HandBook de TI
– http://www.clubedohardware.com.br/artigos/Sistema-de-arquivos/313/1
– http://www.infowester.com/ntfs.php

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Sair da versão mobile