Um sistema de arquivos é apenas o layout das pastas?


56

Eu uso o Windows desde a infância e, quando ouço a frase "Windows filesystem", penso em diretórios (pastas) dentro de diretórios, uma pasta chamada SYSTEM, uma pasta chamada PROGRAM FILES etc. É este o sistema? Apenas o layout das pastas?

E então eu comecei recentemente a usar o Linux, e meu livro de referência diz que no sistema de arquivos linux tudo começa na raiz e se ramifica a partir daí. Como isso é realmente diferente do Windows? Quero dizer, parece que o sistema linux e o sistema windows são apenas duas maneiras de configurar uma árvore de diretórios. É isso o que sistema de arquivos significa?


3
Você já tentou ler en.wikipedia.org/wiki/Filesystem ?
Choror

2
Para sua informação, não existe um "sistema de arquivos Linux". O que o livro quis dizer é a árvore de diretórios linux. E sim, a árvore de diretórios é apenas o layout das pastas.
user606723

2
O Linux não possui o conceito de unidades , de modo que tudo está montado abaixo /. No Windows, esse não é o caso, pois falta montagem no estilo UNIX (corrija-me se estiver errado aqui), para que tudo seja organizado em torno das unidades.
new123456

1
@ new123456 Sinta-se corrigido. O Windows suporta montagem (desde W2k ou NT), embora o recurso seja muito raramente usado.
Kbanczyk

Respostas:


130

Apenas o layout das pastas?

Parece bom demais para ser verdade ...

Vamos tomar o sistema de arquivos FAT32 como exemplo. Posso instalar o Windows XP nele, mas também posso usá-lo em um cartão de memória. Em um cartão de memória, você não possui as pastas que resume.

Então ... Não confunda o layout de diretório de uma família de sistemas operacionais com um sistema de arquivos.

É isso que significa um sistema de arquivos?

Não ... Refere-se aos bits e bytes subjacentes que fazem sua estrutura de diretórios funcionar.

Os bits e bytes subjacentes? Mostre-me FAT32!

Vejamos como é o FAT32 :

  • Alguns setores de cabeçalho no início, como ID do volume e setores reservados
  • Duas tabelas de alocação de arquivos, permitindo descobrir onde estão nossos arquivos.
  • Clusters contendo todos os nossos dados de diretório e arquivo.
  • Algum espaço não utilizado muito pequeno que não podemos usar.

Uma tabela FAT consiste em várias entradas parecidas com esta, permitindo determinar onde o diretório ou arquivo está armazenado no espaço dos clusters, além de alguns atributos e tamanho.

Uma entrada de diretório apontaria para uma lista de entradas de diretório / arquivo ...

No espaço dos clusters, agora podemos percorrer nossos clusters para encontrar os dados que precisamos. Um cluster contém essencialmente dados e informações onde os próximos fragmentos são

insira a descrição da imagem aqui

Outros sistemas de arquivos diferem? Mostre-me NTFS!

Vou mostrar uma imagem para que você possa perceber as diferenças, o resto é dever de casa para o leitor: Mais informações podem ser encontradas neste arquivo de blog ou no Google.

A idéia principal é que o NTFS é uma grande melhoria em relação ao FAT32, mais robusta / eficiente. Ter uma idéia melhor do espaço (des) usado usando um bitmap para ajudar ainda mais contra a fragmentação. E assim por diante...

- http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png

E os sistemas de arquivos no Linux? Mostre-me ext2 / 3!

A idéia é que o ext2 / ext3 use super blocos e inodes; isso permite soft e hardlinks, diretórios que são arquivos, arquivos com vários nomes e assim por diante. A essência principal é abstrair para permitir que o sistema de arquivos seja capaz de fazer mais coisas meta-ish ...

- http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png


@Shadok: Eu posso melhorar as seções posteriores mais tarde, mas estou bastante ocupado hoje em dia ... Obrigado.
Tamara Wijsman

2
Eu faria isso +2 se pudesse. Agora, por que mais documentos e especificações não se parecem mais com isso !?
greatwolf

Talvez você deve escrever um post sobre isso @TomWijsman ;-)
Ivo Flipse

@IvoFlipse: A "Armazenamento de dados: como funciona?" série pode ser possível, aqui está outra resposta . Big & $ # imagens dizem mais do que palavras ... :)
Tamara Wijsman

Definitivamente, soa como uma boa ideia
Ivo Flipse

14

A grande diferença entre Linux e Windows, pelo menos no que diz respeito aos sistemas de arquivos e às árvores de diretórios, é que no Linux "tudo é um arquivo" e tudo desce de uma única raiz. Isso também se aplica a quase todos os sistemas operacionais derivados do Unix, como BSD, OS X, Solaris, etc., mas vou dizer apenas "Linux" para ser genérico (se não for totalmente preciso).

