¿Las operaciones del sistema de archivos son una función del kernel?

¿Las operaciones del sistema de archivos son una función del kernel?

Supongo que la pregunta sería específica del sistema operativo, por lo que tomaré los siguientes escenarios:

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

Cada sistema operativo tiene su sistema de archivos predeterminado con el que opera (creo que OSX solo tiene una opción disponible). He notado que existen algunas utilidades para que los sistemas operativos lean diferentes sistemas de archivos (lo cual obviamente esNOaparte del núcleo), lo que me hizo pensar: ¿Las operaciones del sistema de archivos son una función de un controlador (es decir, potencialmente modular), o son realmente parte del núcleo?

Respuesta1

En Linux, cuando compila el kernel usted mismo, tiene la opción de compilar soporte para cada sistema de archivos disponible (ext2, ext3, ext4, reiserfs o JFS, por ejemplo) separados como módulos o dentro del kernel. No lo he probado si funciona cuando se compila como módulos, pero supongo que ciertamente no funcionará para el sistema de archivos de la partición de arranque, pero puede funcionar para los demás.

No tengo idea para Windows u OSX.

Respuesta2

En Windows, tanto elGORDOyNTFSLos sistemas de archivos se implementan dentro del kernel como controladores de dispositivos cargados desde fastfat.sysy ntfs.sys, ambos ubicados en \Windows\System32\drivers.

Implementación del sistema de archivos FAT del kernel de WindowsImplementación del sistema de archivos NTFS del kernel de Windows

Respuesta3

Para Linux y OSX (no estoy seguro acerca de Windows), puede echar un vistazo aSistema de archivos en el espacio de usuarioyMacFuse. Esto permite que las implementaciones de FS no se escriban en el kernel, sino como controladores del espacio de usuario, que naturalmente son mucho menos peligrosos.

información relacionada