Onde as tabelas do nó i são armazenadas?

4

Eu realmente não entendo onde as tabelas que contêm i-nodes estão localizadas. Meu professor disse que cada disco físico tem uma tabela de i-nodes, após o que há os dados dos arquivos. Mas, na Internet, descobri que cada diretório tem sua própria tabela de inodes e nomes associados aos arquivos dentro dele.

Estas duas tabelas (conceitos) são diferentes ou uma delas está errada?

Obrigado.

    
por Toma Radu-Petrescu 30.01.2017 / 18:46

2 respostas

1

My teacher said that each physical disk has a table of i-nodes, after which there is the files' data.

Isso está correto no geral. Mais precisamente, há uma tabela de inodes em cada sistema de arquivos, e há um sistema de arquivos separado em cada partição. (As coisas podem ficar mais complicadas, mas não precisamos entrar nessas complicações aqui.)

A tabela de inodes de um sistema de arquivos mapeia números de inodes para os metadados do arquivo . Normalmente, é uma grande variedade de estruturas de tamanho fixo. Por exemplo, o elemento número 1234 desta matriz é o número do inode 1234. O inode contém informações como as permissões do arquivo, seu horário de modificação, um tipo de arquivo, etc., além de uma indicação de onde o conteúdo do arquivo está localizado. p>

But, on the Internet, I found that each directory has its own table of the inodes and names associated to the files inside it.

Essa é uma tabela que mapeia nomes de arquivos para números de inodes . Ou seja, o diretório é uma lista de entradas (ou alguma estrutura de dados mais sofisticada) e cada elemento da lista contém um nome de arquivo e um número de inode. Para localizar os metadados e o conteúdo do arquivo, o sistema lê o número do inode no diretório e lê a entrada designada na tabela de inode. Para encontrar um arquivo dado seu caminho, o sistema inicia com o inode raiz, descobre que é um diretório, localiza a entrada de diretório para o primeiro elemento, lê seu inode e assim por diante.

Note que este é um projeto típico para um sistema de arquivos, mas não o único possível. A maioria dos sistemas de arquivos orientados ao Unix segue esse design, mas existem outros designs.

    
por 31.01.2017 / 01:17
3

Um equívoco é que inodes não são um atributo de discos físicos, mas sim de certos sistemas de arquivos . O FAT32, por exemplo, não possui inodes. Um resumo simples da hierarquia poderia ser o seguinte:

Os discos físicos contêm vários setores . Estes são locais físicos no disco em que os dados são armazenados.

A unidade física é geralmente dividida em partições . Essas são separações lógicas da área de armazenamento de dados físicos (logicamente) contíguos no disco.

Essas partições podem ser divididas em volumes lógicos (como no LVM), mas isso não é obrigatório. Se implementados, esses volumes lógicos funcionam principalmente como as partições, mas facilitam a implementação de operações como (por exemplo) adicionando mais capacidade.

Partições (ou volumes lógicos) podem conter sistemas de arquivos (por exemplo, ext3fs, VFAT, hpfs). Cada sistema de arquivos se organiza à sua maneira com relação a manter o controle de sua estrutura organizacional e outras coisas. Muitos sistemas de arquivos normalmente implementados em hosts Linux (por exemplo, ext? Fs) usam inodes para esse propósito ou usam um mecanismo equivalente (por exemplo, reiserfs).

    
por 30.01.2017 / 19:08