Wirtualny system plików

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

Wirtualny system plików (ang. Virtual File System lub Virtual Filesystem Switch, VFS) – abstrakcyjna powłoka leżąca ponad rzeczywistym systemem plików, której zadaniem jest umożliwienie programom użytkownika korzystania z niego w jednakowy sposób, niezależnie od tego jaki system plików jest rzeczywiście wykorzystywany. VFS dostarcza jednolity interfejs wspólny dla wszystkich systemów plików obsługiwanych przez jądro systemu operacyjnego.

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

Gdy programy z przestrzeni użytkownika chcą wykonać jakąkolwiek operację na pliku, odwołują się do funkcji VFS (np. open, read itp.). VFS przechwytuje wywołania systemowe i do realizacji operacji na pliku wywołuje funkcję konkretnego systemu plików (np. dla ext2 ext2_open, ext2_read itp.). Dzięki takiemu rozwiązaniu programy mogą korzystać z plików niezależnie od tego, jaki system plików został użyty do ich przechowywania. W systemach operacyjnych, które korzystają z wielu systemów plików, takich jak np. Linux czy Unix, jest to szczególnie ważne.

Początkowo wirtualny system plików w BSD został wprowadzony w celu obsługi Network File System (sieciowego systemu plików).

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

Ten mechanizm jest także używany do uproszczenia korzystania z innych zasobów systemowych. W Uniksach dzięki odpowiednim wirtualnym systemom plików zasoby systemowe są dostępne tak, jakby były plikami, zgodnie z zasadą wszystko jest plikiem, charakterystyczną dla systemów tej klasy. Na przykład w Linuksie korzystanie z urządzeń odbywa się przez system plików devfs (seria 2.4) lub udev (seria 2.6).

Ciekawostki[edytuj | edytuj kod]

  • Specyficznym wirtualnym systemem plików jest tzw. proc, który nie odnosi się do żadnego fizycznego systemu plików oraz żadnego urządzenia.