Wirtualny system plików
VFS - Virtual FileSystem Switch

Marcin Szuppe

1. Cechy VFS

1.1. Typy systemów plików, które obsługuje VFS:

Katalogi Linuksa (jak w Uniksie) tworzą drzewo, którego korzeniem jest katalog /. Główny katalog znajduje się na głównym systemie plików, który w Linuksie jest zazwyczaj typu Ext2. Wszystkie inne systemy plików mogą być zamontowane w podkatalogach głównego systemu plików.

1.2. Wspólny model pliku


Opis: dwa procesy używają tego samego sztywnego dowiązania; każdy swojego własnego obiektu file; wymagane 2 obiekty pozycji katalogu

 

2. Struktura file_system_type

Opis struktury:

Struktura taka jest przyporządkowana każdemu istniejącemu w systemie operacyjnym systemowi plików. Lista tych struktur jest przechowywana w jądrze sytemu Linux.

2.1. Rejestrowanie systemu plików - funkcja register_filesystem()

int register_filesystem(struct file_system_type *fs);

2.2 Montowanie systemu plików - funkcja mount()

3. Obiekty superbloków: struktura super_block

Inne pola zawierają informacje o zamontowanym systemie plików. (czas ostatniej modyfikacji, struktury synchronizujące dostęp ...).

3.1. Operacje na superblokach: struktura super_operations

4. Obiekty i-węzłów: struktura inode


Wybrane pola struktury:

4.1. Metody związane z i-węzłem: struktura inode_operations

 

5. Obiekty plików: struktura file

5.1. Zestaw operacji na pliku: struktura file_operations - operacje plikowe

6. Specjalna obsługa obiektów plików katalogów

6.1 Obiekty pozycji katalogów i jej metody: struktura dentry i dentry_operations

Uwaga:

Jeśli nie zaznaczono inaczej, to wszystkie definicje znajdują się w pliku /include/linux/fs.h.