NTFS

O NTFS é um sistema de arquivos mais antigo do que muitos acreditam. Ele começou a ser desenvolvido no início da década de 1990, quando o projeto do Windows NT dava os seus primeiros passos.

A idéia foi desde o início, criar um sistema de arquivos que pudesse ser usado durante décadas, por mais que os discos rígidos evoluíssem.

Já que o grande problema do sistema FAT16 era o fato de serem usados apenas 16 bits para o endereçamento de cada cluster, permitindo apenas 65 mil clusters por partição, o NTFS incorporou desde o início a capacidade para endereçar os clusters usando endereços de 64 bits. A única limitação agora passa a ser o tamanho dos setores do HD. Como cada setor possui 512 bytes, o tamanho de cada cluster usando NTFS também poderá ser de 512 bytes, independentemente do tamanho da partição.

É sem dúvida um grande avanço sobre os clusters de 32 KB e as partições de até 2 GB da FAT 16. Mas, existe um pequeno problema em endereçar partições muito grandes usando clusters de 512 bytes: o desempenho. Com um número muito grande de clusters, o processamento necessário para encontrar os dados desejados passa a ser muito grande, diminuindo a performance.

Assim como na FAT 32, ficou estabelecido que o tamanho mínimo de clusters seria usado por default apenas em partições de um certo tamanho:
tab3
Apesar do default ser usar clusters de 4 KB em qualquer partição maior do que 2 GB, você pode criar partições com clusters do tamanho que desejar através do assistente para criação de partições do Windows 2000/XP, que pode ser encontrado em Painel de controle > Ferramentas Administrativas > Gerenciamento do computador > Armazenamento > Gerenciamento de disco. Do lado direito da tela será mostrado um mapa dos HDs instalados na máquina, basta clicar com o botão direito sobre uma área de espaço livre e em seguida em “criar partição”.
hd_html_3c4fe8fe
Continuando, mais uma vantagem do sistema NTFS é que os nomes de arquivos e pastas utilizam caracteres em Unicode, ao invés de ACSII. O ASCII é o sistema onde cada caracter ocupa 1 byte de dados, mas são permitidas apenas letras, números e alguns caracteres especiais. No Unicode, cada caracter ocupa dois bytes, o que permite 65 mil combinações, o suficiente para armazenar caracteres em vários idiomas. Isso permite que usuários do Japão, China, Taiwan e outros países que não utilizam o alfabeto ocidental, possam criar arquivos usando caracteres do seu próprio idioma, sem a necessidade de instalar drivers e programas adicionais que adicionem o suporte.

Outro ponto importante onde o NTFS é superior ao sistema FAT é na tolerância a falhas. No sistema FAT, sempre que o sistema trava ou é desligado enquanto estão sendo atualizados arquivos os diretórios no HD, existe uma possibilidade muito grande do sistema tornar-se inconsistente, com arquivos interligados, agrupamentos perdidos e os outros problemas. Surge então a necessidade de rodar o scandisk depois de cada desligamento incorreto.

No NTFS, o sistema mantém um log de todas as operações realizadas. Com isto, mesmo que o micro seja desligado bem no meio da atualização de um arquivo, o sistema poderá, durante o próximo boot, examinar este log e descobrir exatamente em que ponto a atualização parou, tendo a chance de automaticamente corrigir o problema. Além de reduzir a perda de tempo, a possibilidade de perda de dados é muito menor.

Se você chegou a usar o Windows 95/98/ME, deve lembrar-se da “tela de boas vindas” do scandisk, que era executado após cada desligamento incorreto:
hd_html_2de5b411
Clusters contendo setores defeituosos também são marcados automaticamente, conforme são detectados, sem a necessidade de usar o scandisk ou qualquer outro utilitário. Neste caso, a marcação é feita na tabela de endereçamento da partição, de forma que a lista de setores defeituosos é perdida ao reparticionar o HD. Antigamente, os HDs eram menos confiáveis e o aparecimento de setores defeituosos um fenômeno muito mais comum, de forma que a maioria dos programas de formatação realizavam um teste de superfície durante a formatação da partição (como no caso do format usado no Windows 95/98, onde formatar uma partição podia demorar mais de uma hora ;). Atualmente, a maioria dos programas realiza uma formatação rápida, presumindo que o HD não possua setores defeituosos.

