Bifurcação (sistema de arquivos)

Em sistema de arquivos de computador, uma bifurcação são metadados associados a um objeto do sistema de arquivos. Dependendo do sistema de arquivos, um arquivo pode ter uma ou mais bifurcações associadas. Ao contrário do atributo estendido, um recurso de sistema semelhante, que normalmente é limitado quanto ao tamanho, uma bifurcação pode ser de tamanho arbitrário, e pode ser ainda maior do que os dados do arquivo. Nas plataformas Microsoft, são conhecidos como Fluxos de Dados Alternadas (ADS (em inglês)).

Implementações editar

Apple editar

Bifurcações em sistemas de arquivos são associadas com o Sistema de Arquivos Hierárquico (HFS (em inglês)) da Apple Inc..[1] O HFS da Apple, bem como o sistema de arquivos original do Apple Macintosh MFS, permitiu um objeto do sistema de arquivos ter vários tipos de bifurcações: uma bifurcação de dados, uma bifurcação de recursos, e várias bifurcações nomeadas.

A bifurcação de recursos foi projetada para armazenar metadados, que seriam usados pela Interface Gráfica do Usuário (GUI (em inglês)) do sistema, como o ícone de um arquivo para ser usado pelo Apple Finder ou os menus e caixas de diálogo associados a um aplicativo..[2] No entanto, o recurso foi muito flexível, então uso adicionais foram encontrados, como a divisão de um documento de processamento de texto em conteúdo e apresentação, depois, armazenando as informações da apresentação na bifurcação do recurso.

Uma das características do HFS+ mais obscuras é que um arquivo pode ter um número arbitrário de "bifurcações com nomes" personalizados além das bifurcações tradicionais de dados e recursos. Esta função nunca foi realmente utilizada, como a Apple nunca adicionou suporte para ele no Mac OS 8.1-10.3.9. Começando com o 10,4, uma implementação parcial foi feita para suportar os Atributos de Arquivo Estendidos em linha da Apple.

Até o Mac OS X v10.4, os usuários executando as ferramentas de linha de comando do antigo Unix (como tar) incluído com o Mac OS X arriscariam perder dados, pois as ferramentas não foram atualizadas para lidar com as bifurcações de recursos de arquivos até o 10.4.[3]

Novell editar

A partir de 1985, o Novell NetWare File System (NWFS), e seu sucessor Serviço de Armazenamento Novell (NSS (em inglês)), foram projetados a partir do zero para usar uma variedade de métodos de armazenagem de metadados de arquivos. Alguns metadados residem no Diretório de Serviços Novell (NDS (em inglês)), alguns são armazenados na estrutura de diretórios no disco, e alguns são armazenado em, em termos da Novell, "vários fluxos de dados" com o arquivo em si. Os múltiplos fluxos de dados também permitem que os clientes Macintosh se conectem e usem servidores NetWare.

Microsoft editar

No NTFS da Microsoft bifurcações no sistema de arquivos são conhecidas como Fluxos Alternativos de Dados (ADS{ {en}}).[4] Em 1993, a Microsoft lançou a primeira versão do sistema operacional Windows NT, que introduziu o NTFS. Este sistema incluia um suporte para bastantes bifurcações nomeadas como fluxos de dados alternativos para compatibilidade com sistemas operacionais preexistentes que eram capazes de bifurcar. Com o Windows 2000, a Microsoft começou a usar fluxos de dados alternativos em NTFS para salvar coisas do arquivo como autor e título[5] e miniaturas de imagens.[6]

Com o Service Pack 2 para o Windows XP, a Microsoft introduziu o Serviço de Execução de Anexo, que armazena detalhes e informações sobre a origem dos arquivos baixados em fluxos de dados alternados anexados a arquivos, em um esforço para proteger os usuários de arquivos perigosos baixados, e que apresentam muito risco.[7]

Versões do Windows NT incluem a capacidade de usar bifurcações na API, e algumas ferramentas de linha de comando pode ser usadas para criar e acessar bifurcações, mas são ignoradas pela maioria dos programas, incluindo o Windows Explorer e o comando DIR. Cópias do Windows Explorer bifurca e avisa quando o sistema de arquivo de destino não possui suporte, mas só conta o tamanho da bifurcação principal e não lista os fluxos de um arquivo ou pasta. O comando DIR foi atualizado para incluir no Vista uma opção que lista bifurcações.[8]

Riscos possíveis a segurança e integridade dos dados editar

Quando um sistema de arquivos suporta bifurcações diferentes, os aplicativos devem estar cientes deles, ou os riscos de segurança começam a surgir. Permitir sistema legado para acessar dados sem calços adequados em posição é a razão principal para esses problemas.

Se as diferentes ferramentas de sistema (explorador de disco, software antivírus, ferramentas de arquivos, e assim por diante), não estão cientes das bifurcações diferentes, os seguintes problemas podem surgir:

  • O usuário nunca saberá a presença de qualquer bifurcação alternativa e nem o tamanho total do arquivo, apenas das principais bifurcações de dados.
  • Vírus de computador pode se esconder em bifurcações alternativas no Windows, e nunca serão detectados.
  • Dados podem ser perdidos quando arquivos são enviados através de canais sem consciência das bifurcações, como E-mail, sistemas de arquivos sem suporte para bifurcações, ou mesmo quando ao copiar arquivos entre sistemas de arquivos com suporte a bifurcações se o programa que fez a cópia não suporta bifurcações ou quando comprimir arquivos com um software que não suporta bifurcações.

Ver também editar

Referências editar

  1. Apple (2 de julho de 1996). «File Forks». Apple. Consultado em 18 de novembro de 2006 
  2. Bruce Horn. «The Grand Unified Model (1) - Resources». Folklore.org. Consultado em 18 de novembro de 2006 
  3. «Command-line Backup Solutions on Mac OS X». Apple. 29 de outubro de 2005. Consultado em 18 de novembro de 2006 
  4. Microsoft. «Files and Clusters». Microsoft. Consultado em 18 de novembro de 2006 
  5. Dino Esposito (2000). «A Programmer's Perspective on NTFS 2000 Part 1: Stream and Hard Link». Microsoft. Consultado em 18 de novembro de 2006 
  6. Microsoft (27 de outubro de 2006). «Indexing service adds data streams to image files». Microsoft. Consultado em 18 de novembro de 2006 
  7. Bart De Smet (19 de agosto de 2005). «Demo of "Attachment Execution Service internals" in Windows XP SP2 and Windows Server 2003 SP1». B#.NET Blog. Consultado em 18 de novembro de 2006 
  8. Bart De Smet (13 de julho de 2006). «Use Vista's DIR command to display alternate data streams». B#.NET Blog. Consultado em 7 de julho de 2007 

Ligações externas editar