As operações do sistema de arquivos são uma função do kernel?

As operações do sistema de arquivos são uma função do kernel?

Suponho que a pergunta seja específica do sistema operacional, então considerarei os seguintes cenários:

  • Janelas (NTFS)
  • OSX (HFS)
  • Linux (ext2,ext3,ext4)

Cada sistema operacional tem seu sistema de arquivos padrão em que opera (o OSX, acredito, só tem uma opção disponível). Eu notei alguns utilitários disponíveis para sistemas operacionais lerem diferentes sistemas de arquivos (o que obviamente éNÃOalém do kernel), o que me fez pensar: as operações do sistema de arquivos são uma função de um driver (ou seja, potencialmente modular) ou são realmente separadas do kernel?

Responder1

No Linux, quando você mesmo compila o kernel, você tem a opção de compilar o suporte para cada sistema de arquivos disponível (ext2, ext3, ext4, reiserfs ou JFS, por exemplo) separados como módulos ou dentro do kernel. Não tentei se funciona quando compilado como módulos, mas suponho que certamente não funcionará para o sistema de arquivos da partição de inicialização, mas pode funcionar para os outros.

Não faço ideia para Windows ou OSX.

Responder2

No Windows, tanto oGORDOeNTFSsistemas de arquivos são implementados dentro do kernel como drivers de dispositivos carregados de fastfat.syse ntfs.sys, ambos localizados em \Windows\System32\drivers.

Implementação do sistema de arquivos FAT do kernel do WindowsImplementação do sistema de arquivos NTFS do kernel do Windows

Responder3

Para Linux e OSX (não tenho certeza sobre Windows), você pode dar uma olhada emSistema de arquivos no espaço do usuárioeMac Fuse. Isso permite que implementações de FS sejam escritas não no kernel, mas como drivers de espaço de usuário - que são naturalmente muito menos perigosos.

informação relacionada