Existiram diversas versões do NTFS, que acompanharam a evolução do Windows NT. A partir do Windows 2000, foi introduzido o NTFS 5, que trouxe diversos aperfeiçoamentos, incluindo o suporte ao Active Directory.

Outro recurso interessante é a possibilidade de encriptar os dados gravados, de forma a impedir que sejam acessados por pessoas não autorizadas mesmo caso o HD seja removido e instalado em outro micro. Este recurso de encriptação é interessante, por exemplo, para profissionais de campo, que levam dados secretos em seus laptops. É possível tanto criptografar o disco inteiro, quanto pastas ou arquivos individuais.

Também é possível compactar pastas e arquivos individuais, economizando espaço em disco. No Windows 95/98 era possível compactar partições usando o drvspace, mas só era possível compactar partições inteiras, o que normalmente acaba não sendo um bom negócio, pois diminuia bastante a velocidade do micro e aumentava a possibilidade de perda de dados. Naturalmente, a compactação também é diferente da feita por programas como o Winzip, já que os arquivos e pastas continuam acessíveis exatamente da mesma forma, com o sistema fazendo a compactação e descompactação do arquivo de forma transparente.

Com a possibilidade de compactar pastas individuais, você pode comprimir apenas as pastas contendo um grande volume de arquivos que suportam um bom nível de compressão, deixando de lado pastas com fotos, músicas e arquivos de vídeo, arquivos que já estão comprimidos. Para compactar uma pasta, acesse o menu de propriedades. Na seção “avançadas”, marque a opção de compactar arquivos para economizar espaço.

A compactação de arquivos exige uma carga adicional de processamento, já que o sistema tem o trabalho de descompactar os arquivos antes de acessá-los. Antigamente, usar compactação reduzia muito o desempenho do sistema, já que os processadores eram mais lentos. Num micro atual, a redução é muito menos significativa e, em muitos casos, o uso da compactação pode até mesmo melhorar o desempenho, já que arquivos compactados ocupam menos espaço e, consequentemente, são lidos mais rapidamente pela cabeça de leitura.

Estruturas lógicas do NTFS

Assim como no sistema FAT, no NTFS são incluídas várias estruturas lógicas no HD. Apesar da idéia ser basicamente a mesma, estas estruturas são bem diferentes no NTFS.

Em primeiro lugar, temos a MFT (Master File Table), que substitui a FAT, armazenando as localizações de todos os arquivos e diretórios, incluindo os arquivos referentes ao próprio sistema de arquivos. Mas, a forma como este mapeamento é feito difere um pouco do sistema FAT.

Cada entrada de arquivo ou diretório no MFT possui 2 KB, onde são armazenados o nome do arquivo e seus atributos. Sobra então uma pequena área de dados, geralmente de 1500 bytes (pode ser maior ou menor, dependendo do espaço ocupado pelo nome e pelos atributos do arquivo) que é usada para guardar o início do arquivo.

Caso o arquivo seja muito pequeno, ele poderá ser armazenado diretamente na entrada no MFT. Caso contrário, serão armazenados apenas os números dos clusters ocupados pelo arquivo.

Em alguns casos, não é possível armazenar nem mesmo os atributos do arquivo no MFT, neste caso, os atributos serão gravados em clusters vagos do HD e a MFT conterá apenas entradas que apontam para eles. Pode parecer estranho que um arquivo possa ter mais de 2 KB só de atributos, mas no NTFS os atributos do arquivo vão muito além dos atributos de arquivo, diretório, oculto, etc. que existem no sistema FAT.

Os atributos do arquivo incluem seu nome, versão, nome MS-DOS (o nome simplificado com 8 caracteres e extensão), mas, principalmente incluem as permissões do arquivo, quais usuários do sistema poderão acessa-lo ou não, e ainda um espaço reservado para auditoria, que permite armazenar informações sobre quais operações envolvendo o arquivo devem ser gravadas para que seja possível realizar uma auditoria, caso necessário.

Em seguida, temos a questão das permissões de acesso, uma parte importante da configuração de um servidor, ou de qualquer máquina que vá ser utilizada por diversos usuários.

Para configurar as permissões de acesso, abra a guia “Segurança”. As configurações valem tanto para acesso locais, quanto acessos através da rede. O Windows aplica as permissões de acesso de acordo com o usuário logado na máquina.