Mas o que isso significa na prática?

O Windows permite várias raízes nomeadas para seus sistemas de arquivos. Você as entende como letras de unidade: C: D: E:e assim por diante. Cada um tem uma raiz ( \) e uma árvore que desce dela. As versões recentes do Windows permitem coisas como pontos de montagem de volume, onde um volume (o que você consideraria uma partição) pode ser montado em uma pasta vazia existente. Portanto, em vez de D:\ representar a raiz da sua unidade óptica (CD / DVD / BR), você pode montá-la C:\Optical. Isso é mais parecido com o que o Linux faz. Há também um espaço para nome de objeto subjacente, com uma única raiz, para tudo no Windows, semelhante ao que o Linux usa e é gerenciado pelo Gerenciador de Objetos , mas a maioria dos usuários raramente o vê referenciado, pois é principalmente para uso do kernel.

Linux tem uma única raiz: /. Tudo desce e não necessariamente representa o seu disco rígido. Discos rígidos, ópticos, cartões de memória, compartilhamentos de rede, impressoras, scanners, CPUs, RAM, processos, ... tudo está representado em algum lugar dentro desse espaço de nome único e pode ser acessado por qualquer processo com APIs de gerenciamento de arquivos padrão, presumindo que você tenha um nível de acesso alto o suficiente. Só porque você pode ler ou escrever a partir dele, não significa que seja um arquivo no seu disco rígido no Linux. Por exemplo, os dispositivos geralmente são montados /dev, portanto, acessar itens lá dentro geralmente significa que você está conversando com um dispositivo - talvez seja a placa de som, ou um scanner ou uma câmera etc. Eles são conhecidos como arquivos de dispositivo . Procfsé um "sistema de arquivos" especial que normalmente é montado /proce possui um "diretório" para cada processo em execução, com arquivos em cada diretório relacionados a coisas como a linha de comando usada para invocar esse processo, mapas de memória, arquivos abertos etc. O Sysfs é outro O sistema de arquivos especial (montado em /sys) usado para expor uma grande quantidade de informações sobre os objetos do kernel em execução e também pode ser usado para ajustar o kernel em execução simplesmente gravando em um arquivo específico.


2
Observe que é fácil confundir um sistema de arquivos com o layout do diretório da perspectiva do usuário. Embora o termo sistema de arquivos tenha realmente a intenção de parecer o interior de um sistema de arquivos; por exemplo. a diferença entre FAT e NTFS, bem como as diferenças entre ext2 e ext3 ...
Tamara Wijsman

4
@ Tom: Parece que o OP está realmente perguntando sobre as diferenças nas várias hierarquias de objetos entre Linux e Windows, e não sobre como os bits são dispostos no disco. udev, procfs, sysfs, tmpfs, etc. são sistemas de arquivos, tanto quanto ext2 ou NTFS no Linux, apesar de não envolverem coisas no disco.
precisa saber é o seguinte

Isso é apenas parte de sua pergunta "Um sistema de arquivos é apenas o layout das pastas?", A maneira como você responde à pergunta só a torna mais confusa e não aborda essa questão. Assim eu deixei um aviso para os leitores ...
Tamara Wijsman

+1 para "tudo é um arquivo" no Linux. Essa é a grande diferença entre Linux e Windows para mim.
Rabarberski

3

O sistema de arquivos não é apenas sobre como uma árvore de diretórios é configurada, mas também como essas informações são codificadas na mídia também. Existem vários sistemas de arquivos para Linux: ext3, xfs, raiserfs, etc.


3

Você pode pensar em sistemas de arquivos como formatos diferentes para armazenar arquivos e pastas, algo semelhante ao MS Word e PDF são formatos diferentes para armazenar documentos ou MP3 e WAV são formatos diferentes para armazenar áudio.

Dados alguns arquivos e pastas, o sistema de arquivos é o formato e o código que os armazena no disco para que possam ser lidos novamente.

E, assim como nem todos os reprodutores de vídeo podem reproduzir todos os formatos de vídeo, nem todos os sistemas operacionais podem ler todos os sistemas de arquivos. Por exemplo, se você armazena um arquivo do Linux em um pendrive formatado com ext3, o Windows não pode ler o arquivo, pois não sabe como lidar com o sistema de arquivos ext3.

Os sistemas de arquivos comuns incluem

  • FAT e NTFS (Windows, NTFS é padrão nas versões mais recentes do Windows)
  • ext3 e ext4 (Linux)
  • HFS plus (OS X)
  • ISO 9660 e UDF (CD, DVD e Blu-Ray)

Veja a Wikipedia para uma comparação de sistemas de arquivos .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.