Linux/System plików/Wirtualny system plików

Z Wikibooks, biblioteki wolnych podręczników.

Wirtualny system plików (ang. Virtual File System lub Virtual Filesystem Switch, VFS) - abstrakcyjna powłoka nałożona nad obowiązujący system (systemy) plików. Jej zadaniem jest umożliwienie wszystkim programom korzystanie z tegoż systemu plików niezależnie od tego, jaki system plików jest w użyciu. VFS skupia wszystkie systemy plików obsługiwanych przez jądro danego systemu operacyjnego w jednolitym interfejsie zwiększając wygodę użytkownika.

Wirtualny system plików (Moduł rodzimy – np. ext2)

W momencie kiedy program uruchomiony przez użytkownika ma wykonać jakąkolwiek operację na pliku, to odwołuje się nie do funkcji używanego systemu plików, lecz do funkcji VFS (np. open, read itd.). VFS przechwytuje wywołania i do realizacji danej operacji na pliku wywołuje funkcję już dla konkretnego systemu plików (np. w przypadku systemu plików ext2: ext2_open, ext2_read itd.). Dzięki temu wszystkie programy mogą korzystać z dowolnych plików, bez względu na to, z pomocą jakiego systemu plików jest on przechowywany. Dla systemów Uniksopodobnych jest to bardzo ważne, jako że systemy takie korzystają z wielu systemów plików.

VFS jest też swego rodzaju mostem pomiędzy różnymi systemami operacyjnymi. Dzięki nadrzędnemu traktowaniu operacji i nieodwoływaniu się bezpośrednio do danego systemu plików nie musimy się przejmować, czy dany plik pochodzi z Windowsa, Linuxa czy Mac OSa.

W ramach VFS odbywa się pierwszy etap buforowania plików – buforowanie nazw katalogów oraz i-węzłów.

Mechanizm ten w systemach Uniksopodobnych umożliwia, dzięki odpowiednim wirtualnym systemom plików, korzystanie z zasobów systemowych tak, jakby były one dostępne jako pliki.