O que é um sistema de arquivos e que sistemas de ficheiros existem para o windows?

Em computação,sistema de ficheiros (português europeu) ou sistema de arquivos (português brasileiro) (também conhecido por sistema de gestão de ficheiros) é a forma de organização de dados em algum meio de armazenamento de dados em massa, frequentemente feito em discos magnéticos. Ele controla como os dados são armazenados e recuperados, possibilitando ao sistema operacional decodificar os dados armazenados e lê-los ou gravá-los. Sem um sistema de arquivos, as informações colocadas em um meio de armazenamento seriam um grande corpo de dados, sem nenhuma maneira de dizer onde uma parte da informação termina e a próxima começa. Ao separar os dados em pedaços e dar um nome a cada peça, a informação é facilmente isolada e identificada. Tomando seu nome a partir do modo como os sistemas de informação baseados em papel são nomeados, cada grupo de dados é chamado de "arquivo". A estrutura e as regras lógicas usadas para gerenciar os grupos de informações e seus nomes são chamadas de "sistema de arquivos".

O que é um sistema de arquivos e que sistemas de ficheiros existem para o windows?

Representação visual de um sistema de ficheiros, contanto com diretórios (pastas) e ficheiros (arquivos)

Existem muitos tipos diferentes de sistemas de arquivos. Cada um tem estrutura e lógica diferentes, propriedades de velocidade, flexibilidade, segurança, tamanho e muito mais. Alguns sistemas de arquivos foram projetados para serem usados ​​em aplicativos específicos. Por exemplo, o sistema de arquivos ISO 9660 foi projetado especificamente para discos ópticos.

Os sistemas de arquivos podem ser usados ​​em vários tipos diferentes de dispositivos de armazenamento que usam diferentes tipos de mídia. O dispositivo de armazenamento mais comum em uso hoje é uma unidade de disco rígido. Outros tipos de mídia usados ​​incluem memória flash, fitas magnéticas e discos ópticos. Em alguns casos, como no tmpfs, a memória principal do computador (memória de acesso aleatório, RAM) é usada para criar um sistema de arquivos temporário para uso a curto prazo.

Alguns sistemas de arquivos são usados ​​em dispositivos locais de armazenamento de dados, outros fornecem acesso a arquivos por meio de um protocolo de rede (por exemplo, clientes NFS, SMB ou 9P). Alguns sistemas de arquivos são "virtuais", o que significa que os "arquivos" fornecidos (chamados de arquivos virtuais) são computados mediante solicitação (como procfs e sysfs) ou são apenas um mapeamento em um sistema de arquivos diferente usado como armazenamento de backup. O sistema de arquivos gerencia o acesso ao conteúdo dos arquivos e aos metadados sobre esses arquivos. É responsável por organizar o espaço de armazenamento. A confiabilidade, eficiência e ajuste com relação ao meio físico de armazenamento são importantes considerações de projeto.

Índice

  • 1Origem do termo
  • 2Arquitetura
  • 3Aspectos de sistemas de arquivos
    • 3.1Gerenciamento de espaço
    • 3.2Nomes de arquivo
    • 3.3Diretórios
    • 3.4Metadados
    • 3.5Sistema de arquivos como uma interface abstrata de usuário
    • 3.6Utilitários
  • 4Tipos e sistemas de arquivos
    • 4.1Sistemas de arquivos de disco
      • 4.1.1Discos óticos
    • 4.2Sistemas de arquivos de flash
    • 4.3Sistemas de arquivos de fita
      • 4.3.1Formatação de fita
    • 4.4Sistemas de arquivos de banco de dados
    • 4.5Sistemas e arquivos transacionais
    • 4.6Sistemas de arquivos de rede
    • 4.7Sistemas de arquivos compartilhados
    • 4.8Sistemas de arquivos especiais
      • 4.8.1Sistemas de arquivos de dispositivo
      • 4.8.2Outros sistemas de arquivos especiais
    • 4.9Sistema de arquivos mínimo / armazenamento de áudio-cassete
    • 4.10Sistemas de arquivos planos
  • 5Sistemas de arquivos e sistemas operacionais
    • 5.1Sistemas operacionais Unix e do tipo Unix
      • 5.1.1Linux
      • 5.1.2macOS
    • 5.2Microsoft Windows
      • 5.2.1FAT
      • 5.2.2NTFS
      • 5.2.3exFAT
  • 6Atributos de arquivos
  • 7Operações sobre arquivos
  • 8Camadas
  • 9Sistemas de ficheiros mais conhecidos
  • 10Ver também
  • 11Notas
  • 12Referências
  • 13Ligações externas

Antes do advento dos computadores, o termo sistema de arquivos era usado para descrever um método de armazenamento e recuperação de documentos em papel. Em 1961, o termo estava sendo aplicado ao arquivamento computadorizado ao lado do significado original. Em 1964, já era de uso geral.

Fazendo analogias, tal organização assemelha-se a uma biblioteca escolar. O bibliotecário organiza os livros conforme um padrão, cuja busca, convenientemente, procura deixar mais fácil, sem ocupar muitas prateleiras e assegurando a integridade deste. Ainda, certamente, organiza os livros segundo suas características (assunto, censura, etc.). Depois de organizados, ou durante a organização, o bibliotecário cria uma lista com todos os livros da biblioteca, com seus assuntos, localizações e códigos respectivos.

Aplicando a analogia à informática, o sistema operacional seria o bibliotecário da "biblioteca de dados" do computador, o disco de armazenamento. Exatamente igual à organização de uma biblioteca, o sistema operacional guarda os dados nos espaços vazios do disco, rotulando-os com um FCB (File Control Block, Bloco de Controle de Arquivo) e ainda criando uma lista com a posição deste dado, chamada de MFT (Master File Table, Tabela de Arquivos Mestre). Sabendo a posição do arquivo a ser aberto/gravado, o sistema operacional solicita a leitura desta, decodifica/codifica e realiza a abertura/gravação do dado.

Um sistema de ficheiro é assim: uma forma de criar uma estrutura lógica de acesso a dados numa partição. Sendo assim, também é importante referir que nunca poderá ter dois ou mais tipos de sistemas de ficheiros (formatos) numa mesma partição.

O MBR (Master Boot Record) é um arquivo de dados interligado com a BIOS cuja importância é o reconhecimento do sistema de arquivos, como também na inicialização do sistema operacional.

Para a maioria dos usuários, o sistema de arquivos é o aspecto mais visível de um sistema operacional. Ele fornece o mecanismo para o armazenamento online e o acesso relacionado tantos aos dados como aos programas do sistema operacional e de todos os usuários do sistema de computação. O sistema de arquivos consiste em duas partes distintas: uma coleção de arquivos, cada um deles armazenando dados relacionados, e uma estrutura de diretórios, que organiza e fornece informação sobre todos os arquivos do sistema. Alguns sistemas de arquivos têm uma terceira parte, as partições, utilizadas para separar física ou logicamente grandes coleções de diretórios.

Um sistema de arquivos consiste em duas ou três camadas. Às vezes, as camadas são explicitamente separadas e, às vezes, as funções são combinadas.

O sistema de arquivos lógico é responsável pela interação com o aplicativo do usuário. Ele fornece a interface de programação de aplicações (API) para operações de arquivo - OPEN, CLOSE, READ, etc. e passa a operação solicitada para a camada abaixo para processamento. O sistema de arquivos lógico "gerencia as entradas da tabela de arquivos abertos e os descritores de arquivos por processo." Esta camada fornece "acesso a arquivos, operações de diretório, segurança e proteção".

A segunda camada opcional é o sistema de arquivos virtual. "Esta interface permite o suporte para múltiplas instâncias simultâneas de sistemas de arquivos físicos, cada um dos quais é chamado de implementação de sistema de arquivos."

A terceira camada é o sistema de arquivos físico. Esta camada está relacionada com o funcionamento físico do dispositivo de armazenamento (por exemplo, disco). Ele processa blocos físicos que estão sendo lidos ou gravados. Ele lida com o gerenciamento de buffer e de memória e é responsável pelo posicionamento físico de blocos em locais específicos no meio de armazenamento. O sistema de arquivos físico interage com os drivers de dispositivo ou com o canal para controlar o dispositivo de armazenamento.

Gerenciamento de espaço

Observação: isto aplica-se somente a sistemas de arquivos usados em dispositivos de armazenamento.

Um exemplo de espaço de folga, demonstrado com clusters NTFS de 4.096 bytes: 100.000 arquivos, cada um cinco bytes por arquivo, o que equivale a 500.000 bytes de dados reais, mas requerendo 409.600.000 bytes de espaço em disco para armazenamento.

Os sistemas de arquivos alocam o espaço de maneira granular, geralmente várias unidades físicas no dispositivo. O sistema de arquivos é responsável por organizar os arquivos e diretórios e manter o controle de quais áreas da mídia pertencem a qual arquivo e quais não estão sendo usadas. Por exemplo, no Apple DOS do início dos anos 80, os setores de 256 bytes em disquetes de 140 kilobytes usavam um mapa de trilha/setor.

Isso resulta em espaço não utilizado quando um arquivo não é um múltiplo exato da unidade de alocação, às vezes referido como espaço de folga. Para uma alocação de 512 bytes, o espaço médio não utilizado é de 256 bytes. Para clusters de 64 KB, o espaço médio não utilizado é de 32 KB. O tamanho da unidade de alocação é escolhido quando o sistema de arquivos é criado. Escolher o tamanho da alocação com base no tamanho médio dos arquivos que se espera estar no sistema de arquivos pode minimizar a quantidade de espaço inutilizável. Frequentemente, a alocação padrão pode fornecer uso razoável. Escolher um tamanho de alocação que seja muito pequeno resulta em sobrecarga excessiva se o sistema de arquivos contiver arquivos na maioria muito grandes.

A fragmentação de sistema de arquivos ocorre quando o espaço não utilizado ou os arquivos individuais não são contíguos. Como um sistema de arquivos é usado, os arquivos são criados, modificados e excluídos. Quando um arquivo é criado, o sistema de arquivos aloca espaço para os dados. Alguns sistemas de arquivos permitem ou exigem a especificação de uma alocação de espaço inicial e alocações incrementais subsequentes à medida que o arquivo cresce. À medida que os arquivos são excluídos, o espaço que eles foram alocados eventualmente é considerado disponível para uso por outros arquivos. Isso cria áreas utilizadas e não utilizadas alternadas de vários tamanhos. Esta é a fragmentação do espaço livre. Quando um arquivo é criado e não há uma área de espaço contíguo disponível para sua alocação inicial, o espaço deve ser atribuído em fragmentos. Quando um arquivo é modificado de modo a ficar maior, ele pode exceder o espaço inicialmente alocado a ele, outra alocação deve ser atribuída em outro lugar e o arquivo se torna fragmentado.

Nomes de arquivo

Um nome de arquivo é usado para identificar uma localização de armazenamento no sistema de arquivos. A maioria dos sistemas de arquivos possuem restrições de comprimento de nomes de arquivo. Em alguns sistemas de arquivos, nomes de arquivos não são sensíveis a caixa (isto é, os nomes MEUARQUIVO e meuarquivo referem-se ao mesmo arquivo), em outros, os nomes de arquivos são sensíveis a caixa (isto é, os nomes MEUARQUIVO, MeuArquivo e meuarquivo referem-se a três arquivos separados).

A maioria dos sistemas de arquivos modernos permitem que nomes de arquivos contenham uma grande variedade de caracteres do conjunto de caracteres Unicode. Entretanto, eles podem possuir restrições no uso de certos caracteres especiais, impedindo-os de serem usados dentro de nomes de arquivos. Esses caracteres podem ser usados para indicar um dispositivo, tipo de dispositivo, prefixo de diretório, separador de caminho de arquivo ou tipo de arquivo.

Diretórios

Os sistemas de arquivos geralmente possuem diretórios (também chamados de pastas) que permitem ao usuário agrupar arquivos em coleções separadas. Isso pode ser implementado associando o nome do arquivo a um índice em uma tabela de conteúdos ou a um inode em um sistema de arquivos do tipo Unix. As estruturas de diretórios podem ser planas (ou seja, lineares) ou permitir hierarquias nas quais os diretórios podem conter subdiretórios. O primeiro sistema de arquivos a suportar hierarquias arbitrárias de diretórios foi usado no sistema operacional Multics. Os sistemas de arquivos nativos de sistemas semelhantes ao Unix também suportam hierarquias de diretórios arbitrários, como, por exemplo, o Hierarchical File System da Apple e seu sucessor HFS+ no Mac OS clássico, o sistema de arquivos FAT no MS-DOS 2.0, e versões posteriores, e no Microsoft Windows, o sistema de arquivos NTFS na família Windows NT de sistemas operacionais e o ODS-2 (On-Disk Structure-2) e níveis mais altos do sistema de arquivos Files-11 no OpenVMS.

Metadados

Outras informações de escrituração contábil normalmente são associadas a cada arquivo dentro de um sistema de arquivos. O comprimento dos dados contidos em um arquivo pode ser armazenado como o número de blocos alocados para o arquivo ou como uma contagem de bytes. A hora em que o arquivo foi modificado pela última vez pode ser armazenada como o registro de data e hora do arquivo. Os sistemas de arquivos podem armazenar o horário de criação do arquivo, a hora em que ele foi acessado pela última vez, a hora em que os metadados do arquivo foram alterados ou a hora em que o arquivo foi copiado pela última vez. Outras informações podem incluir o tipo de dispositivo do arquivo (por exemplo, bloco, caractere, soquete, subdiretório etc.), seu ID de usuário e ID de grupo de proprietário, suas permissões de acesso e outros atributos de arquivo (por exemplo, se o arquivo é somente leitura, executável, etc.).

Um sistema de arquivos armazena todos os metadados associados ao arquivo - incluindo o nome do arquivo, o comprimento do conteúdo de um arquivo e o local do arquivo na hierarquia de pastas - separado do conteúdo do arquivo.

A maioria dos sistemas de arquivos armazena os nomes de todos os arquivos em um diretório em um único local - a tabela de diretórios desse diretório - que geralmente é armazenado como qualquer outro arquivo. Muitos sistemas de arquivos colocam apenas alguns dos metadados para um arquivo na tabela de diretórios e o restante dos metadados para esse arquivo em uma estrutura completamente separada, como o inode.

