Network File System


Przykładowa implementacja

Blokowanie plików w NFS4

Ponieważ protokół NFS3 był bezstanowy, niezbędne było zastosowanie dodatkowego protokołu -- NLM (z ang. Network Lock Manager) -- zapewniającego wsparcie dla blokowania plików zamontowanych poprzez NFS.

Najnowsza wersja protokołu wspiera blokowanie konkretnych fragmentów plików. Implementacja blokowania plików bezpośrednio w protokole wykluczyła możliwość jego zupełnej bezstanowości. Jednak jasne założenia twórców dotyczące tego mechanizmu umożliwiają sprawne zarządzanie blokadami. Są to: Stanem blokad założonych na pliki zarządza serwer. Klient przesyła do niego odpowiednie informacje tylko wtedy, gdy są one niezbędne. Potrafi ponadto wykryć niespójności pomiędzy własnymi informacjami a informacjami przechowywanymi przez serwer. Mechanizm blokad jest oparty na modelu dzierżaw -- z ang. lease-based model i działa na następującej zasadzie: Podstawowym założeniem dla tego mechanizmu jest fakt, że operacja blokowania plików jest wykonywana bardzo rzadko w porównaniu z np. operacjami read oraz write. Ponadto zakłada się, że awarie systemu i sieci nie są częste. Bardzo ważne jest, aby operacje read oraz write były lekkie, lecz jednocześnie zawierały informacje o blokadzie założonej na daną część pliku. Z drugiej strony żądanie założenia blokady na plik musi zawierać odpowiednio wiele informacji, by serwer mógł ją stworzyć, a następnie efektywnie nią zarządzać (to wyjaśnia powyższe założenia). Pojawiające się problemy:

Konrad Iwanicki, 2002