Nó-i: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Etiqueta: Inserção de predefinição obsoleta
Linha 12:
 
== Detalhes ==
[[File:File table and inode table.svg|thumb|[[Descritor de arquivo|Descritores de arquivos]], tabela de aquivos e tabela de inodes no Unix<ref><!-- Inspired by, not coped from... -->{{Cite book|first=Maurice J.|last=Bach |date=1986 |title =The Design of the UNIX Operating System|publisher=Prentice Hall|page=94}}</ref>]]
 
Um sistema de arquivos depende de estruturas de dados sobre os arquivos, além do conteúdo do arquivo. Os primeiros são chamados de ''[[metadado]]s'' - dados que descrevem dados. Cada arquivo é associado com um ''inode'', que é identificado por um número inteiro, geralmente referido como um ''número-i'' ou ''número inode''.
 
Inodes armazenam informações sobre arquivos e diretórios (pastas), como proprietário do arquivo, modo de acesso (permissões de leitura, escrita e execução) e tipo de arquivo. Em muitos tipos de implementações de sistemas de arquivos, o número máximo de inodes é fixado na criação do sistema de arquivos, limitando o número máximo de arquivos que o sistema de arquivos pode armazenar. Uma heurística de alocação comum para inodes em um sistema de arquivos é um porcento do tamanho total.
 
O número do inode indexa uma tabela de inodes em uma localização conhecida no dispositivo. A partir do número de inode, o controlador (driver) do sistema de arquivos do kernel pode acessar o conteúdo dos inodes, incluindo a localização do arquivo - desta forma, permitindo o acesso ao arquivo. Um número de inode de um arquivo pode ser encontrado usando o comando <tt>ls -i</tt>. O comando <tt>ls -i</tt> imprime o número do inode na primeira coluna do relatório.
 
Alguns sistemas de arquivos no estilo Unix, como [[ReiserFS]], [[btrfs]] e [[APFS]], omitem uma tabela de inodes de tamanho fixo, mas devem armazenar dados equivalentes para fornecer recursos equivalentes. Os dados podem ser chamados de dados stat, em referência à [[chamada de sistema]] <code>[[stat (chamada de sistema)|stat]]</code> que fornece os dados aos programas. Alternativas comuns para a tabela de tamanho fixo incluem [[Árvore B|árvores B]] e as [[Árvore B+|árvores B+]] derivadas.
 
Nomes de arquivos e implicações de diretório:
 
* Os inodes não contêm seus nomes de hardlink, apenas outros metadados de arquivo.
* Os diretórios do Unix são listas de estruturas de associação, cada uma contendo um nome de arquivo e um número de inode.
* O driver do sistema de arquivos deve pesquisar um diretório à procura de um nome de arquivo específico e, em seguida, converter o nome do arquivo para o número de inode correspondente correto.
 
A representação na memória do kernel do sistema operacional desses dados é chamada de <code>struct inode</code> no [[Linux]]. Os sistemas derivados do [[BSD]] usam o termo <code>vnode</code> (o "v" refere-se à camada de [[sistema de arquivos virtual]] do kernel).
Um número de inode de um arquivo pode ser encontrado usando o comando <tt>ls -i</tt>. O comando <tt>ls -i</tt> imprime o número do inode na primeira coluna do relatório.
 
== Estrutura ==