A maioria dos sistemas de arquivos também armazena metadados não associados a nenhum arquivo específico. Esses metadados incluem informações sobre regiões não utilizadas - bitmap de espaço livre, mapa de disponibilidade de blocos - e informações sobre setores defeituosos. Geralmente, essas informações sobre um grupo de alocação são armazenadas dentro do próprio grupo de alocação.

Atributos adicionais podem ser associados em sistemas de arquivos, como NTFS, XFS, ext2, ext3, algumas versões do UFS e HFS+, usando atributos estendidos de arquivo. Alguns sistemas de arquivos fornecem atributos definidos pelo usuário, como o autor do documento, a codificação de caracteres de um documento ou o tamanho de uma imagem.

Alguns sistemas de arquivos permitem que diferentes coleções de dados sejam associadas a um nome de arquivo. Essas coleções separadas podem ser chamadas de fluxos ou garfos. A Apple usa há muito tempo um sistema de arquivos bifurcado no Macintosh, e a Microsoft suporta fluxos no NTFS. Alguns sistemas de arquivos mantêm várias revisões anteriores de um arquivo sob um único nome de arquivo. O nome do arquivo por si só recupera a versão mais recente, enquanto a versão salva anteriormente pode ser acessada usando uma convenção de nomenclatura especial, como "nome_do_arquivo;4" ou "nome_do_arquivo(-4)" para acessar a versão quatro salva.

Veja comparação de sistemas de arquivos para obter detalhes sobre quais sistemas de arquivos suportam quais tipos de metadados.

Sistema de arquivos como uma interface abstrata de usuário

Em alguns casos, um sistema de arquivos pode não fazer uso de um dispositivo de armazenamento, mas pode ser usado para organizar e representar o acesso a qualquer dado, seja armazenado ou gerado dinamicamente (por exemplo, procfs).

Utilitários

Os sistemas de arquivos incluem utilitários para inicializar, alterar parâmetros e remover uma instância do sistema de arquivos. Alguns incluem a capacidade de estender ou truncar o espaço alocado para o sistema de arquivos.

Os utilitários de diretório podem ser usados ​​para criar, renomear e excluir entradas de diretório, que também são conhecidas como dentries (singular: dentry), e para alterar metadados associados a um diretório. Os utilitários de diretório também podem incluir recursos para criar links adicionais para um diretório (hard links no Unix), para renomear links pai (".." em sistemas operacionais tipo Unix), e para criar links bidirecionais para arquivos.

Os utilitários de arquivos criam, listam, copiam, movem e excluem arquivos e alteram os metadados. Eles podem truncar dados, truncar ou estender a alocação de espaço, anexar, mover e modificar arquivos no local. Dependendo da estrutura subjacente do sistema de arquivos, eles podem fornecer um mecanismo para preceder ou truncar o início de um arquivo, inserir entradas no meio de um arquivo ou excluir entradas de um arquivo.

Utilitários para liberar espaço para arquivos excluídos, se o sistema de arquivos fornecer uma função de exclusão, também pertence a essa categoria.

Alguns sistemas de arquivos adiam operações como a reorganização do espaço livre, o apagamento seguro de espaço livre e a reconstrução de estruturas hierárquicas, fornecendo utilitários para executar essas funções em momentos de atividade mínima. Um exemplo são os utilitários de desfragmentação do sistema de arquivos.

Algumas das características mais importantes dos utilitários do sistema de arquivos envolvem atividades de supervisão que podem envolver ignorar a propriedade ou o acesso direto ao dispositivo subjacente. Isso inclui backup e recuperação de alto desempenho, replicação de dados e reorganização de várias estruturas de dados e tabelas de alocação dentro do sistema de arquivos.

Os tipos de sistemas de arquivos podem ser classificados em sistemas de arquivos de disco/fita, sistemas de arquivos de rede e sistemas de arquivos de propósito especial.

Sistemas de arquivos de disco

Um sistema de arquivos de disco aproveita a capacidade da mídia de armazenamento em disco para endereçar dados aleatoriamente em um curto período de tempo. Considerações adicionais incluem a velocidade de acesso aos dados após a solicitação inicial e a antecipação de que os dados seguintes também podem ser solicitados. Isso permite que vários usuários (ou processos) acessem vários dados no disco sem considerar a localização sequencial dos dados. Exemplos incluem FAT (FAT12, FAT16, FAT32), exFAT, NTFS, HFS e HFS+, HPFS, APFS, UFS, ext2, ext3, XFS, btrfs, ISO 9660, Files-11, Veritas File System, VMFS, ZFS, ReiserFS e UDF. Alguns sistemas de arquivos em disco são sistemas de arquivos de registro ou sistemas de arquivos de controle de versão.

Discos óticos

O ISO 9660 e o Universal Disk Format (UDF) são dois formatos comuns destinados a discos compactos, DVDs e discos Blu-ray. O Mount Rainier é uma extensão do suporte a UDF desde a série 2.6 do kernel do Linux e desde o Windows Vista que facilita a reescrita para DVDs.

Sistemas de arquivos de flash

Um sistema de arquivos de flash considera as habilidades especiais, o desempenho e as restrições dos dispositivos de memória flash. Freqüentemente, um sistema de arquivos em disco pode usar um dispositivo de memória flash como a mídia de armazenamento subjacente, mas é muito melhor usar um sistema de arquivos projetado especificamente para um dispositivo flash.

Sistemas de arquivos de fita

Um sistema de arquivos de fita é um sistema de arquivos e um formato de fita projetado para armazenar arquivos em fita em uma forma autodescritiva. As fitas magnéticas são mídias de armazenamento sequenciais com tempos de acesso a dados aleatórios significativamente maiores do que os discos, o que representa desafios para a criação e gerenciamento eficiente de um sistema de arquivos de uso geral.

Em um sistema de arquivos em disco, geralmente há um diretório de arquivos mestre e um mapa de regiões de dados usadas e livres. Quaisquer adições, alterações ou remoções de arquivos exigem a atualização do diretório e dos mapas usados​​/livres. O acesso aleatório às regiões de dados é medido em milissegundos, portanto, esse sistema funciona bem para discos.

A fita requer movimento linear para enrolar e desenrolar potencialmente bobinas de mídia muito longas. Esse movimento da fita pode levar de alguns segundos a vários minutos para mover a cabeça de leitura/gravação de uma extremidade da fita para a outra.

Consequentemente, um diretório de arquivos mestre e um mapa de uso podem ser extremamente lentos e ineficientes com fita. Escrever normalmente envolve ler o mapa de uso do bloco para encontrar blocos livres para gravação, atualizar o mapa e o diretório de uso para adicionar os dados e avançar a fita para gravar os dados no local correto. Cada gravação de arquivo adicional requer a atualização do mapa e do diretório e a gravação dos dados, o que pode levar vários segundos para ocorrer em cada arquivo.

Em vez disso, os sistemas de arquivos de fitas normalmente permitem que o diretório de arquivos seja distribuído pela fita intercalada com os dados, chamados de fluxo contínuo, de modo que os movimentos repetitivos e demorados da fita não sejam necessários para gravar novos dados.

No entanto, um efeito colateral desse design é que a leitura do diretório de arquivos de uma fita geralmente requer a verificação da fita inteira para ler todas as entradas de diretório espalhadas. A maioria dos softwares de arquivamento de dados que funciona com armazenamento em fita armazenará uma cópia local do catálogo de fitas em um sistema de arquivos em disco, para que a adição de arquivos a uma fita possa ser feita rapidamente sem necessidade de redigitalizar a mídia de fita. Geralmente, a cópia do catálogo de fitas local é descartada se não for usada por um período de tempo especificado. Nesse ponto, a fita deve ser verificada novamente se for usada no futuro.

A IBM desenvolveu um sistema de arquivos para fita chamado Linear Tape File System (em português: Sistema de Arquivos de Fita Linear). A implementação IBM desse sistema de arquivos foi lançada como o produto de código aberto IBM Linear Tape File - Single Drive Edition (LTFS-SDE). O Sistema de Arquivos de Fita Linear usa uma partição separada na fita para registrar os metadados de índice, evitando assim os problemas associados às entradas de diretório de dispersão em toda a fita.

Formatação de fita

Escrever dados em uma fita, apagar ou formatar uma fita é um processo demorado e que pode levar várias horas em fitas grandes. Com muitas tecnologias de fita de dados, não é necessário formatar a fita antes de sobrescrever novos dados nela. Isso se deve à natureza inerentemente destrutiva de sobrescrever dados em mídia sequencial.

Devido ao tempo que pode ser necessário para formatar uma fita, normalmente as fitas são pré-formatadas para que o seu usuário não precise gastar tempo preparando cada nova unidade para uso. Tudo o que é normalmente necessário é escrever um rótulo de mídia de identificação para a fita antes do uso, e mesmo isso pode ser escrito automaticamente pelo software quando uma nova fita é usada pela primeira vez.

Sistemas de arquivos de banco de dados

Outro conceito para gerenciamento de arquivos é a ideia de um sistema de arquivos baseado em banco de dados. Em vez de, ou além do gerenciamento estruturado hierárquico, os arquivos são identificados por suas características, como tipo de arquivo, tópico, autor ou metadados ricos semelhantes.

O IBM DB2 para i (anteriormente conhecido como DB2/400 e DB2 para i5/OS) é um sistema de arquivos de banco de dados como parte do sistema operacional IBM i baseado em objetos (anteriormente conhecido como OS/400 e i5/OS), incorporando um armazenamento de nível único e rodando no IBM Power Systems (anteriormente conhecido como AS/400 e iSeries), projetado por Frank G. Soltis, ex-cientista-chefe da IBM para o IBM i. Por volta de 1978 a 1988, Frank G. Soltis e sua equipe da IBM Rochester projetaram e aplicaram com sucesso tecnologias como o sistema de arquivos de banco de dados, onde outros, como a Microsoft, mais tarde não conseguiram realizar. Essas tecnologias são informalmente conhecidas como 'Fortress Rochester' e eram, em alguns aspectos básicos, estendidas desde as primeiras tecnologias de mainframe, mas de muitas maneiras, mais avançadas do ponto de vista tecnológico.

Alguns outros projetos que não são sistemas de arquivos de banco de dados "puros", mas que usam alguns aspectos de um sistema de arquivos de banco de dados:

  • Muitos sistemas de gerenciamento de conteúdo da Web usam um SGBD relacional para armazenar e recuperar arquivos. Por exemplo, os arquivos XHTML são armazenados como campos XML ou de texto, enquanto os arquivos de imagem são armazenados como campos blob. As instruções SQL SELECT (com XPath opcional) recuperam os arquivos e permitem o uso de uma lógica sofisticada e de associações de informações mais ricas do que os "sistemas de arquivos comuns". Muitos CMSs também têm a opção de armazenar apenas metadados no banco de dados, com o sistema de arquivos padrão usado para armazenar o conteúdo dos arquivos.
  • Sistemas de arquivos muito grandes, incorporados por aplicativos como o Apache Hadoop e o Google File System, usam alguns conceitos de sistema de arquivos de banco de dados.

Sistemas e arquivos transacionais

Alguns programas precisam atualizar vários arquivos "todos de uma vez". Por exemplo, uma instalação de software pode escrever binários de programas, bibliotecas e arquivos de configuração. Se a instalação do software falhar, o programa poderá ficar inutilizável. Se a instalação estiver atualizando um utilitário de sistema principal, como o shell de comando, todo o sistema poderá ficar inutilizável.

O processamento de transações introduz a garantia de isolamento, que afirma que as operações dentro de uma transação estão ocultas de outros encadeamentos no sistema até que a transação seja confirmada e que as operações interferentes no sistema sejam serializadas corretamente com a transação. As transações também fornecem a garantia de atomicidade, garantindo que as operações dentro de uma transação sejam todas comprometidas ou que a transação possa ser abortada e o sistema descarte todos os seus resultados parciais. Isso significa que, se houver um travamento ou falha de energia, após a recuperação, o estado armazenado será consistente. O software será completamente instalado ou a instalação com falha será completamente revertida, mas uma instalação parcial não utilizável não será deixada no sistema.

O Windows, começando com o Vista, adicionou suporte a transações para o NTFS, em um recurso chamado de NTFS Transacional, mas seu uso hoje é desencorajado. Há vários protótipos de pesquisa de sistemas de arquivos transacionais para sistemas UNIX, incluindo o sistema de arquivos Valor, Amino, LFS e um sistema de arquivos ext3 transacional no kernel do TxOS, bem como sistemas de arquivos transacionais destinados a sistemas incorporados, como o TFFS.

Garantir a consistência em várias operações do sistema de arquivos é difícil, se não impossível, sem transações do sistema de arquivos. O bloqueio de arquivos pode ser usado como um mecanismo de controle de simultaneidade para arquivos individuais, mas normalmente não protege a estrutura de diretórios ou os metadados de arquivos. Por exemplo, o bloqueio de arquivos não pode impedir as condições de corrida do TOCTTOU em ligações simbólicas. O bloqueio de arquivos também não pode reverter automaticamente uma operação com falha, como uma atualização de software, pois isso requer atomicidade.

Os sistemas de arquivos de registro são uma técnica usada para introduzir a consistência no nível da transação nas estruturas do sistema de arquivos. Transações de registro não são expostas a programas como parte da API do SO, eles são usados ​​apenas internamente para garantir consistência na granularidade de uma única chamada de sistema.

Os sistemas de backup de dados normalmente não fornecem suporte para backup direto de dados armazenados de maneira transacional, o que dificulta a recuperação de conjuntos de dados confiáveis ​​e consistentes. A maioria dos softwares de backup simplesmente observa quais arquivos foram alterados desde um determinado momento, independentemente do estado transacional compartilhado entre vários arquivos no conjunto de dados geral. Como uma solução alternativa, alguns sistemas de banco de dados simplesmente produzem um arquivo de estado arquivado contendo todos os dados até aquele ponto, e o software de backup apenas faz backup e não interage diretamente com os bancos de dados transacionais ativos. A recuperação requer recriação separada do banco de dados do arquivo de estado, depois que o arquivo foi restaurado pelo software de backup.

