ext2 filesystem

0

Eu tenho uma pergunta sobre o ext2 do sistema de arquivos. Eu preciso saber muito bem sobre isso. E eu acho que entendo tudo sobre isso. Mas há uma coisa me incomodando. Como você pode ver na primeira imagem, esse sistema de arquivos faz com que o volume seja dividido em algum "grupo de blocos". Cada um dos quais tem uma seção de tabela de inodes mutuamente. o que eu quero saber é se é o mesmo entre a Tabela de Inodes do Grupo de Blocos 0 e a do Grupo de Blocos 1 (2, 3 .. qualquer que seja a exceção 0). Eles são iguais ou não? Se forem iguais, como encontrar qual Inode_table corresponde a um i_node. Se não forem, neste caso, parece que há mais de um número do mesmo i_node. Se você souber exatamente a resposta, deixe-me saber a base de seus pensamentos, como sites ou livros, que você pode provar que está certo.

    
por user187324 30.08.2016 / 16:27

1 resposta

1

Se você estiver perguntando se a tabela de inodes está sempre no mesmo offset em relação ao início de um grupo de blocos, isso significaria tudo antes de ser de tamanho fixo. Os bitmaps de bloco e inode são sempre um bloco. A tabela do descritor do grupo de blocos não é fixa. Isto é o que a documentação diz:

Depending on how many block groups are defined, this table can require multiple blocks of storage. Always refer to the superblock in case of doubt.

Supondo que você queira encontrar a tabela de inode para um dado inode, você precisa saber a qual grupo de bloqueio um inode pertence. Se você conhece o número do grupo de bloqueio, o tamanho do bloco ( s_log_block_size ) e a quantidade de blocos por grupo de bloqueio ( s_blocks_per_group ), você pode encontrar o início de um grupo de bloqueio, onde fica a tabela de descritores de grupo de blocos . Ele contém o id de bloco do primeiro bloco da tabela de inode desse grupo de blocos ( bg_inode_table ).

Documentação de layout interno do sistema de arquivos Ext: link

Espero que ajude.

    
por 30.08.2016 / 19:26