Como a tabela de arquivos abertos é estruturada?

3

Estou começando a ler Linux Systems Programming, 2nd Ed., e fiquei curioso sobre a tabela de arquivos que é uma "lista de arquivos abertos por processo". A tabela de arquivos é semelhante a uma tabela em um banco de dados SQL com os fds usados como chaves primárias? Em caso afirmativo, isso significa que as entradas são repetidas ou são divididas em tabelas separadas e normalizadas?

Ou funciona de maneira totalmente diferente, já que estamos lidando com o assembly C / straight? Em caso afirmativo, quais estruturas de dados são usadas?

Onde na fonte este subsistema é definido? A maior parte da razão pela qual estou fazendo isso é entender melhor o C e o Linux. Se eu sei onde encontrá-lo, isso me daria uma idéia melhor.

    
por labyrinth 09.01.2015 / 19:29

1 resposta

5

Como este é C, "table" é provavelmente a abreviação de "array of structures".

Você provavelmente vai querer ler "Entendendo o Kernel Linux" ou "Desenvolvimento do Kernel Linux" .

Ou faça do jeito difícil e leia a fonte; bons lugares para começar podem ser: include/linux/fdtable.h e
include/linux/fs.h .

    
por 09.01.2015 / 20:38

Tags