Sistemas de arquivos de rede

Um sistema de arquivos de rede é um sistema de arquivos que atua como um cliente para um protocolo de acesso remoto a arquivos, fornecendo acesso a arquivos em um servidor. Os programas que usam interfaces locais podem criar, gerenciar e acessar de forma transparente diretórios e arquivos hierárquicos em computadores conectados em rede remota. Exemplos de sistemas de arquivos de rede incluem clientes para os protocolos NFS, AFS, SMB e clientes semelhantes a sistemas de arquivos para FTP e WebDAV.

Sistemas de arquivos compartilhados

Um sistema de arquivos compartilhado é aquele no qual uma quantidade de máquinas (normalmente servidores) possuem acesso ao mesmo subsistema de isco externo (normalmente um SAN). O sistema de arquivos arbitra acesso a este subsistema, prevenindo colisões de escrita. Exemplos incluem o GFS2 da Red Hat, o GPFS da IBM, o SFS da DataPlow, o CXFS da SGI e o StorNext da Quantum Corporation.

Sistemas de arquivos especiais

Um sistema de arquivos especial apresenta elementos não-arquivos de um sistema operacional como se fossem arquivos, para que possam ser acionados usando as APIs do sistema de arquivos. Isso é mais comumente feito em sistemas operacionais do tipo Unix, mas os dispositivos recebem nomes de arquivos em alguns sistemas operacionais não baseados em Unix também.

Sistemas de arquivos de dispositivo

Um sistema de arquivos de dispositivo representa dispositivos de E/S e pseudo-dispositivos como arquivos, chamados de arquivos de dispositivo. Exemplos em sistemas do tipo Unix incluem o devfs e, em sistemas Linux 2.6, o udev. Em sistemas não-Unix, como o TOPS-10 e outros sistemas operacionais influenciados por ele, nos quais o nome de arquivo ou nome de caminho completo de um arquivo pode incluir um prefixo de dispositivo, dispositivos diferentes daqueles que contêm sistemas de arquivos são referenciados por um prefixo de dispositivo especificando o dispositivo, sem nada seguindo-o.

Outros sistemas de arquivos especiais

  • No kernel do Linux, o configfs e o sysfs fornecem arquivos que podem ser usados para consultar o kernel em busca de informações e configurar entidades no kernel.
  • O procfs mapeia processos e, no Linux, outras estruturas de sistemas operacionais em um espaço no arquivo.

Sistema de arquivos mínimo / armazenamento de áudio-cassete

Nos anos 70, os dispositivos de fita digital e de disco eram muito caros para alguns dos primeiros usuários de microcomputadores. Foi desenvolvido um sistema básico de armazenamento de dados barato que usava fita cassete de áudio comum.

Quando o sistema precisou escrever dados, o usuário foi notificado para pressionar "RECORD" ("GRAVAR") no gravador de cassetes, depois pressionar "RETURN" ("ENTER") no teclado para notificar o sistema que o gravador estava gravando. O sistema escreveu um som para fornecer sincronização de horário, modulou sons que codificavam um prefixo, os dados, uma soma de verificação e um sufixo. Quando o sistema precisava ler os dados, o usuário era instruído a pressionar "PLAY" ("TOCAR") no gravador de cassetes. O sistema ouvia os sons na fita esperando até que uma explosão de som pudesse ser reconhecida como a sincronização. O sistema então interpretaria os sons subsequentes como dados. Quando a leitura dos dados fosse concluída, o sistema notificaria o usuário para pressionar "STOP" ("PARAR") no gravador. Era primitivo, mas funcionava (na maior parte do tempo). Os dados eram armazenados sequencialmente, geralmente em um formato sem nome, embora alguns sistemas (como a série de computadores Commodore PET) permitissem que os arquivos fossem nomeados. Vários conjuntos de dados podem ser gravados e localizados ao avançar rapidamente a fita e observar no contador de fita para encontrar o início aproximado da próxima região de dados na fita. O usuário pode ter que ouvir os sons para encontrar o ponto certo para começar a tocar a próxima região de dados. Algumas implementações incluíram até mesmo sons audíveis intercalados com os dados.

Sistemas de arquivos planos

Em um sistema de arquivos plano, não há subdiretórios. Entradas de diretório para todos os arquivos são armazenadas em um único diretório.

Quando a mídia de disquete esteve disponível pela primeira vez, esse tipo de sistema de arquivos era adequado devido à quantidade relativamente pequena de espaço de dados disponível. As máquinas CP/M apresentavam um sistema de arquivos planos, onde os arquivos podiam ser atribuídos a uma das 16 áreas de usuário e as operações de arquivos genéricos estreitavam para funcionar em uma delas, em vez de padronizar para trabalhar em todas elas. Essas áreas de usuário não eram mais do que atributos especiais associados aos arquivos, ou seja, não era necessário definir uma cota específica para cada uma dessas áreas e os arquivos poderiam ser adicionados a grupos enquanto ainda houvesse espaço de armazenamento livre no disco. O antigo Apple Macintosh também apresentava um sistema de arquivos plano, o Macintosh File System. Não era comum que o programa de gerenciamento de arquivos (Macintosh Finder) criasse a ilusão de um sistema de arquivamento parcialmente hierárquico em cima do EMFS. Essa estrutura exigia que cada arquivo tivesse um nome exclusivo, mesmo que parecesse estar em uma pasta separada. O IBM DOS/360 e o OS/360 armazenam entradas para todos os arquivos em um pacote de disco (volume) em um diretório no pacote chamado de Tabela de Conteúdo do Volume (VTOC).

Enquanto simples sistemas de arquivos planos tornam-se desajeitados à medida que o número de arquivos crescia e dificultava a organização de dados em grupos de arquivos relacionados.

Uma adição recente à família de sistemas de arquivos simples é o S3 da Amazon, um serviço de armazenamento remoto, que é intencionalmente simplista para permitir que os usuários personalizem como seus dados são armazenados. As únicas construções são os "buckets" (imagine uma unidade de disco de tamanho ilimitado) e objetos (semelhantes, mas não idênticos ao conceito padrão de um arquivo). O gerenciamento avançado de arquivos é permitido pela capacidade de usar praticamente qualquer caractere (incluindo '/') no nome do objeto e a capacidade de selecionar subconjuntos do conteúdo do bloco com base em prefixos idênticos.

Muitos sistemas operacionais incluem suporte para mais de um sistema de arquivos. Às vezes, o sistema operacional e o sistema de arquivos estão tão entrelaçados que é difícil separar as funções do sistema de arquivos.

É necessário que haja uma interface fornecida pelo software do sistema operacional entre o usuário e o sistema de arquivos. Essa interface pode ser textual (como fornecida por uma interface de linha de comando, como o shell do Unix ou o OpenVMS DCL) ou gráfica (como fornecida por uma interface gráfica do usuário, como navegadores de arquivos). Se gráfica, a metáfora da pasta, contendo documentos, outros arquivos e pastas aninhadas, é freqüentemente usada (veja também: diretório e pasta).

Sistemas operacionais Unix e do tipo Unix

Sistemas operacionais do tipo Unix criam um sistema de arquivos virtual, o que faz com que todos os arquivos em todos os dispositivos pareçam existir em uma única hierarquia. Isso significa que, nesses sistemas, existe um diretório raiz e cada arquivo existente no sistema está localizado em algum lugar. Esses sistemas podem usar um disco RAM ou um recurso compartilhado de rede como seu diretório raiz.

Sistemas do tipo Unix atribuem um nome de dispositivo a cada dispositivo, mas não é assim que os arquivos desse dispositivo são acessados. Em vez disso, para obter acesso a arquivos em outro dispositivo, o sistema operacional deve primeiro ser informado de onde, na árvore de diretórios, esses arquivos devem aparecer. Esse processo é chamado de montagem de um sistema de arquivos. Por exemplo, para acessar os arquivos em um CD-ROM, deve-se informar ao sistema operacional "Retire o sistema de arquivos deste CD-ROM e faça-o aparecer em tal diretório". O diretório fornecido ao sistema operacional é chamado de ponto de montagem - pode, por exemplo, ser /media. O diretório /media existe em muitos sistemas Unix (conforme especificado no Filesystem Hierarchy Standard) e destina-se especificamente para uso como um ponto de montagem para mídia removível, como CDs, DVDs, drives USB ou disquetes. Pode estar vazio ou pode conter subdiretórios para montar dispositivos individuais. Geralmente, apenas o administrador (ou seja, usuário root) pode autorizar a montagem de sistemas de arquivos.

Os sistemas operacionais do tipo Unix geralmente incluem software e ferramentas que auxiliam no processo de montagem e fornecem uma nova funcionalidade. Algumas dessas estratégias foram denominadas "montagem automática" como um reflexo de seu propósito.

  • Em muitas situações, os sistemas de arquivos diferentes da raiz precisam estar disponíveis assim que o sistema operacional for inicializado. Todos os sistemas do tipo Unix, portanto, fornecem uma facilidade para montar sistemas de arquivos no momento da inicialização. Os administradores do sistema definem esses sistemas de arquivos no arquivo de configuração fstab (vfstab no Solaris), que também indica opções e pontos de montagem.
  • Em algumas situações, não há necessidade de montar certos sistemas de arquivos no momento da inicialização, embora seu uso possa ser desejado a partir de então. Existem alguns utilitários para sistemas do tipo Unix que permitem a montagem de sistemas de arquivos pré-definidos sob demanda.
  • Mídia removível se tornou muito comum em plataformas de microcomputadores. Eles permitem que programas e dados sejam transferidos entre máquinas sem uma conexão física. Exemplos comuns incluem unidades flash USB, CD-ROMs e DVDs. Utilitários foram, portanto, desenvolvidos para detectar a presença e disponibilidade de um meio e, em seguida, montá-lo sem qualquer intervenção do usuário.
  • Sistemas progressivos semelhantes ao Unix também introduziram um conceito chamado de supermontagem. Veja, por exemplo, o . Por exemplo, um disquete que foi supermontado pode ser fisicamente removido do sistema. Em circunstâncias normais, o disco deveria ter sido sincronizado e desmontado antes de sua remoção. Desde que a sincronização tenha ocorrido, um disco diferente pode ser inserido na unidade. O sistema percebe automaticamente que o disco foi alterado e atualiza o conteúdo do ponto de montagem para refletir o novo meio.
  • Um montador automático montará automaticamente um sistema de arquivos quando for feita uma referência ao diretório em cima do qual ele deve ser montado. Isso geralmente é usado para sistemas de arquivos em servidores de rede, em vez de depender de eventos como a inserção de mídia, como seria apropriado para mídia removível.

Linux

O Linux suporta vários sistemas de arquivos, mas as opções comuns para o disco do sistema em um dispositivo de bloco incluem a família ext* (ext2, ext3 e ext4), XFS, JFS e btrfs. Para flash bruto sem uma camada de tradução de flash (FTL) ou Dispositivo de Tecnologia de Memória (MTD), existem o UBIFS, JFFS2 e YAFFS, entre outros. O SquashFS é um sistema comum de arquivos compactados somente para leitura.

macOS

O macOS (antigo Mac OS X) usa o Apple File System (APFS), que recentemente substituiu um sistema de arquivos herdado do Mac OS clássico, chamado de HFS Plus. A Apple também usa o termo "Mac OS Extended". O HFS Plus é um sistema de arquivos rico em metadados e com preservação de caixa, mas (geralmente) insensível a caixa. Devido às raízes do Unix do macOS, as permissões do Unix foram adicionadas ao HFS Plus. Versões posteriores do HFS Plus adicionaram registro (journaling) para evitar a corrupção da estrutura do sistema de arquivos e introduziram várias otimizações nos algoritmos de alocação, na tentativa de desfragmentar arquivos automaticamente, sem a necessidade de um desfragmentador externo.

Os nomes dos arquivos podem ter até 255 caracteres. O HFS Plus usa o Unicode para armazenar nomes de arquivos. No macOS, o tipo de arquivo pode vir do código de tipo, armazenado nos metadados do arquivo ou na extensão do nome do arquivo.

O HFS Plus possui três tipos de ligações: ligações físicas no estilo Unix, ligações simbólicas no estilo Unix e aliases. Os aliases são projetados para manter uma ligação para o arquivo original, mesmo se forem movidos ou renomeados. Eles não são interpretados pelo próprio sistema de arquivos, mas pelo código do Gerenciador de Arquivos no espaço do usuário.

O MacOS 10.13 High Sierra, que foi anunciado em 5 de junho de 2017 no evento WWDC da Apple, usa o Apple File System em unidades de estado sólido.

O macOS também suportava o sistema de arquivos UFS, derivado do BSD Unix Fast File System via NeXTSTEP. No entanto, a partir do Mac OS X Leopard, o macOS não pode mais ser instalado em um volume UFS, nem um sistema pré-Leopard instalado em um volume UFS pode ser atualizado para o Leopard. A partir do Mac OS X Lion, o suporte a UFS foi completamente eliminado.

As versões mais recentes do macOS são capazes de ler e gravar nos sistemas de arquivos FAT legados (16 e 32) comuns no Windows. Eles também são capazes de ler os mais novos sistemas de arquivos NTFS para Windows. Para gravar em sistemas de arquivos NTFS em versões macOS anteriores ao Mac OS X Snow Leopard é necessário softwares de terceiros. O Mac OS X 10.6 (Snow Leopard) e posteriores, permitem a gravação em sistemas de arquivos NTFS, mas somente após uma alteração de configuração de sistema não trivial (existe um software de terceiros que automatiza isso).

Finalmente, o macOS suporta leitura e escrita do sistema de arquivos exFAT desde o Mac OS X Snow Leopard, a partir da versão 10.6.5.

Microsoft Windows

Listagem de diretórios em um shell de comando do Windows

O Windows faz uso dos sistemas de arquivos FAT, NTFS, exFAT, Live File System e ReFS (o último deles é suportado e utilizável apenas no Windows Server 2012, no Windows Server 2016, no Windows 8, no Windows 8.1 e no Windows 10. O Windows não pode ser inicializado a partir dele).

