Le operazioni del filesystem sono una funzione del kernel? [chiuso]


1

Suppongo che la domanda sia specifica del sistema operativo, quindi prenderò i seguenti scenari:

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

Ogni sistema operativo ha il suo filesystem predefinito che opera os (OSX, credo, ha solo una scelta disponibile). Ho notato alcune utilità là fuori che i sistemi operativi possono leggere diversi file system (che ovviamente NON sono parte del kernel), il che mi ha fatto pensare: le operazioni del filesystem sono una funzione di un driver (cioè, potenzialmente modulare), o è veramente a parte il kernel?

Risposte:


2

In Linux, quando compilate il kernel da soli, avete la possibilità di compilare il supporto per ciascun filesystem disponibile (ext2, ext3, ext4, reiserfs o JFS per esempio) separati come moduli o all'interno del kernel. Non ho provato se funziona quando compilato come moduli, ma suppongo che certamente non funzionerà per il filesystem della partizione di avvio, ma potrebbe funzionare per gli altri.

Nessuna idea per Windows o OSX.


In Windows penso che questi siano implementati in alcuni file DLL; ma in effetti non è chiaro se considerarli parte del kernel o solo driver, dato che è in qualche modo modulare. OS X probabilmente trova la sua radice in Unix, che aveva anche il filesystem nel kernel ...
Tamara Wijsman,

2

In Windows, entrambi i filesystem FAT e NTFS sono implementati all'interno del kernel come driver di dispositivo caricati da fastfat.syse ntfs.sys, entrambi situati in \Windows\System32\drivers.

Implementazione del file system FAT del kernel di WindowsImplementazione del filesystem NTFS del kernel di Windows


1

Per Linux e OSX (non sono sicuro di Windows), potresti dare un'occhiata a File System in Userspace e MacFuse . Ciò consente di scrivere le implementazioni di FS non nel kernel, ma come driver di spazio utente - che sono naturalmente molto meno pericolosi.


Molto interessante ... dovrò dare un'occhiata.
Chad Harrison,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.