Quais são as listas de diferentes tipos de caches nos sistemas de arquivos Linux?

2

Eu tenho lido esta página, link , e tenho dificuldade em organizar todos os caches diferentes está falando. Especialmente, não entendo os diferentes cenários de quando cada um é usado.

Do jeito que entendi, existem

  1. Cache de buffer: Usado pelo VFS. Diz que os buffers de dados são colocados no cache. Não sei se os buffers de dados são a única coisa no cache do Buffer. Além disso, não tenho certeza se é usado apenas pelo VFS.

  2. Cache de inodes VFS: Depois de acessar um arquivo, seu inode é colocado no cache para uma consulta mais rápida. Não tenho certeza se ter as informações de inode significa que o sistema não precisa mais descer pela árvore do sistema de arquivos até o local (Como em, se um arquivo estiver em Documents, ele não precisará mais acessar Documents do diretório raiz) .

  3. Cache de inode EXT2 (ou outros sistemas de arquivos que usam inodes): Isso existe? Nunca é mencionado, mas estou assumindo que existe.

  4. Cache do diretório VFS: armazena os mapeamentos "nome do diretório para inode". Como a seguinte citação diz a partir do link, aparentemente você pode obter um inode do VFS apenas com o cache do VFS:

    If there is no entry in the directory cache, the real file system gets the VFS inode either from the underlying file system or from the inode cache.

    Então, por que precisamos de um cache de diretório? Isso está relacionado ao cache dentário?

  5. Cache dentário: Por que isso não é mencionado no artigo acima? Não está relacionado?

por CuriousKimchi 29.12.2016 / 07:32

1 resposta

2

Then why do we even need a directory cache?

É apenas outro nível de cache. Mesmo se todos os componentes do caminho puderem ser encontrados em outros caches, ainda levará algum tempo para percorrê-los. Portanto, o cache de diretórios fornece uma maneira de armazenar em cache todos os caminhos e evitar procurar elementos de caminho pelo elemento de caminho da raiz a cada vez.

    
por 29.12.2016 / 07:53