O Windows usa uma abstração de letra de unidade no nível de usuário para distinguir um disco ou partição de outro. Por exemplo, o caminho C:\WINDOWS representa um diretório WINDOWS na partição representada pela letra C. A unidade C: é mais comumente usada para a partição primária da unidade de disco rígido, na qual o Windows é normalmente instalado e a partir do qual é inicializado. Essa "tradição" tornou-se tão firmemente enraizada que existem erros em muitas aplicações que fazem suposições de que a unidade em que o sistema operacional está instalado é a C. O uso de letras de unidade e a tradição de usar "C" como letra de a partição da unidade de disco rígido principal, pode ser rastreada para o MS-DOS, onde as letras A e B foram reservadas para até duas unidades de disquete. Isso, por sua vez, derivou do CP/M na década de 1970 e, em última instância, do CP/CMS da IBM de 1967.

FAT

A família de sistemas de arquivos FAT é suportada por quase todos os sistemas operacionais para computadores pessoais, incluindo todas as versões do Windows e MS-DOS/PC DOS, OS/2 e DR-DOS. (PC DOS é uma versão OEM do MS-DOS, o MS-DOS foi originalmente baseado no 86-DOS do SCP. O DR-DOS foi baseado no Concurrent DOS da Digital Research, um sucessor do CP/M-86). Os sistemas de arquivos FAT são, portanto, bem adequados como um formato de intercâmbio universal entre computadores e dispositivos da maioria de qualquer tipo e idade.

O sistema de arquivos FAT traça suas raízes de volta para um precursor FAT de 8 bits (incompatível) no Standalone Disk BASIC e no projeto MDOS/MIDAS de curta duração.

Ao longo dos anos, o sistema de arquivos foi expandido de FAT12 para FAT16 e FAT32. Vários recursos foram adicionados ao sistema de arquivos, incluindo subdiretórios, suporte a páginas de códigos, atributos estendidos e nomes extensos de arquivos. Terceiros, como a Digital Research, incorporaram suporte opcional para rastreamento de exclusão e esquemas de segurança multiusuário baseados em volume/diretório/arquivo para oferecer suporte a senhas e permissões de arquivos e diretórios, como direitos de acesso para leitura/gravação/execução/exclusão. A maioria dessas extensões não é suportada pelo Windows.

Os sistemas de arquivos FAT12 e FAT16 tinham um limite no número de entradas no diretório raiz do sistema de arquivos e tinham restrições quanto ao tamanho máximo dos discos ou partições formatados em FAT.

O FAT32 aborda as limitações em FAT12 e FAT16, exceto para o limite de tamanho de arquivo próximo a 4 GB, mas permanece limitado comparado ao NTFS.

FAT12, FAT16 e FAT32 também têm um limite de oito caracteres para o nome do arquivo e três caracteres para a extensão (como .exe). Isso é comumente chamado de limite de nome de arquivo 8.3. O VFAT, uma extensão opcional para o FAT12, FAT16 e FAT32, introduzida no Windows 95 e no Windows NT 3.5, permitia que os nomes de arquivos longos (LFN) fossem armazenados no sistema de arquivos FAT de maneira compatível com versões anteriores.

NTFS

Ver artigo principal: NTFS

O NTFS, introduzido com o sistema operacional Windows NT em 1993, permitiu o controle de permissão baseado em ACL. Outros recursos também suportados pelo NTFS incluem ligações físicas, vários fluxos de arquivos, indexação de atributos, rastreamento de cota, arquivos esparsos, criptografia, compactação e pontos de nova análise (diretórios que funcionam como pontos de montagem para outros sistemas de arquivos, ligações simbólicas, junções de armazenamento remoto).

exFAT

Ver artigo principal: exFAT

O exFAT é um sistema de arquivos proprietário e protegido por patente com certas vantagens sobre o NTFS em relação à sobrecarga de sistema de arquivos.

O exFAT não é compatível com sistemas de arquivos FAT, como FAT12, FAT16 ou FAT32. Ele é compatível com os sistemas Windows mais recentes, como o Windows Server 2003, o Windows Vista, o Windows 2008, o Windows 7, o Windows 8 e, mais recentemente, o suporte foi adicionado ao Windows XP.

O exFAT é suportado no macOS a partir da versão 10.6.5 (Snow Leopard). O suporte em outros sistemas operacionais é esparso, pois a Microsoft não publicou as especificações do sistema de arquivos e a implementação do suporte para exFAT requer uma licença. O exFAT é o único sistema de arquivos totalmente suportado no macOS e no Windows que pode conter arquivos maiores que 4 GB.

Um arquivo possui certos atributos que variam de um sistema operacional para o outro, mas que normalmente são os seguintes:

  • Nome: o nome simbólico do arquivo é a única informação conservada em forma legível pelas pessoas.
  • Identificador: este rótulo único, usualmente um numero, identifica o arquivo dentro do sistema de arquivo; é o nome não legível pelas pessoas.
  • Tipos : esta informação é necessária para aqueles sistemas que suportam diferentes tipos.
  • Posição: esta informação é um ponteiro para um dispositivo e para a posição do arquivo naquele dispositivo.
  • Tamanho: o tamanho corrente do arquivo e possivelmente o tamanho máximo permitido estão incluídos neste atributo.
  • Proteção: a informação de controlo de acesso determina quem pode ler o arquivo, gravá-lo, executá-lo e assim por diante.
  • Hora, data e identificação do usuário: estas informações podem ser conservadas em relação a data da criação, ultima modificação e ultima utilização do arquivo. Estes dados podem ser úteis para proteção, segurança e monitoramento de uso do arquivo.

A informação sobre todos os arquivos é conservada na estrutura do diretório que também reside em memória secundária. A entrada de um diretório consiste no nome do arquivo com seu identificador único. O identificador, por sua vez, permite localizar os demais atributos do arquivo. O registro desta informação para cada arquivo pode ocupar mais que um kilobyte. Em um sistema com muitos arquivos o tamanho do próprio diretório pode ocupar megabytes. Como os diretórios, da mesma forma que os arquivos, devem ser não voláteis, precisam ser armazenados em dispositivos e conduzidos à memória gradativamente, conforme necessário.

Um arquivo é um tipo abstrato de dados. Para definir apropriadamente um arquivo, precisamos considerar as operações que podem ser realizadas sobre arquivos. O sistema operacional pode oferecer chamadas de sistema para criar, gravar, ler, reposicionar, apagar e truncar arquivos. O sistema operacional deve fazer em relação a cada uma das seis operações de arquivos básicas.

  • Criando um arquivo: deve ser alocado espaço para o arquivo no sistema de arquivos. Deve ser criada uma entrada para o novo arquivo no diretório. A entrada do diretório registra o nome do arquivo e sua posição no sistema de arquivos, além de outras informações possíveis.
  • Gravando um arquivo: para gravar um arquivo, emitimos uma chamada de sistema especificando tanto o nome do arquivo como a informação a ser gravada. Dado o nome do arquivo, o sistema percorre o diretório em busca da sua localização. O sistema deve manter um ponteiro de gravação para a posição do arquivo onde a nova gravação devera ser realizada. O ponteiro precisa ser atualizado sempre que ocorrer uma gravação.
  • Lendo um arquivo: para ler um arquivo, utilizamos uma chamada de sistema que especifica o nome do arquivo e onde na memória é o próximo bloco do arquivo que deverá ser alocado. O diretório é pesquisado em busca da entrada associada e o sistema precisa manter um ponteiro de leitura para a posição no arquivo a partir de onde devera ocorrer a próxima leitura. Após a leitura ter sido feita, o ponteiro de leitura é atualizado. Um determinado processo esta normalmente lendo ou gravando um dado arquivo, e a posição da operação em curso é guardada como um ponteiro para a posição corrente do arquivo, para cada processo. Tanto a operação de leitura como a de gravação, utiliza este mesmo ponteiro, economizando espaço e reduzindo a complexidade do sistema.
  • Reposicionando dentro de um arquivo: o diretório é percorrido em busca da entrada apropriada, e a posição corrente do arquivo é posicionada para um determinado valor. O reposicionamento dentro de um arquivo não precisa envolver um I/O real. Esta operação é também conhecida como busca de arquivo.
  • Apagando um arquivo: para apagar um arquivo, procuramos no diretório o arquivo pelo nome. Após encontrar a entrada correta do diretório, liberamos todo o espaço do arquivo, de modo que este espaço possa ser reutilizado por outros arquivos, e apagamos a entrada do diretório.
  • Trocando um arquivo: o usuário pode desejar apagar o conteúdo de um arquivo, mas conservar seus atributos. Em lugar de obrigar o usuário a apagar completamente o arquivo e recriá-lo, esta função permite que todos os atributos - exceto o tamanho - sejam mantidos, reposicionando o arquivo com tamanho zero.

Do ponto de vista de projeto, as camadas do sistema de arquivos podem ser entendidas conforme a hieraquia abaixo:

  1. Programas/aplicativos
  2. Sistemas de arquivos lógicos
  3. Módulo de organização de arquivos
  4. Sistema básico de arquivos
  5. Controle de E/S
  6. Dispositivos

Cada camada possui características/funcionalidades específicas.

Apple Macintosh (Mac OS)
  • HFS
  • HFS+
  • APFS
UNIX (FreeBSD, OpenBSD, Linux, Solaris, Red Hat, Android, etc.)
  • UFS
  • Ext
  • Ext2
  • Ext3
  • Ext4
  • SWAP
  • Reiser
  • HPFS
  • JFS
  • XFS
  • ZFS
IBM (AIX, OS/2)
  • JFS (AIX Version 3.1 ou superior, OS/2 Warp)
  • HPFS - High Performance File System
MS-DOS/Microsoft Windows
  • FAT 12 - Microsoft BASIC Disk - MSDOS 4.0
  • FAT 16 ou FAT - DOS 4.0 ou superior / Windows 1.X ou superior (1.x, 2.x, 3.x, 95, 98, ME, 2000, XP,...)
  • FAT 32 - MS-DOS 7.1 e 8.0 / Windows 95 (versão OSR2!), ou superior (95 OSR2, 98, ME, NT, 2000, XP...)
  • ExFAT - FAT Estendido, também conhecido como FAT64, Windows XP ou superior ( Vista, 7...)
  • NTFS - Windows NT ou superior (NT, 2000, XP, 2003 Server,...)
  • Sistema de Arquivos Interplanetário
  • Sistema de arquivos virtual
  • VFAT - conceito generalista que se refere a qualquer formato FAT que possibilite Long FileNames - nomes de ficheiro longos - (exs: FAT16 e FAT32)

Notas

  1. Uma fita LTO-6 de 2,5 TB requer mais de 4 horas para gravação a 160 MB/s