Por default, todos têm acesso total à pasta. Você verá no campo “nome” o grupo “todos” e todas as permissões marcadas como “permitir”. O grupo “todos” significa todos os usuários do sistema. Se você quiser um melhor controle, pode deletar o grupo “todos” e adicionar um a um os usuários que terão acesso à pasta.
hd_html_m6e96abd4
Depois de fazer isso, clique sobre o usuário para configurar as suas permissões, que aparecem na parte de baixo da janela. Você pode até mesmo configurar as permissões de modo que nem você mesmo possa acessar a pasta :). Neste caso, você receberá uma mensagem de acesso negado até voltar e reconfigurar as permissões.

A configuração das permissões pode ser a parte mais importante da implantação de uma rede baseada no Windows 2000, XP ou mesmo do antigo NT ao mesmo tempo em que pode ser de longe a mais trabalhosa, dependendo do número de usuários e restrições que tiver de configurar.

É possível também estabelecer quotas de disco, que limitam a quantidade de espaço que determinados usuários podem utilizar. Este recurso é muito utilizado em servidores web e em servidores de arquivo, mas pode ser útil também em situações mais corriqueiras, como quando você precisa limitar quanto espaço seu irmão menor pode usar, evitando que ele entupa o HD de downloads. 😉

O NTFS inclui também recursos que reduzem de forma significativa a fragmentação do sistema de arquivos. Quando existe um volume considerável de espaço em disco, o sistema reserva até 15% do espaço da partição para armazenar o MFT e as entradas referentes aos atributos dos arquivos, de forma que todas as informações possam ser gravadas em setores contínuos. Os próprios arquivos são salvos de forma inteligente, com o sistema dando preferência a áreas onde ele pode ser gravado seqüencialmente, sem fragmentação.

Apesar disso, com o passar dos meses, é normal que um certo nível de fragmentação ocorra, de forma que um desfragmentador vem a calhar. Tanto o Windows 2000 e XP, quanto o Vista incluem um desfragmentador capaz de lidar com partições NTFS. Apesar de demorado, vale à pena usá-lo de vez em quando.

Com relação ao desempenho, existe uma certa polêmica, já que por ser mais complexo, o NTFS é realmente mais lento que o sistema FAT em micros muito antigos, ou quando são manipuladas pequenas quantidades de arquivos. Este é um dos motivos dele ser utilizado apenas em micros PCs e não em câmeras e celulares, por exemplo, onde o processamento necessário seria proibitivo.

Apesar disso, o NTFS é capaz de lidar eficientemente com volumes muito maiores de arquivos, de forma que a balança tende para o outro lado em cenários mais complexos, como na bagunça de arquivos, e-mails, fotos, músicas e arquivos temporários que é um desktop atual. 🙂

Por exemplo, o NTFS utiliza o conceito de balanced trees (árvores balanceadas ou B+ trees), onde as informações relacionadas a cada diretório são gravadas próximas umas das outras, ao invés de ficarem numa tabela central, como no sistema FAT. A cabeça de leitura precisa percorrer uma distância maior para acessar as informações relacionadas a cada diretório, mas em compensação perde menos tempo lendo informações referentes aos arquivos dentro deste diretório, o que acaba compensando a perda inicial e até revertendo em ganho, que se torna mais e mais expressivo confirme cresce o volume de arquivos e pastas armazenados.

Concluindo, temos o LFS (Log File Service), que é o principal responsável pela tolerância à falhas do sistema NTFS. Tolerância a falhas neste caso significa não perder dados ou estruturas do sistema de arquivos quando o sistema travar, ou houver qualquer outro imprevisto, ou que, pelo menos, o estrago seja o menor possível.

Para isso, o sistema mantém um log com todas as alterações feitas no sistema de arquivo. Ao gravar um arquivo qualquer por exemplo, será primeiro gravada uma entrada no log, com os detalhes sobre a operação, qual arquivo está sendo gravado, em que parte do disco, etc. ao terminar a gravação é gravada uma outra entrada, um OK confirmando que tudo deu certo. Caso o sistema seja desligado incorretamente durante a gravação, é possível verificar no próximo boot o que estava sendo feito e fazer as correções necessárias. Periodicamente, o sistema verifica todas as entradas do Log e caso esteja tudo em ordem, deleta o antigo log, para evitar que o arquivo ocupe muito espaço em disco.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X