O que é um inode conforme definido pelo POSIX?

1

O que é um inode, conforme definido pelo POSIX?

O artigo da Wikipédia sobre inodes tem uma seção intitulada POSIX inode description que diz que um inode contém (entre 8 outros pontos):

  • Device ID (this identifies the device containing the file).

Isso não parece certo para mim, e noto que não há link para um documento POSIX nas referências.

O que o POSIX diz sobre a estrutura de um inode? Por favor, forneça referências conforme apropriado.

    
por Tom Hale 19.08.2017 / 03:36

3 respostas

5

O padrão POSIX (IEEE Std 1003.1) é omisso sobre o que é um inode. Isso é simplesmente um detalhe de implementação que está fora do escopo do padrão.

    
por 19.08.2017 / 04:23
5

Não há definição de um inode no padrão POSIX.

O Guia dos programadores POSIX por Donald Lewine diz POSIX usa o termo "número de série do arquivo" para se referir ao que é comumente conhecido como um número do nó i , ou seja, o número único de uma entrada de arquivo em um sistema de arquivos. / p>

POSIX <sys/types.h> diz:

... and ino_t shall be defined as unsigned integer types.

Curiosamente, o padrão inclui a palavra "inode", como o menino @apricot menciona , mas também não consegue encontrar uma definição do termo. Talvez o mais próximo seja:

ino_t st_ino            File serial number.

em POSIX <sys/stat.h> .

Neste comentário , Johan Myréen diz que a Wikipedia provavelmente está confundindo um inode com o conteúdo da estrutura stat . A stat structure contém informações sobre o dispositivo e outras informações da Wikipedia referese diz que está incluído no inode .

    
por 19.08.2017 / 07:26
1

Existe algo como um inode POSIX? Eu fiz uma pesquisa por "inode" na especificação POSIX.1-2008 , e ela aparece apenas como uma passagem referência em alguns manpages e arquivos de cabeçalho. Inodes não parecem estar definidos lá. Eu acho que os inodes são manipulados pelo kernel ou pelo driver do sistema de arquivos que você está usando.

Quanto à sua pergunta sobre IDs de dispositivos em inodes, eu dei uma olhada nas estruturas de inode para ext4 e btrfs , ambos não mencionam o número do dispositivo, então novamente Eu acho que isso é feito pelo kernel.

    
por 19.08.2017 / 04:26