Referências

  1. . www.multicians.org. Consultado em 9 de maio de 2012
  2. Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), (PDF), Arpaci-Dusseau Books
  3. Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), (PDF), Arpaci-Dusseau Books
  4. McGill, Florence E. (1922). . [S.l.]: Gregg Publishing Company. p. 197. Consultado em 1º de agosto de 2016
  5. Waring, R.L. (1961). . Cincinnati, OH: Svco Corporation. Consultado em 1º de agosto de 2016
  6. . [S.l.]: American Data Processing. 1964. Consultado em 1º de agosto de 2016
  7. Amir, Yair. . Department of Computer Science Johns Hopkins University. Consultado em 31 de julho de 2016
  8. IBM Corporation. . IBM Knowledge Center. Consultado em 31 de julho de 2016
  9. R. C. Daley; P. G. Neumann (1965). . Fall Joint Computer Conference. AFIPS. pp. 213–229. doi:. Consultado em 30 de julho de 2011
  10. Mohan, I. Chandra (2013). . Delhi: PHI Learning Pvt. Ltd. p. 166. ISBN 9788120347267. Consultado em 27 de julho de 2014. The word dentry is short for 'directory entry'. A dentry is nothing but a specific component in the path from the root. They (directory name or file name) provide for accessing files or directories[.]
  11. . theregister.co.uk. 29 de março de 2002. Consultado em 7 de fevereiro de 2014
  12. . 03.ibm.com. Consultado em 7 de fevereiro de 2014
  13. . Ibm.com. 8 de março de 2011. Consultado em 7 de fevereiro de 2014
  14. . theregister.co.uk. 28 de janeiro de 2002. Consultado em 7 de fevereiro de 2014
  15. . Msdn.microsoft.com. 5 de dezembro de 2013. Consultado em 7 de fevereiro de 2014
  16. Spillane, Richard; Gaikwad, Sachin; Chinni, Manjunath; Zadok, Erez and Wright, Charles P.; 2009; ; Seventh USENIX Conference on File and Storage Technologies (FAST 2009)
  17. Wright, Charles P.; Spillane, Richard; Sivathanu, Gopalan; Zadok, Erez; 2007; ; ACM Transactions on Storage
  18. Selzter, Margo I.; 1993; ; Proceedings of the Ninth International Conference on Data Engineering
  19. Porter, Donald E.; Hofmann, Owen S.; Rossbach, Christopher J.; Benn, Alexander and Witchel, Emmett; 2009; ; In the Proceedings of the 22nd ACM Symposium on Operating Systems Principles (SOSP '09), Big Sky, MT, outubro de 2009.
  20. Gal, Eran; Toledo, Sivan;
  21. . Apple. 8 de agosto de 2013. Consultado em 7 de fevereiro de 2014
  22. . Apple. Consultado em 8 de fevereiro de 2014
  23. . apple.com. Consultado em 29 de abril de 2016
  24. OSXDaily. . Consultado em 6 de fevereiro de 2014
  25. Steve Bunting (14 de agosto de 2012). . [S.l.]: Books.google.com. Consultado em 7 de fevereiro de 2014

  • (em inglês)

O que é um sistema de arquivos e que sistemas de ficheiros existem para o windows?

sistema, ficheiros, língua, vigiar, editar, redirecionado, sistema, arquivos, computação, sistema, ficheiros, português, europeu, sistema, arquivos, português, brasileiro, também, conhecido, sistema, gestão, ficheiros, forma, organização, dados, algum, meio, a. Sistema de ficheiros Lingua Vigiar Editar Redirecionado de Sistema de Arquivos Em computacao sistema de ficheiros portugues europeu ou sistema de arquivos portugues brasileiro tambem conhecido por sistema de gestao de ficheiros e a forma de organizacao de dados em algum meio de armazenamento de dados em massa frequentemente feito em discos magneticos 1 Ele controla como os dados sao armazenados e recuperados possibilitando ao sistema operacional decodificar os dados armazenados e le los ou grava los Sem um sistema de arquivos as informacoes colocadas em um meio de armazenamento seriam um grande corpo de dados sem nenhuma maneira de dizer onde uma parte da informacao termina e a proxima comeca Ao separar os dados em pedacos e dar um nome a cada peca a informacao e facilmente isolada e identificada Tomando seu nome a partir do modo como os sistemas de informacao baseados em papel sao nomeados cada grupo de dados e chamado de arquivo A estrutura e as regras logicas usadas para gerenciar os grupos de informacoes e seus nomes sao chamadas de sistema de arquivos Representacao visual de um sistema de ficheiros contanto com diretorios pastas e ficheiros arquivos Existem muitos tipos diferentes de sistemas de arquivos Cada um tem estrutura e logica diferentes propriedades de velocidade flexibilidade seguranca tamanho e muito mais Alguns sistemas de arquivos foram projetados para serem usados em aplicativos especificos Por exemplo o sistema de arquivos ISO 9660 foi projetado especificamente para discos opticos Os sistemas de arquivos podem ser usados em varios tipos diferentes de dispositivos de armazenamento que usam diferentes tipos de midia O dispositivo de armazenamento mais comum em uso hoje e uma unidade de disco rigido Outros tipos de midia usados incluem memoria flash fitas magneticas e discos opticos Em alguns casos como no tmpfs a memoria principal do computador memoria de acesso aleatorio RAM e usada para criar um sistema de arquivos temporario para uso a curto prazo Alguns sistemas de arquivos sao usados em dispositivos locais de armazenamento de dados 2 outros fornecem acesso a arquivos por meio de um protocolo de rede por exemplo clientes NFS 3 SMB ou 9P Alguns sistemas de arquivos sao virtuais o que significa que os arquivos fornecidos chamados de arquivos virtuais sao computados mediante solicitacao como procfs e sysfs ou sao apenas um mapeamento em um sistema de arquivos diferente usado como armazenamento de backup O sistema de arquivos gerencia o acesso ao conteudo dos arquivos e aos metadados sobre esses arquivos E responsavel por organizar o espaco de armazenamento A confiabilidade eficiencia e ajuste com relacao ao meio fisico de armazenamento sao importantes consideracoes de projeto Indice 1 Origem do termo 2 Arquitetura 3 Aspectos de sistemas de arquivos 3 1 Gerenciamento de espaco 3 2 Nomes de arquivo 3 3 Diretorios 3 4 Metadados 3 5 Sistema de arquivos como uma interface abstrata de usuario 3 6 Utilitarios 4 Tipos e sistemas de arquivos 4 1 Sistemas de arquivos de disco 4 1 1 Discos oticos 4 2 Sistemas de arquivos de flash 4 3 Sistemas de arquivos de fita 4 3 1 Formatacao de fita 4 4 Sistemas de arquivos de banco de dados 4 5 Sistemas e arquivos transacionais 4 6 Sistemas de arquivos de rede 4 7 Sistemas de arquivos compartilhados 4 8 Sistemas de arquivos especiais 4 8 1 Sistemas de arquivos de dispositivo 4 8 2 Outros sistemas de arquivos especiais 4 9 Sistema de arquivos minimo armazenamento de audio cassete 4 10 Sistemas de arquivos planos 5 Sistemas de arquivos e sistemas operacionais 5 1 Sistemas operacionais Unix e do tipo Unix 5 1 1 Linux 5 1 2 macOS 5 2 Microsoft Windows 5 2 1 FAT 5 2 2 NTFS 5 2 3 exFAT 6 Atributos de arquivos 7 Operacoes sobre arquivos 8 Camadas 9 Sistemas de ficheiros mais conhecidos 10 Ver tambem 11 Notas 12 Referencias 13 Ligacoes externasOrigem do termo EditarAntes do advento dos computadores o termo sistema de arquivos era usado para descrever um metodo de armazenamento e recuperacao de documentos em papel 4 Em 1961 o termo estava sendo aplicado ao arquivamento computadorizado ao lado do significado original 5 Em 1964 ja era de uso geral 6 Fazendo analogias tal organizacao assemelha se a uma biblioteca escolar O bibliotecario organiza os livros conforme um padrao cuja busca convenientemente procura deixar mais facil sem ocupar muitas prateleiras e assegurando a integridade deste Ainda certamente organiza os livros segundo suas caracteristicas assunto censura etc Depois de organizados ou durante a organizacao o bibliotecario cria uma lista com todos os livros da biblioteca com seus assuntos localizacoes e codigos respectivos Aplicando a analogia a informatica o sistema operacional seria o bibliotecario da biblioteca de dados do computador o disco de armazenamento Exatamente igual a organizacao de uma biblioteca o sistema operacional guarda os dados nos espacos vazios do disco rotulando os com um FCB File Control Block Bloco de Controle de Arquivo e ainda criando uma lista com a posicao deste dado chamada de MFT Master File Table Tabela de Arquivos Mestre Sabendo a posicao do arquivo a ser aberto gravado o sistema operacional solicita a leitura desta decodifica codifica e realiza a abertura gravacao do dado Um sistema de ficheiro e assim uma forma de criar uma estrutura logica de acesso a dados numa particao Sendo assim tambem e importante referir que nunca podera ter dois ou mais tipos de sistemas de ficheiros formatos numa mesma particao O MBR Master Boot Record e um arquivo de dados interligado com a BIOS cuja importancia e o reconhecimento do sistema de arquivos como tambem na inicializacao do sistema operacional Para a maioria dos usuarios o sistema de arquivos e o aspecto mais visivel de um sistema operacional Ele fornece o mecanismo para o armazenamento online e o acesso relacionado tantos aos dados como aos programas do sistema operacional e de todos os usuarios do sistema de computacao O sistema de arquivos consiste em duas partes distintas uma colecao de arquivos cada um deles armazenando dados relacionados e uma estrutura de diretorios que organiza e fornece informacao sobre todos os arquivos do sistema Alguns sistemas de arquivos tem uma terceira parte as particoes utilizadas para separar fisica ou logicamente grandes colecoes de diretorios Arquitetura EditarUm sistema de arquivos consiste em duas ou tres camadas As vezes as camadas sao explicitamente separadas e as vezes as funcoes sao combinadas 7 O sistema de arquivos logico e responsavel pela interacao com o aplicativo do usuario Ele fornece a interface de programacao de aplicacoes API para operacoes de arquivo OPEN CLOSE READ etc e passa a operacao solicitada para a camada abaixo para processamento O sistema de arquivos logico gerencia as entradas da tabela de arquivos abertos e os descritores de arquivos por processo 8 Esta camada fornece acesso a arquivos operacoes de diretorio seguranca e protecao 7 A segunda camada opcional e o sistema de arquivos virtual Esta interface permite o suporte para multiplas instancias simultaneas de sistemas de arquivos fisicos cada um dos quais e chamado de implementacao de sistema de arquivos 8 A terceira camada e o sistema de arquivos fisico Esta camada esta relacionada com o funcionamento fisico do dispositivo de armazenamento por exemplo disco Ele processa blocos fisicos que estao sendo lidos ou gravados Ele lida com o gerenciamento de buffer e de memoria e e responsavel pelo posicionamento fisico de blocos em locais especificos no meio de armazenamento O sistema de arquivos fisico interage com os drivers de dispositivo ou com o canal para controlar o dispositivo de armazenamento 7 Aspectos de sistemas de arquivos EditarGerenciamento de espaco Editar Observacao isto aplica se somente a sistemas de arquivos usados em dispositivos de armazenamento Um exemplo de espaco de folga demonstrado com clusters NTFS de 4 096 bytes 100 000 arquivos cada um cinco bytes por arquivo o que equivale a 500 000 bytes de dados reais mas requerendo 409 600 000 bytes de espaco em disco para armazenamento Os sistemas de arquivos alocam o espaco de maneira granular geralmente varias unidades fisicas no dispositivo O sistema de arquivos e responsavel por organizar os arquivos e diretorios e manter o controle de quais areas da midia pertencem a qual arquivo e quais nao estao sendo usadas Por exemplo no Apple DOS do inicio dos anos 80 os setores de 256 bytes em disquetes de 140 kilobytes usavam um mapa de trilha setor Isso resulta em espaco nao utilizado quando um arquivo nao e um multiplo exato da unidade de alocacao as vezes referido como espaco de folga Para uma alocacao de 512 bytes o espaco medio nao utilizado e de 256 bytes Para clusters de 64 KB o espaco medio nao utilizado e de 32 KB O tamanho da unidade de alocacao e escolhido quando o sistema de arquivos e criado Escolher o tamanho da alocacao com base no tamanho medio dos arquivos que se espera estar no sistema de arquivos pode minimizar a quantidade de espaco inutilizavel Frequentemente a alocacao padrao pode fornecer uso razoavel Escolher um tamanho de alocacao que seja muito pequeno resulta em sobrecarga excessiva se o sistema de arquivos contiver arquivos na maioria muito grandes Sistemas de arquivos podem se tornar fragmentados A fragmentacao de sistema de arquivos ocorre quando o espaco nao utilizado ou os arquivos individuais nao sao contiguos Como um sistema de arquivos e usado os arquivos sao criados modificados e excluidos Quando um arquivo e criado o sistema de arquivos aloca espaco para os dados Alguns sistemas de arquivos permitem ou exigem a especificacao de uma alocacao de espaco inicial e alocacoes incrementais subsequentes a medida que o arquivo cresce A medida que os arquivos sao excluidos o espaco que eles foram alocados eventualmente e considerado disponivel para uso por outros arquivos Isso cria areas utilizadas e nao utilizadas alternadas de varios tamanhos Esta e a fragmentacao do espaco livre Quando um arquivo e criado e nao ha uma area de espaco contiguo disponivel para sua alocacao inicial o espaco deve ser atribuido em fragmentos Quando um arquivo e modificado de modo a ficar maior ele pode exceder o espaco inicialmente alocado a ele outra alocacao deve ser atribuida em outro lugar e o arquivo se torna fragmentado Nomes de arquivo Editar Um nome de arquivo e usado para identificar uma localizacao de armazenamento no sistema de arquivos A maioria dos sistemas de arquivos possuem restricoes de comprimento de nomes de arquivo Em alguns sistemas de arquivos nomes de arquivos nao sao sensiveis a caixa isto e os nomes MEUARQUIVO e meuarquivo referem se ao mesmo arquivo em outros os nomes de arquivos sao sensiveis a caixa isto e os nomes MEUARQUIVO MeuArquivo e meuarquivo referem se a tres arquivos separados A maioria dos sistemas de arquivos modernos permitem que nomes de arquivos contenham uma grande variedade de caracteres do conjunto de caracteres Unicode Entretanto eles podem possuir restricoes no uso de certos caracteres especiais impedindo os de serem usados dentro de nomes de arquivos Esses caracteres podem ser usados para indicar um dispositivo tipo de dispositivo prefixo de diretorio separador de caminho de arquivo ou tipo de arquivo Diretorios Editar Ver artigo principal Diretorio computacao Os sistemas de arquivos geralmente possuem diretorios tambem chamados de pastas que permitem ao usuario agrupar arquivos em colecoes separadas Isso pode ser implementado associando o nome do arquivo a um indice em uma tabela de conteudos ou a um inode em um sistema de arquivos do tipo Unix As estruturas de diretorios podem ser planas ou seja lineares ou permitir hierarquias nas quais os diretorios podem conter subdiretorios O primeiro sistema de arquivos a suportar hierarquias arbitrarias de diretorios foi usado no sistema operacional Multics 9 Os sistemas de arquivos nativos de sistemas semelhantes ao Unix tambem suportam hierarquias de diretorios arbitrarios como por exemplo o Hierarchical File System da Apple e seu sucessor HFS no Mac OS classico o sistema de arquivos FAT no MS DOS 2 0 e versoes posteriores e no Microsoft Windows o sistema de arquivos NTFS na familia Windows NT de sistemas operacionais e o ODS 2 On Disk Structure 2 e niveis mais altos do sistema de arquivos Files 11 no OpenVMS Metadados Editar Outras informacoes de escrituracao contabil normalmente sao associadas a cada arquivo dentro de um sistema de arquivos O comprimento dos dados contidos em um arquivo pode ser armazenado como o numero de blocos alocados para o arquivo ou como uma contagem de bytes A hora em que o arquivo foi modificado pela ultima vez pode ser armazenada como o registro de data e hora do arquivo Os sistemas de arquivos podem armazenar o horario de criacao do arquivo a hora em que ele foi acessado pela ultima vez a hora em que os metadados do arquivo foram alterados ou a hora em que o arquivo foi copiado pela ultima vez Outras informacoes podem incluir o tipo de dispositivo do arquivo por exemplo bloco caractere soquete subdiretorio etc seu ID de usuario e ID de grupo de proprietario suas permissoes de acesso e outros atributos de arquivo por exemplo se o arquivo e somente leitura executavel etc Um sistema de arquivos armazena todos os metadados associados ao arquivo incluindo o nome do arquivo o comprimento do conteudo de um arquivo e o local do arquivo na hierarquia de pastas separado do conteudo do arquivo A maioria dos sistemas de arquivos armazena os nomes de todos os arquivos em um diretorio em um unico local a tabela de diretorios desse diretorio que geralmente e armazenado como qualquer outro arquivo Muitos sistemas de arquivos colocam apenas alguns dos metadados para um arquivo na tabela de diretorios e o restante dos metadados para esse arquivo em uma estrutura completamente separada como o inode A maioria dos sistemas de arquivos tambem armazena metadados nao associados a nenhum arquivo especifico Esses metadados incluem informacoes sobre regioes nao utilizadas bitmap de espaco livre mapa de disponibilidade de blocos e informacoes sobre setores defeituosos Geralmente essas informacoes sobre um grupo de alocacao sao armazenadas dentro do proprio grupo de alocacao Atributos adicionais podem ser associados em sistemas de arquivos como NTFS XFS ext2 ext3 algumas versoes do UFS e HFS usando atributos estendidos de arquivo Alguns sistemas de arquivos fornecem atributos definidos pelo usuario como o autor do documento a codificacao de caracteres de um documento ou o tamanho de uma imagem Alguns sistemas de arquivos permitem que diferentes colecoes de dados sejam associadas a um nome de arquivo Essas colecoes separadas podem ser chamadas de fluxos ou garfos A Apple usa ha muito tempo um sistema de arquivos bifurcado no Macintosh e a Microsoft suporta fluxos no NTFS Alguns sistemas de arquivos mantem varias revisoes anteriores de um arquivo sob um unico nome de arquivo O nome do arquivo por si so recupera a versao mais recente enquanto a versao salva anteriormente pode ser acessada usando uma convencao de nomenclatura especial como nome do arquivo 4 ou nome do arquivo 4 para acessar a versao quatro salva Veja comparacao de sistemas de arquivos para obter detalhes sobre quais sistemas de arquivos suportam quais tipos de metadados Sistema de arquivos como uma interface abstrata de usuario Editar Em alguns casos um sistema de arquivos pode nao fazer uso de um dispositivo de armazenamento mas pode ser usado para organizar e representar o acesso a qualquer dado seja armazenado ou gerado dinamicamente por exemplo procfs Utilitarios Editar Os sistemas de arquivos incluem utilitarios para inicializar alterar parametros e remover uma instancia do sistema de arquivos Alguns incluem a capacidade de estender ou truncar o espaco alocado para o sistema de arquivos Os utilitarios de diretorio podem ser usados para criar renomear e excluir entradas de diretorio que tambem sao conhecidas como dentries singular dentry 10 e para alterar metadados associados a um diretorio Os utilitarios de diretorio tambem podem incluir recursos para criar links adicionais para um diretorio hard links no Unix para renomear links pai em sistemas operacionais tipo Unix e para criar links bidirecionais para arquivos Os utilitarios de arquivos criam listam copiam movem e excluem arquivos e alteram os metadados Eles podem truncar dados truncar ou estender a alocacao de espaco anexar mover e modificar arquivos no local Dependendo da estrutura subjacente do sistema de arquivos eles podem fornecer um mecanismo para preceder ou truncar o inicio de um arquivo inserir entradas no meio de um arquivo ou excluir entradas de um arquivo Utilitarios para liberar espaco para arquivos excluidos se o sistema de arquivos fornecer uma funcao de exclusao tambem pertence a essa categoria Alguns sistemas de arquivos adiam operacoes como a reorganizacao do espaco livre o apagamento seguro de espaco livre e a reconstrucao de estruturas hierarquicas fornecendo utilitarios para executar essas funcoes em momentos de atividade minima Um exemplo sao os utilitarios de desfragmentacao do sistema de arquivos Algumas das caracteristicas mais importantes dos utilitarios do sistema de arquivos envolvem atividades de supervisao que podem envolver ignorar a propriedade ou o acesso direto ao dispositivo subjacente Isso inclui backup e recuperacao de alto desempenho replicacao de dados e reorganizacao de varias estruturas de dados e tabelas de alocacao dentro do sistema de arquivos Tipos e sistemas de arquivos EditarOs tipos de sistemas de arquivos podem ser classificados em sistemas de arquivos de disco fita sistemas de arquivos de rede e sistemas de arquivos de proposito especial Sistemas de arquivos de disco Editar Um sistema de arquivos de disco aproveita a capacidade da midia de armazenamento em disco para enderecar dados aleatoriamente em um curto periodo de tempo Consideracoes adicionais incluem a velocidade de acesso aos dados apos a solicitacao inicial e a antecipacao de que os dados seguintes tambem podem ser solicitados Isso permite que varios usuarios ou processos acessem varios dados no disco sem considerar a localizacao sequencial dos dados Exemplos incluem FAT FAT12 FAT16 FAT32 exFAT NTFS HFS e HFS HPFS APFS UFS ext2 ext3 XFS btrfs ISO 9660 Files 11 Veritas File System VMFS ZFS ReiserFS e UDF Alguns sistemas de arquivos em disco sao sistemas de arquivos de registro ou sistemas de arquivos de controle de versao Discos oticos Editar O ISO 9660 e o Universal Disk Format UDF sao dois formatos comuns destinados a discos compactos DVDs e discos Blu ray O Mount Rainier e uma extensao do suporte a UDF desde a serie 2 6 do kernel do Linux e desde o Windows Vista que facilita a reescrita para DVDs Sistemas de arquivos de flash Editar Ver artigo principal Sistema de arquivos de flash Um sistema de arquivos de flash considera as habilidades especiais o desempenho e as restricoes dos dispositivos de memoria flash Frequentemente um sistema de arquivos em disco pode usar um dispositivo de memoria flash como a midia de armazenamento subjacente mas e muito melhor usar um sistema de arquivos projetado especificamente para um dispositivo flash Sistemas de arquivos de fita Editar Um sistema de arquivos de fita e um sistema de arquivos e um formato de fita projetado para armazenar arquivos em fita em uma forma autodescritiva As fitas magneticas sao midias de armazenamento sequenciais com tempos de acesso a dados aleatorios significativamente maiores do que os discos o que representa desafios para a criacao e gerenciamento eficiente de um sistema de arquivos de uso geral Em um sistema de arquivos em disco geralmente ha um diretorio de arquivos mestre e um mapa de regioes de dados usadas e livres Quaisquer adicoes alteracoes ou remocoes de arquivos exigem a atualizacao do diretorio e dos mapas usados livres O acesso aleatorio as regioes de dados e medido em milissegundos portanto esse sistema funciona bem para discos A fita requer movimento linear para enrolar e desenrolar potencialmente bobinas de midia muito longas Esse movimento da fita pode levar de alguns segundos a varios minutos para mover a cabeca de leitura gravacao de uma extremidade da fita para a outra Consequentemente um diretorio de arquivos mestre e um mapa de uso podem ser extremamente lentos e ineficientes com fita Escrever normalmente envolve ler o mapa de uso do bloco para encontrar blocos livres para gravacao atualizar o mapa e o diretorio de uso para adicionar os dados e avancar a fita para gravar os dados no local correto Cada gravacao de arquivo adicional requer a atualizacao do mapa e do diretorio e a gravacao dos dados o que pode levar varios segundos para ocorrer em cada arquivo Em vez disso os sistemas de arquivos de fitas normalmente permitem que o diretorio de arquivos seja distribuido pela fita intercalada com os dados chamados de fluxo continuo de modo que os movimentos repetitivos e demorados da fita nao sejam necessarios para gravar novos dados No entanto um efeito colateral desse design e que a leitura do diretorio de arquivos de uma fita geralmente requer a verificacao da fita inteira para ler todas as entradas de diretorio espalhadas A maioria dos softwares de arquivamento de dados que funciona com armazenamento em fita armazenara uma copia local do catalogo de fitas em um sistema de arquivos em disco para que a adicao de arquivos a uma fita possa ser feita rapidamente sem necessidade de redigitalizar a midia de fita Geralmente a copia do catalogo de fitas local e descartada se nao for usada por um periodo de tempo especificado Nesse ponto a fita deve ser verificada novamente se for usada no futuro A IBM desenvolveu um sistema de arquivos para fita chamado Linear Tape File System em portugues Sistema de Arquivos de Fita Linear A implementacao IBM desse sistema de arquivos foi lancada como o produto de codigo aberto IBM Linear Tape File Single Drive Edition LTFS SDE O Sistema de Arquivos de Fita Linear usa uma particao separada na fita para registrar os metadados de indice evitando assim os problemas associados as entradas de diretorio de dispersao em toda a fita Formatacao de fita Editar Escrever dados em uma fita apagar ou formatar uma fita e um processo demorado e que pode levar varias horas em fitas grandes a Com muitas tecnologias de fita de dados nao e necessario formatar a fita antes de sobrescrever novos dados nela Isso se deve a natureza inerentemente destrutiva de sobrescrever dados em midia sequencial Devido ao tempo que pode ser necessario para formatar uma fita normalmente as fitas sao pre formatadas para que o seu usuario nao precise gastar tempo preparando cada nova unidade para uso Tudo o que e normalmente necessario e escrever um rotulo de midia de identificacao para a fita antes do uso e mesmo isso pode ser escrito automaticamente pelo software quando uma nova fita e usada pela primeira vez Sistemas de arquivos de banco de dados Editar Outro conceito para gerenciamento de arquivos e a ideia de um sistema de arquivos baseado em banco de dados Em vez de ou alem do gerenciamento estruturado hierarquico os arquivos sao identificados por suas caracteristicas como tipo de arquivo topico autor ou metadados ricos semelhantes 11 O IBM DB2 para i 12 anteriormente conhecido como DB2 400 e DB2 para i5 OS e um sistema de arquivos de banco de dados como parte do sistema operacional IBM i 13 baseado em objetos anteriormente conhecido como OS 400 e i5 OS incorporando um armazenamento de nivel unico e rodando no IBM Power Systems anteriormente conhecido como AS 400 e iSeries projetado por Frank G Soltis ex cientista chefe da IBM para o IBM i Por volta de 1978 a 1988 Frank G Soltis e sua equipe da IBM Rochester projetaram e aplicaram com sucesso tecnologias como o sistema de arquivos de banco de dados onde outros como a Microsoft mais tarde nao conseguiram realizar 14 Essas tecnologias sao informalmente conhecidas como Fortress Rochester e eram em alguns aspectos basicos estendidas desde as primeiras tecnologias de mainframe mas de muitas maneiras mais avancadas do ponto de vista tecnologico Alguns outros projetos que nao sao sistemas de arquivos de banco de dados puros mas que usam alguns aspectos de um sistema de arquivos de banco de dados Muitos sistemas de gerenciamento de conteudo da Web usam um SGBD relacional para armazenar e recuperar arquivos Por exemplo os arquivos XHTML sao armazenados como campos XML ou de texto enquanto os arquivos de imagem sao armazenados como campos blob As instrucoes SQL SELECT com XPath opcional recuperam os arquivos e permitem o uso de uma logica sofisticada e de associacoes de informacoes mais ricas do que os sistemas de arquivos comuns Muitos CMSs tambem tem a opcao de armazenar apenas metadados no banco de dados com o sistema de arquivos padrao usado para armazenar o conteudo dos arquivos Sistemas de arquivos muito grandes incorporados por aplicativos como o Apache Hadoop e o Google File System usam alguns conceitos de sistema de arquivos de banco de dados Sistemas e arquivos transacionais Editar Alguns programas precisam atualizar varios arquivos todos de uma vez Por exemplo uma instalacao de software pode escrever binarios de programas bibliotecas e arquivos de configuracao Se a instalacao do software falhar o programa podera ficar inutilizavel Se a instalacao estiver atualizando um utilitario de sistema principal como o shell de comando todo o sistema podera ficar inutilizavel O processamento de transacoes introduz a garantia de isolamento que afirma que as operacoes dentro de uma transacao estao ocultas de outros encadeamentos no sistema ate que a transacao seja confirmada e que as operacoes interferentes no sistema sejam serializadas corretamente com a transacao As transacoes tambem fornecem a garantia de atomicidade garantindo que as operacoes dentro de uma transacao sejam todas comprometidas ou que a transacao possa ser abortada e o sistema descarte todos os seus resultados parciais Isso significa que se houver um travamento ou falha de energia apos a recuperacao o estado armazenado sera consistente O software sera completamente instalado ou a instalacao com falha sera completamente revertida mas uma instalacao parcial nao utilizavel nao sera deixada no sistema O Windows comecando com o Vista adicionou suporte a transacoes para o NTFS em um recurso chamado de NTFS Transacional mas seu uso hoje e desencorajado 15 Ha varios prototipos de pesquisa de sistemas de arquivos transacionais para sistemas UNIX incluindo o sistema de arquivos Valor 16 Amino 17 LFS 18 e um sistema de arquivos ext3 transacional no kernel do TxOS 19 bem como sistemas de arquivos transacionais destinados a sistemas incorporados como o TFFS 20 Garantir a consistencia em varias operacoes do sistema de arquivos e dificil se nao impossivel sem transacoes do sistema de arquivos O bloqueio de arquivos pode ser usado como um mecanismo de controle de simultaneidade para arquivos individuais mas normalmente nao protege a estrutura de diretorios ou os metadados de arquivos Por exemplo o bloqueio de arquivos nao pode impedir as condicoes de corrida do TOCTTOU em ligacoes simbolicas O bloqueio de arquivos tambem nao pode reverter automaticamente uma operacao com falha como uma atualizacao de software pois isso requer atomicidade Os sistemas de arquivos de registro sao uma tecnica usada para introduzir a consistencia no nivel da transacao nas estruturas do sistema de arquivos Transacoes de registro nao sao expostas a programas como parte da API do SO eles sao usados apenas internamente para garantir consistencia na granularidade de uma unica chamada de sistema Os sistemas de backup de dados normalmente nao fornecem suporte para backup direto de dados armazenados de maneira transacional o que dificulta a recuperacao de conjuntos de dados confiaveis e consistentes A maioria dos softwares de backup simplesmente observa quais arquivos foram alterados desde um determinado momento independentemente do estado transacional compartilhado entre varios arquivos no conjunto de dados geral Como uma solucao alternativa alguns sistemas de banco de dados simplesmente produzem um arquivo de estado arquivado contendo todos os dados ate aquele ponto e o software de backup apenas faz backup e nao interage diretamente com os bancos de dados transacionais ativos A recuperacao requer recriacao separada do banco de dados do arquivo de estado depois que o arquivo foi restaurado pelo software de backup Sistemas de arquivos de rede Editar Ver artigo principal Sistema de arquivos distribuidos Um sistema de arquivos de rede e um sistema de arquivos que atua como um cliente para um protocolo de acesso remoto a arquivos fornecendo acesso a arquivos em um servidor Os programas que usam interfaces locais podem criar gerenciar e acessar de forma transparente diretorios e arquivos hierarquicos em computadores conectados em rede remota Exemplos de sistemas de arquivos de rede incluem clientes para os protocolos NFS AFS SMB e clientes semelhantes a sistemas de arquivos para FTP e WebDAV Sistemas de arquivos compartilhados Editar Ver artigo principal Sistema de arquivos compartilhados Um sistema de arquivos compartilhado e aquele no qual uma quantidade de maquinas normalmente servidores possuem acesso ao mesmo subsistema de isco externo normalmente um SAN O sistema de arquivos arbitra acesso a este subsistema prevenindo colisoes de escrita Exemplos incluem o GFS2 da Red Hat o GPFS da IBM o SFS da DataPlow o CXFS da SGI e o StorNext da Quantum Corporation Sistemas de arquivos especiais Editar Um sistema de arquivos especial apresenta elementos nao arquivos de um sistema operacional como se fossem arquivos para que possam ser acionados usando as APIs do sistema de arquivos Isso e mais comumente feito em sistemas operacionais do tipo Unix mas os dispositivos recebem nomes de arquivos em alguns sistemas operacionais nao baseados em Unix tambem Sistemas de arquivos de dispositivo Editar Um sistema de arquivos de dispositivo representa dispositivos de E S e pseudo dispositivos como arquivos chamados de arquivos de dispositivo Exemplos em sistemas do tipo Unix incluem o devfs e em sistemas Linux 2 6 o udev Em sistemas nao Unix como o TOPS 10 e outros sistemas operacionais influenciados por ele nos quais o nome de arquivo ou nome de caminho completo de um arquivo pode incluir um prefixo de dispositivo dispositivos diferentes daqueles que contem sistemas de arquivos sao referenciados por um prefixo de dispositivo especificando o dispositivo sem nada seguindo o Outros sistemas de arquivos especiais Editar No kernel do Linux o configfs e o sysfs fornecem arquivos que podem ser usados para consultar o kernel em busca de informacoes e configurar entidades no kernel O procfs mapeia processos e no Linux outras estruturas de sistemas operacionais em um espaco no arquivo Sistema de arquivos minimo armazenamento de audio cassete Editar Nos anos 70 os dispositivos de fita digital e de disco eram muito caros para alguns dos primeiros usuarios de microcomputadores Foi desenvolvido um sistema basico de armazenamento de dados barato que usava fita cassete de audio comum Quando o sistema precisou escrever dados o usuario foi notificado para pressionar RECORD GRAVAR no gravador de cassetes depois pressionar RETURN ENTER no teclado para notificar o sistema que o gravador estava gravando O sistema escreveu um som para fornecer sincronizacao de horario modulou sons que codificavam um prefixo os dados uma soma de verificacao e um sufixo Quando o sistema precisava ler os dados o usuario era instruido a pressionar PLAY TOCAR no gravador de cassetes O sistema ouvia os sons na fita esperando ate que uma explosao de som pudesse ser reconhecida como a sincronizacao O sistema entao interpretaria os sons subsequentes como dados Quando a leitura dos dados fosse concluida o sistema notificaria o usuario para pressionar STOP PARAR no gravador Era primitivo mas funcionava na maior parte do tempo Os dados eram armazenados sequencialmente geralmente em um formato sem nome embora alguns sistemas como a serie de computadores Commodore PET permitissem que os arquivos fossem nomeados Varios conjuntos de dados podem ser gravados e localizados ao avancar rapidamente a fita e observar no contador de fita para encontrar o inicio aproximado da proxima regiao de dados na fita O usuario pode ter que ouvir os sons para encontrar o ponto certo para comecar a tocar a proxima regiao de dados Algumas implementacoes incluiram ate mesmo sons audiveis intercalados com os dados Sistemas de arquivos planos Editar Nota Nao confundir com Banco de dados de arquivos planos Em um sistema de arquivos plano nao ha subdiretorios Entradas de diretorio para todos os arquivos sao armazenadas em um unico diretorio Quando a midia de disquete esteve disponivel pela primeira vez esse tipo de sistema de arquivos era adequado devido a quantidade relativamente pequena de espaco de dados disponivel As maquinas CP M apresentavam um sistema de arquivos planos onde os arquivos podiam ser atribuidos a uma das 16 areas de usuario e as operacoes de arquivos genericos estreitavam para funcionar em uma delas em vez de padronizar para trabalhar em todas elas Essas areas de usuario nao eram mais do que atributos especiais associados aos arquivos ou seja nao era necessario definir uma cota especifica para cada uma dessas areas e os arquivos poderiam ser adicionados a grupos enquanto ainda houvesse espaco de armazenamento livre no disco O antigo Apple Macintosh tambem apresentava um sistema de arquivos plano o Macintosh File System Nao era comum que o programa de gerenciamento de arquivos Macintosh Finder criasse a ilusao de um sistema de arquivamento parcialmente hierarquico em cima do EMFS Essa estrutura exigia que cada arquivo tivesse um nome exclusivo mesmo que parecesse estar em uma pasta separada O IBM DOS 360 e o OS 360 armazenam entradas para todos os arquivos em um pacote de disco volume em um diretorio no pacote chamado de Tabela de Conteudo do Volume VTOC Enquanto simples sistemas de arquivos planos tornam se desajeitados a medida que o numero de arquivos crescia e dificultava a organizacao de dados em grupos de arquivos relacionados Uma adicao recente a familia de sistemas de arquivos simples e o S3 da Amazon um servico de armazenamento remoto que e intencionalmente simplista para permitir que os usuarios personalizem como seus dados sao armazenados As unicas construcoes sao os buckets imagine uma unidade de disco de tamanho ilimitado e objetos semelhantes mas nao identicos ao conceito padrao de um arquivo O gerenciamento avancado de arquivos e permitido pela capacidade de usar praticamente qualquer caractere incluindo no nome do objeto e a capacidade de selecionar subconjuntos do conteudo do bloco com base em prefixos identicos Sistemas de arquivos e sistemas operacionais EditarMuitos sistemas operacionais incluem suporte para mais de um sistema de arquivos As vezes o sistema operacional e o sistema de arquivos estao tao entrelacados que e dificil separar as funcoes do sistema de arquivos E necessario que haja uma interface fornecida pelo software do sistema operacional entre o usuario e o sistema de arquivos Essa interface pode ser textual como fornecida por uma interface de linha de comando como o shell do Unix ou o OpenVMS DCL ou grafica como fornecida por uma interface grafica do usuario como navegadores de arquivos Se grafica a metafora da pasta contendo documentos outros arquivos e pastas aninhadas e frequentemente usada veja tambem diretorio e pasta Sistemas operacionais Unix e do tipo Unix Editar Sistemas operacionais do tipo Unix criam um sistema de arquivos virtual o que faz com que todos os arquivos em todos os dispositivos parecam existir em uma unica hierarquia Isso significa que nesses sistemas existe um diretorio raiz e cada arquivo existente no sistema esta localizado em algum lugar Esses sistemas podem usar um disco RAM ou um recurso compartilhado de rede como seu diretorio raiz Sistemas do tipo Unix atribuem um nome de dispositivo a cada dispositivo mas nao e assim que os arquivos desse dispositivo sao acessados Em vez disso para obter acesso a arquivos em outro dispositivo o sistema operacional deve primeiro ser informado de onde na arvore de diretorios esses arquivos devem aparecer Esse processo e chamado de montagem de um sistema de arquivos Por exemplo para acessar os arquivos em um CD ROM deve se informar ao sistema operacional Retire o sistema de arquivos deste CD ROM e faca o aparecer em tal diretorio O diretorio fornecido ao sistema operacional e chamado de ponto de montagem pode por exemplo ser media O diretorio media existe em muitos sistemas Unix conforme especificado no Filesystem Hierarchy Standard e destina se especificamente para uso como um ponto de montagem para midia removivel como CDs DVDs drives USB ou disquetes Pode estar vazio ou pode conter subdiretorios para montar dispositivos individuais Geralmente apenas o administrador ou seja usuario root pode autorizar a montagem de sistemas de arquivos Os sistemas operacionais do tipo Unix geralmente incluem software e ferramentas que auxiliam no processo de montagem e fornecem uma nova funcionalidade Algumas dessas estrategias foram denominadas montagem automatica como um reflexo de seu proposito Em muitas situacoes os sistemas de arquivos diferentes da raiz precisam estar disponiveis assim que o sistema operacional for inicializado Todos os sistemas do tipo Unix portanto fornecem uma facilidade para montar sistemas de arquivos no momento da inicializacao Os administradores do sistema definem esses sistemas de arquivos no arquivo de configuracao fstab vfstab no Solaris que tambem indica opcoes e pontos de montagem Em algumas situacoes nao ha necessidade de montar certos sistemas de arquivos no momento da inicializacao embora seu uso possa ser desejado a partir de entao Existem alguns utilitarios para sistemas do tipo Unix que permitem a montagem de sistemas de arquivos pre definidos sob demanda Midia removivel se tornou muito comum em plataformas de microcomputadores Eles permitem que programas e dados sejam transferidos entre maquinas sem uma conexao fisica Exemplos comuns incluem unidades flash USB CD ROMs e DVDs Utilitarios foram portanto desenvolvidos para detectar a presenca e disponibilidade de um meio e em seguida monta lo sem qualquer intervencao do usuario Sistemas progressivos semelhantes ao Unix tambem introduziram um conceito chamado de supermontagem Veja por exemplo o projeto supermount ng do Linux Por exemplo um disquete que foi supermontado pode ser fisicamente removido do sistema Em circunstancias normais o disco deveria ter sido sincronizado e desmontado antes de sua remocao Desde que a sincronizacao tenha ocorrido um disco diferente pode ser inserido na unidade O sistema percebe automaticamente que o disco foi alterado e atualiza o conteudo do ponto de montagem para refletir o novo meio Um montador automatico montara automaticamente um sistema de arquivos quando for feita uma referencia ao diretorio em cima do qual ele deve ser montado Isso geralmente e usado para sistemas de arquivos em servidores de rede em vez de depender de eventos como a insercao de midia como seria apropriado para midia removivel Linux Editar O Linux suporta varios sistemas de arquivos mas as opcoes comuns para o disco do sistema em um dispositivo de bloco incluem a familia ext ext2 ext3 e ext4 XFS JFS e btrfs Para flash bruto sem uma camada de traducao de flash FTL ou Dispositivo de Tecnologia de Memoria MTD existem o UBIFS JFFS2 e YAFFS entre outros O SquashFS e um sistema comum de arquivos compactados somente para leitura macOS Editar O macOS antigo Mac OS X usa o Apple File System APFS que recentemente substituiu um sistema de arquivos herdado do Mac OS classico chamado de HFS Plus A Apple tambem usa o termo Mac OS Extended 21 22 O HFS Plus e um sistema de arquivos rico em metadados e com preservacao de caixa mas geralmente insensivel a caixa Devido as raizes do Unix do macOS as permissoes do Unix foram adicionadas ao HFS Plus Versoes posteriores do HFS Plus adicionaram registro journaling para evitar a corrupcao da estrutura do sistema de arquivos e introduziram varias otimizacoes nos algoritmos de alocacao na tentativa de desfragmentar arquivos automaticamente sem a necessidade de um desfragmentador externo Os nomes dos arquivos podem ter ate 255 caracteres O HFS Plus usa o Unicode para armazenar nomes de arquivos No macOS o tipo de arquivo pode vir do codigo de tipo armazenado nos metadados do arquivo ou na extensao do nome do arquivo O HFS Plus possui tres tipos de ligacoes ligacoes fisicas no estilo Unix ligacoes simbolicas no estilo Unix e aliases Os aliases sao projetados para manter uma ligacao para o arquivo original mesmo se forem movidos ou renomeados Eles nao sao interpretados pelo proprio sistema de arquivos mas pelo codigo do Gerenciador de Arquivos no espaco do usuario O MacOS 10 13 High Sierra que foi anunciado em 5 de junho de 2017 no evento WWDC da Apple usa o Apple File System em unidades de estado solido O macOS tambem suportava o sistema de arquivos UFS derivado do BSD Unix Fast File System via NeXTSTEP No entanto a partir do Mac OS X Leopard o macOS nao pode mais ser instalado em um volume UFS nem um sistema pre Leopard instalado em um volume UFS pode ser atualizado para o Leopard 23 A partir do Mac OS X Lion o suporte a UFS foi completamente eliminado As versoes mais recentes do macOS sao capazes de ler e gravar nos sistemas de arquivos FAT legados 16 e 32 comuns no Windows Eles tambem sao capazes de ler os mais novos sistemas de arquivos NTFS para Windows Para gravar em sistemas de arquivos NTFS em versoes macOS anteriores ao Mac OS X Snow Leopard e necessario softwares de terceiros O Mac OS X 10 6 Snow Leopard e posteriores permitem a gravacao em sistemas de arquivos NTFS mas somente apos uma alteracao de configuracao de sistema nao trivial existe um software de terceiros que automatiza isso 24 Finalmente o macOS suporta leitura e escrita do sistema de arquivos exFAT desde o Mac OS X Snow Leopard a partir da versao 10 6 5 25 Microsoft Windows Editar Listagem de diretorios em um shell de comando do Windows O Windows faz uso dos sistemas de arquivos FAT NTFS exFAT Live File System e ReFS o ultimo deles e suportado e utilizavel apenas no Windows Server 2012 no Windows Server 2016 no Windows 8 no Windows 8 1 e no Windows 10 O Windows nao pode ser inicializado a partir dele O Windows usa uma abstracao de letra de unidade no nivel de usuario para distinguir um disco ou particao de outro Por exemplo o caminho C WINDOWS representa um diretorio WINDOWS na particao representada pela letra C A unidade C e mais comumente usada para a particao primaria da unidade de disco rigido na qual o Windows e normalmente instalado e a partir do qual e inicializado Essa tradicao tornou se tao firmemente enraizada que existem erros em muitas aplicacoes que fazem suposicoes de que a unidade em que o sistema operacional esta instalado e a C O uso de letras de unidade e a tradicao de usar C como letra de a particao da unidade de disco rigido principal pode ser rastreada para o MS DOS onde as letras A e B foram reservadas para ate duas unidades de disquete Isso por sua vez derivou do CP M na decada de 1970 e em ultima instancia do CP CMS da IBM de 1967 FAT Editar Ver artigo principal File Allocation Table A familia de sistemas de arquivos FAT e suportada por quase todos os sistemas operacionais para computadores pessoais incluindo todas as versoes do Windows e MS DOS PC DOS OS 2 e DR DOS PC DOS e uma versao OEM do MS DOS o MS DOS foi originalmente baseado no 86 DOS do SCP O DR DOS foi baseado no Concurrent DOS da Digital Research um sucessor do CP M 86 Os sistemas de arquivos FAT sao portanto bem adequados como um formato de intercambio universal entre computadores e dispositivos da maioria de qualquer tipo e idade O sistema de arquivos FAT traca suas raizes de volta para um precursor FAT de 8 bits incompativel no Standalone Disk BASIC e no projeto MDOS MIDAS de curta duracao Ao longo dos anos o sistema de arquivos foi expandido de FAT12 para FAT16 e FAT32 Varios recursos foram adicionados ao sistema de arquivos incluindo subdiretorios suporte a paginas de codigos atributos estendidos e nomes extensos de arquivos Terceiros como a Digital Research incorporaram suporte opcional para rastreamento de exclusao e esquemas de seguranca multiusuario baseados em volume diretorio arquivo para oferecer suporte a senhas e permissoes de arquivos e diretorios como direitos de acesso para leitura gravacao execucao exclusao A maioria dessas extensoes nao e suportada pelo Windows Os sistemas de arquivos FAT12 e FAT16 tinham um limite no numero de entradas no diretorio raiz do sistema de arquivos e tinham restricoes quanto ao tamanho maximo dos discos ou particoes formatados em FAT O FAT32 aborda as limitacoes em FAT12 e FAT16 exceto para o limite de tamanho de arquivo proximo a 4 GB mas permanece limitado comparado ao NTFS FAT12 FAT16 e FAT32 tambem tem um limite de oito caracteres para o nome do arquivo e tres caracteres para a extensao como exe Isso e comumente chamado de limite de nome de arquivo 8 3 O VFAT uma extensao opcional para o FAT12 FAT16 e FAT32 introduzida no Windows 95 e no Windows NT 3 5 permitia que os nomes de arquivos longos LFN fossem armazenados no sistema de arquivos FAT de maneira compativel com versoes anteriores NTFS Editar Ver artigo principal NTFS O NTFS introduzido com o sistema operacional Windows NT em 1993 permitiu o controle de permissao baseado em ACL Outros recursos tambem suportados pelo NTFS incluem ligacoes fisicas varios fluxos de arquivos indexacao de atributos rastreamento de cota arquivos esparsos criptografia compactacao e pontos de nova analise diretorios que funcionam como pontos de montagem para outros sistemas de arquivos ligacoes simbolicas juncoes de armazenamento remoto exFAT Editar Ver artigo principal exFAT O exFAT e um sistema de arquivos proprietario e protegido por patente com certas vantagens sobre o NTFS em relacao a sobrecarga de sistema de arquivos O exFAT nao e compativel com sistemas de arquivos FAT como FAT12 FAT16 ou FAT32 Ele e compativel com os sistemas Windows mais recentes como o Windows Server 2003 o Windows Vista o Windows 2008 o Windows 7 o Windows 8 e mais recentemente o suporte foi adicionado ao Windows XP 26 O exFAT e suportado no macOS a partir da versao 10 6 5 Snow Leopard 25 O suporte em outros sistemas operacionais e esparso pois a Microsoft nao publicou as especificacoes do sistema de arquivos e a implementacao do suporte para exFAT requer uma licenca O exFAT e o unico sistema de arquivos totalmente suportado no macOS e no Windows que pode conter arquivos maiores que 4 GB Atributos de arquivos EditarUm arquivo possui certos atributos que variam de um sistema operacional para o outro mas que normalmente sao os seguintes Nome o nome simbolico do arquivo e a unica informacao conservada em forma legivel pelas pessoas Identificador este rotulo unico usualmente um numero identifica o arquivo dentro do sistema de arquivo e o nome nao legivel pelas pessoas Tipos esta informacao e necessaria para aqueles sistemas que suportam diferentes tipos Posicao esta informacao e um ponteiro para um dispositivo e para a posicao do arquivo naquele dispositivo Tamanho o tamanho corrente do arquivo e possivelmente o tamanho maximo permitido estao incluidos neste atributo Protecao a informacao de controlo de acesso determina quem pode ler o arquivo grava lo executa lo e assim por diante Hora data e identificacao do usuario estas informacoes podem ser conservadas em relacao a data da criacao ultima modificacao e ultima utilizacao do arquivo Estes dados podem ser uteis para protecao seguranca e monitoramento de uso do arquivo A informacao sobre todos os arquivos e conservada na estrutura do diretorio que tambem reside em memoria secundaria A entrada de um diretorio consiste no nome do arquivo com seu identificador unico O identificador por sua vez permite localizar os demais atributos do arquivo O registro desta informacao para cada arquivo pode ocupar mais que um kilobyte Em um sistema com muitos arquivos o tamanho do proprio diretorio pode ocupar megabytes Como os diretorios da mesma forma que os arquivos devem ser nao volateis precisam ser armazenados em dispositivos e conduzidos a memoria gradativamente conforme necessario Operacoes sobre arquivos EditarUm arquivo e um tipo abstrato de dados Para definir apropriadamente um arquivo precisamos considerar as operacoes que podem ser realizadas sobre arquivos O sistema operacional pode oferecer chamadas de sistema para criar gravar ler reposicionar apagar e truncar arquivos O sistema operacional deve fazer em relacao a cada uma das seis operacoes de arquivos basicas Criando um arquivo deve ser alocado espaco para o arquivo no sistema de arquivos Deve ser criada uma entrada para o novo arquivo no diretorio A entrada do diretorio registra o nome do arquivo e sua posicao no sistema de arquivos alem de outras informacoes possiveis Gravando um arquivo para gravar um arquivo emitimos uma chamada de sistema especificando tanto o nome do arquivo como a informacao a ser gravada Dado o nome do arquivo o sistema percorre o diretorio em busca da sua localizacao O sistema deve manter um ponteiro de gravacao para a posicao do arquivo onde a nova gravacao devera ser realizada O ponteiro precisa ser atualizado sempre que ocorrer uma gravacao Lendo um arquivo para ler um arquivo utilizamos uma chamada de sistema que especifica o nome do arquivo e onde na memoria e o proximo bloco do arquivo que devera ser alocado O diretorio e pesquisado em busca da entrada associada e o sistema precisa manter um ponteiro de leitura para a posicao no arquivo a partir de onde devera ocorrer a proxima leitura Apos a leitura ter sido feita o ponteiro de leitura e atualizado Um determinado processo esta normalmente lendo ou gravando um dado arquivo e a posicao da operacao em curso e guardada como um ponteiro para a posicao corrente do arquivo para cada processo Tanto a operacao de leitura como a de gravacao utiliza este mesmo ponteiro economizando espaco e reduzindo a complexidade do sistema Reposicionando dentro de um arquivo o diretorio e percorrido em busca da entrada apropriada e a posicao corrente do arquivo e posicionada para um determinado valor O reposicionamento dentro de um arquivo nao precisa envolver um I O real Esta operacao e tambem conhecida como busca de arquivo Apagando um arquivo para apagar um arquivo procuramos no diretorio o arquivo pelo nome Apos encontrar a entrada correta do diretorio liberamos todo o espaco do arquivo de modo que este espaco possa ser reutilizado por outros arquivos e apagamos a entrada do diretorio Trocando um arquivo o usuario pode desejar apagar o conteudo de um arquivo mas conservar seus atributos Em lugar de obrigar o usuario a apagar completamente o arquivo e recria lo esta funcao permite que todos os atributos exceto o tamanho sejam mantidos reposicionando o arquivo com tamanho zero Camadas EditarDo ponto de vista de projeto as camadas do sistema de arquivos podem ser entendidas conforme a hieraquia abaixo Programas aplicativos Sistemas de arquivos logicos Modulo de organizacao de arquivos Sistema basico de arquivos Controle de E S Dispositivos Cada camada possui caracteristicas funcionalidades especificas Sistemas de ficheiros mais conhecidos EditarApple Macintosh Mac OS HFS HFS APFSUNIX FreeBSD OpenBSD Linux Solaris Red Hat Android etc UFS Ext Ext2 Ext3 Ext4 SWAP Reiser HPFS JFS XFS ZFSIBM AIX OS 2 JFS AIX Version 3 1 ou superior OS 2 Warp HPFS High Performance File SystemMS DOS Microsoft WindowsFAT 12 Microsoft BASIC Disk MSDOS 4 0 FAT 16 ou FAT DOS 4 0 ou superior Windows 1 X ou superior 1 x 2 x 3 x 95 98 ME 2000 XP FAT 32 MS DOS 7 1 e 8 0 Windows 95 versao OSR2 ou superior 95 OSR2 98 ME NT 2000 XP ExFAT FAT Estendido tambem conhecido como FAT64 Windows XP ou superior Vista 7 NTFS Windows NT ou superior NT 2000 XP 2003 Server Ver tambem EditarSistema de Arquivos Interplanetario Sistema de arquivos virtual VFAT conceito generalista que se refere a qualquer formato FAT que possibilite Long FileNames nomes de ficheiro longos exs FAT16 e FAT32 Notas Uma fita LTO 6 de 2 5 TB requer mais de 4 horas para gravacao a 160 MB sReferencias A General Purpose File System For Secondary Storage www multicians org Consultado em 9 de maio de 2012 Arpaci Dusseau Remzi H Arpaci Dusseau Andrea C 2014 File System Implementation PDF Arpaci Dusseau Books Arpaci Dusseau Remzi H Arpaci Dusseau Andrea C 2014 Sun s Network File System PDF Arpaci Dusseau Books McGill Florence E 1922 Office Practice and Business Procedure S l Gregg Publishing Company p 197 Consultado em 1º de agosto de 2016 Waring R L 1961 Technical investigations of addition of a hardcopy output to the elements of a mechanized library system final report 20 Sept 1961 Cincinnati OH Svco Corporation Consultado em 1º de agosto de 2016 Disc File Applications Reports Presented at the Nation s First Disc File Symposium S l American Data Processing 1964 Consultado em 1º de agosto de 2016 a b c Amir Yair Operating Systems 600 418 The File System Department of Computer Science Johns Hopkins University Consultado em 31 de julho de 2016 a b IBM Corporation Component Structure of the Logical File System IBM Knowledge Center Consultado em 31 de julho de 2016 R C Daley P G Neumann 1965 A General Purpose File System For Secondary Storage Fall Joint Computer Conference AFIPS pp 213 229 doi 10 1145 1463891 1463915 Consultado em 30 de julho de 2011 Mohan I Chandra 2013 Operating Systems Delhi PHI Learning Pvt Ltd p 166 ISBN 9788120347267 Consultado em 27 de julho de 2014 The word dentry is short for directory entry A dentry is nothing but a specific component in the path from the root They directory name or file name provide for accessing files or directories Windows on a database sliced and diced by BeOS vets theregister co uk 29 de marco de 2002 Consultado em 7 de fevereiro de 2014 IBM DB2 for i Overview 03 ibm com Consultado em 7 de fevereiro de 2014 IBM developerWorks New to IBM i Ibm com 8 de marco de 2011 Consultado em 7 de fevereiro de 2014 XP successor Longhorn goes SQL P2P Microsoft leaks theregister co uk 28 de janeiro de 2002 Consultado em 7 de fevereiro de 2014 Alternatives to using Transactional NTFS Windows Msdn microsoft com 5 de dezembro de 2013 Consultado em 7 de fevereiro de 2014 Spillane Richard Gaikwad Sachin Chinni Manjunath Zadok Erez and Wright Charles P 2009 Enabling transactional file access via lightweight kernel extensions Seventh USENIX Conference on File and Storage Technologies FAST 2009 Wright Charles P Spillane Richard Sivathanu Gopalan Zadok Erez 2007 Extending ACID Semantics to the File System ACM Transactions on Storage Selzter Margo I 1993 Transaction Support in a Log Structured File System Proceedings of the Ninth International Conference on Data Engineering Porter Donald E Hofmann Owen S Rossbach Christopher J Benn Alexander and Witchel Emmett 2009 Operating System Transactions In the Proceedings of the 22nd ACM Symposium on Operating Systems Principles SOSP 09 Big Sky MT outubro de 2009 Gal Eran Toledo Sivan A Transactional Flash File System for Microcontrollers OS X Mountain Lion What is a Mac OS Extended Journaled volume Apple 8 de agosto de 2013 Consultado em 7 de fevereiro de 2014 Mac OS X About file system journaling Apple Consultado em 8 de fevereiro de 2014 Official Apple Support apple com Consultado em 29 de abril de 2016 OSXDaily How to Enable NTFS Write Support in Mac OS X Consultado em 6 de fevereiro de 2014 a b Steve Bunting 14 de agosto de 2012 EnCase Computer Forensics The Official EnCE EnCase Certified Examiner S l Books google com Consultado em 7 de fevereiro de 2014 Microsoft WinXP exFat patchLigacoes externas Editar Sistemas de arquivo HOWTO em ingles Obtida de https pt wikipedia org w index php title Sistema de ficheiros amp oldid 60694685,

Quais são os sistemas de arquivos do Windows?

O Microsoft Windows emprega dois principais sistemas de arquivos: NTFS, o formato principal que as versões mais modernas deste sistema operacional usam por padrão, e FAT, que foi herdado do DOS antigo e tem exFAT como sua extensão posterior.

O que são sistemas de arquivos do Windows?

O sistema de arquivos é um conjunto usado em todos os HDs, SSDs e chips de memória flash. Caso os componentes não tenham o sistema, os dados armazenados não poderão ser localizados e muito menos lidos em computadores e celulares com Windows, Linux, iOS ou Android.

Quais são os tipos de sistemas de arquivos?

Tipos de Sistemas de Arquivos.

Quantos sistemas de arquivos existem?

Existem diversos sistemas de arquivos diferentes, que vão desde sistemas simples como o FAT16, que utilizamos em cartões de memória, até sistemas como o NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais avançados. No mundo Windows, temos apenas três sistemas de arquivos: FAT16, FAT32 e NTFS.