Projekt realizowany w ramach zajęć z Systemów Operacyjnych.
Prezentacja 10 stycznia 2003.

Temat 3: ROZPROSZONE SYSTEMY PLIKÓW inne niż NFS

Podtemat: AFS

Autor: Ewa Łyszczek

Spis treści:

1. Rzut oka na najważniejsze cechy AFS.

2. AFS - szczegóły

3. W ramach podsumowania - porównanie AFS z NFS

4. AFS dziś. Od AFS do DFS - czyli o historii



1. Rzut oka na najważniejsze cechy AFS.

A ponadto:

2. AFS - szczegóły.

Architektura klient-serwer.

Każdy komputer może być albo klientem, albo serwerem, ale nigdy nie pełni obu funkcji jednocześnie. Oprogramowanie systemu AFS składa się z dwóch części: oprogramowania serwera i oprogramowania klienckiego. Każda z tych części działa jako proces poziomu użytkownika systemu UNIX. Proces-serwer nosi nazwę Vice. Proces-klient to Venus.

Wszystkie komputery pogrupowane są w klastry (ang. cell ). Na każdy klaster składa się kilka serwerów (musi być co najmniej jeden w klastrze) i ileś stacji roboczych (klientów AFS). Komputer może w danym momencie należeć tylko do jednego klastra. Klient może sięgać do plików umieszczonych na dowolnym serwerze, ale podział na klastry umożliwia szybszy dostęp do plików na serwerach zlokalizowanych w tym samym klastrze, co stacja robocza klienta. Dlatego z reguły konfiguruje się system tak, by pliki, których dany użytkownik potrzebuje najczęściej (np. jego katalog domowy), znalazły się na serwerze w tej samej części systemu, gdzie ów użytkownik przeważnie korzysta ze stacji roboczych. Można to robić podczas działania systemu (por. przezroczystość wędrówki).

Pierwotnie wszystkie serwery i stacje robocze działały pod nadzorem systemów operacyjnych UNIX 4.3 BSD lub Mach. Procesy Vice i Venus zrealizowane były jako pakiet niewywłaszczalnych wątków. Jądro systemu operacyjnego UNIX nieznacznie zmodyfikowano: W początkowych implementacjach systemu AFS po prosu tak, by wykrywać odwołania do plików współdzielonych i przekazywać je do Venus (dzięki temu uzyskuje się przezroczystość dostępu).

Późniejsze wersje AFS mogą działć pod nadzorem również innych systemów operacyjnych. Od AFS v3.0 jądro klienta zawiera zarządcę pamięci podręcznej (ang. Cache Manager), który posługuje się interfejsem identyfikatorów plików (w AFS zwanych też v-węzłami) - dzięki temu Vice nie musi zajmować się stanem klienta, co byłoby konieczne przy używaniu tradycyjnych deskryptorów plików. Zarządca pamięci podręcznej zastąpił proces Venus i zrealizowany jest już nie jako proces użytkownika, ale moduł jądra systemu operacyjnego. Oprogramowanie serwera zostało podzielone na kilka procesów, m.in.
- serwer plików (File Serwer) - najbardziej podstawowy z serwerów,
- monitor systemu (Basic OverSeer Serwer) - nadzorujący pracę pozostałych procesów-serwerów,
- serwer autentykacji,
- serwer ochrony dostępu (Protection Server) - zarządzający Listami Kontroli Dostępu (ACL).
- serwer woluminów (Volume Serwer) - wspiera administratorów w zarządzaniu woluminami.
- serwer lokalizacji woluminów (Volume Location Server), zarządzający bazą danych położenia woluminów.
- serwer kopii zapasowych (Backup Server).


Przestrzeń nazw.

Procesy użytkowe, działające na stacji roboczej (komputerze-kliencie systemu AFS) mogą korzystać z plików lokalnych oraz współdzielonych. Wszystkie pliki współdzielone widziane są po stronie klienta jako znajdujące się w jednym poddrzewie lokalnej hierarchii plików. Katalogiem, w którym stacja robocza montuje hierarchię plików współdzielonych jest zazwyczaj /afs . Z lokalnych katalogów mogą prowadzić dowiązania symboliczne do plików z pamięci dzielonej. (Tak implementowane są niektóre standardowe pliki systemu UNIX, np. znajdujące się w katalogach /bin, /lib itp.) Pliki lokalne to przeważnie tylko pliki systemowe niezbędne do działania stacji roboczej oraz te pliki, które użytkownik chce z jakichś względów przechowywać lokalnie.

Przestrzeń nazw plików widziana przez klienta systemu AFS

Rys. Przestrzeń nazw plików widziana przez użytkownika.

Użytkownikom udostępniona jest jednolita przestrzeń nazw plików współdzielonych - na każdej stacji roboczej wygląda ona tak samo, a użytkownik potrzebuje znać tylko nazwę ściekową pliku, a nie jego lokalizację. AFS zapewnia zatem przezroczystość położenia plików współdzielonych. (Co prawda podział przestrzeni nazw na komputerze-kliencie na pliki lokalne i współdzielone powoduje pewną utratę przezroczystości położenia, ale tylko w zakresie podziału na pliki lokalne i współdzielone.)

Według przyjętej konwencji nazwa ścieżkowa pliku zaczyna się od /afs/<nazwa_klastra>/... . (Nazwa klastra jest z reguły podobna do nazwy domeny internetowej.)


Analiza nazw ścieżkowych. Identyfikatory plików.

Pliki współdzielone są pogrupowane w woluminy (ang. volumens). Ułatwia to ich lokalizację (o czym za chwilę) i przemieszczanie (którego dokonuje się np. w celu równoważenia obciążenia). Wolumin zawiera poddrzewo plików i katalogów z hierarchii plików współdzielonych. Np. katalog domowy jednego użytkownika jest zazwyczaj przechowywany w osobnym woluminie. Rozmiar każdego woluminu jest ograniczony (quota) przez administratora systemu.

Nazwa ścieżkowa pliku jest analizowana po stronie klienta - zapobiega to przeciążeniu serwera, co jest ważne, jeśli system ma być skalowalny. Procesy Venus tłumaczą nazwy ścieżek podane przez procesy użytkownika na identyfikatory fid , które służą do identyfikowania plików w komunikacji między procesami Vice i Venus. Identyfikatory fid mają budowę podobną do uchwytów plików w NFS: 32-bitowy identyfikator woluminu, 32-bitowy numer v-węzła, 32-bitowy numer pokolenia v-wezła. (Numer v-węzła jest po prostu numerem i-węzła na liście i-węzłów woluminu).

Jak Venus tłumaczy ścieżkę pliku na jego fid : Baza danych położenia woluminów odwzorowuje identyfikatory woluminów na ich fizyczne położenie (by dostęp do tej bazy nie stał się wąskim gardłem, jest ona powielana na każdym serwerze.) Klient w swojej pamięci podręcznej przechowuje dowiązania symboliczne, katalogi i pozycje z bazy danych położenia woluminów. Nazwa ścieżkowa jest analizowana po jednej składowej.
Venus w pierwszej kolejności korzysta z danych zapisanych w swojej pamięci podręcznej. Dopiero jeśli tam nie ma potrzebnego katalogu, to ściąga go (w całości) z serwera (i zapamiętuje na przyszłość w pamięci podręcznej).
Z odnajdowaniem woluminów jest podobnie. Z tym, że o ile informacje o katalogach są aktualizowane jak wszystkie dane w pamięci podręcznej (poprzez mechanizm powiadomień), więc powinny być aktualne, o tyle pozycje z bazy danych woluminów zapisane w swojej pamięci podręcznej, klient traktuje tylko jako podpowiedzi. Jeśli położenie wolumenu zmieniło się, to serwer odrzuci zlecenie. Wtedy klient pyta bazę danych na serwerze o aktualne położenie.

Niestety taki sposób tłumaczenia ścieżki pliku powoduje, że klient musi znać format zapisu katalogu na serwerze.

Dzięki bazom danych położenia woluminów, powyższy mechanizm zapewnia nie tylko - wspomnianą już - przezroczystość położenia, ale i niezależność położenia (przy zmianie fizycznego położenia wolumenu, jego nazwa nie zmienia się) oraz przezroczystość wędrówki (można przenosić woluminy podczas działania systemu). Mianowicie, jeśli wolumin został przeniesiony, a najbliższy serwer jeszcze nie ma w swojej bazie aktualnionej informacji na ten temat, to klient sięga do starej lokalizacji woluminu. Jednak tamten serwer ma już informacje o nowej lokalizacji i wie, gdzie przekazać zlecenie. Przenoszenie woluminów wymaga zatem zmian tylko w bazach danych po stronie serwerów (nie wymaga żadnego konfigurowania po stronie klientów!).


Pamięć podręczna klienta.

By umożliwić dobrą skalowalność systemu AFS, zadbano o zmniejszenie generowanego przez niego ruchu w sieci i obciążenia serwerów. W tym celu zastosowano protokół stanowy i duże pamięci podręcznie po stronie klienta.
Mechanizm współdzielenia plików zaprojektowano biorąc pod uwagę cechy typowych zleceń dostępu do plików:
- typowe pliki są małe,
- dostęp do pliku jest z reguły sekwencyjny,
- operacje czytania plików są znacznie częstsze niż operacje pisania,
- większość plików jest zapisywanych tylko przez jednego użytkownika,
- odwołania do plików są skumulowane, tzn. jeśli odwołanie do pliku nastąpiło niedawno, to z dużym prawdopodobieństwem w najbliższym czasie znów nastąpi odwołanie do tego pliku.

Komputer klienta przechowuje na swoim dysku kopie plików, z których korzysta klient. Proces Venus zarządza tą pamięcią podręczną - gdy potrzebne jest zwolnienie miejsce na kolejny plik ściągany z serwera, Venus usuwa z dysku pliki nie używane od najdłuższego czasu (czyli zgodnie z zasadą LRU). Kiedy w pamięci znajdą się wszystkie pliki aktualnie używane przez klienta, staje się ona w dużym stopniu niezależna od serwerów, a ruch sieciowy i obciążenie serwera bardzo się zmniejszają.

W celu zoptymalizowania korzystania z sieci, w AFS transmisje plików są masowe : W pierwotnej implementacji systemu pliki były przesyłane miedzy serwerami i klientami (oraz zapisywane na dysku klienta) w całości. W przypadku bardzo dużych plików było to jednak niepraktyczne, więc w wersji 3.0 pliki są przesyłane i zapisywane w pamięci podręcznej w 64-kilobajtowych porcjach.

WAŻNE : Spójność pamięci podręcznych utrzymywane jest poprzez mechanizm zawiadomień (callback):

Do pliku wysyłanego do klienta, serwer (proces Vice) załącza znacznik zwany obietnicą zawiadomienia (ang. callback). Venus zapisuje ten znacznik na dysku klienta, podobnie jak sam plik. Znacznik ten oznacza, że gdy główna kopia pliku, znajdująca się na serwerze, zmieni się, to serwer zawiadomi tego klienta o tym fakcie. Nazywa się to złamaniem obietnicy. Zawiadomienie polega na wywołaniu przez Vice zdalnej procedury w procesie Venus.

Znacznik obietnicy powiadomienia może mieć jedną z dwóch wartości: ważny albo nieważny. W momencie otrzymywania pliku od serwera jest ważny. Gdy klient otrzymuje od serwera zawiadomienie, to ustawia znacznik na nieważny. Jednak w tym momencie nie ściąga aktualnej kopii z serwera - zrobi to później i tylko pod warunkiem, że zajdzie taka potrzeba, tzn. jakiś proces użytkownika będzie potrzebował tego pliku.

Poniższa tabela opisuje korzystanie ze znacznika ważności kopii lokalnej u klienta, podczas realizacji odwołań do plików w systemie AFS.


Proces użytkownika
Jądro systemu operacyjnago
Klient (proces Venus )
Sieć
Serwer (proces Vice)


open()
Jeśli nazwa otwieranego pliku odnosi się do pliku współdzielonego, to przekazuje zlecenie do procesu Venus.





Jeśli pliku nie ma w pamięci podręcznej lub jego znacznik jest nieważny, to zamawia plik u tego serwara Vice, który jest opiekunem woluminu zawierającego ten plik. ->




Przesyła do klienta plik wraz z obietnicą powiadomienia. Rejestruje u siebie tę obietnicę powiadomienia.


Zapisuje kopię pliku w pamięci podręcznej na lokalnym dysku i umieszcza ją w lokalnym systemie plików. Znacznik pliku jest ważny. <-

Otwiera plik lokalny i zwraca jego deskryptor do programu użytkowego.



read()
Wykonuje zwykłą uniksową operację czytania z kopii lokalnej.




write()
Wykonuje zwykłą uniksową operację pisania do kopii lokalnej.




close()
Zamyka kopię lokalną i powiadamia Venus o zamknięciu pliku.





Jeśli kopia lokalna została zmieniona, to wysyła kopię do tego serwera Vice, który jest opiekunem woluminu tego pliku. ->




Zastępuje plik przesłanymi danymi. Wysyła zawiadomienia do wszystkich innych klientów, mających obietnicę zawiadomienia o tym pliku.


Procesy Venus, które otrzymały powiadomienia (czyli to już inni klienci, niż ten, który wykonywał close() ) ustawiają znaczniki kopii tego pliku w swoich pamięciach podręcznych na nieważny. <-

(Ten schemat opisuje sprawdzanie ważności danych w wersjach systemu wcześniejszych niż 3.0, kiedy to klient odrzucał przestarzałe dane tylko w momencie otwarcia pliku. To w połączeniu z dużym rozmiarem przesyłanych danych uniemożliwiało zastosowanie AFS do implementacji rozproszonych baz danych. Przeznaczeniem AFS była bowiem obsługa typowych zleceń dostępu do plików.
Ponadto - jak już było wspomniane - od wersji 3.0 zamiast Venus jest zarządca pamięci podręcznej (Cache Manager), realizowany jako moduł jądra.)

Z powyższego schematu widać, że semantyka aktualizacji w AFS (w wersji 2.0) jest semantyką sesji (open-to-close): Operacje zapewniające spójność pamięci podręcznych wykonywane są tylko w momencie otwierania i zamykania pliku (plik współdzielony z ziarnistością funkcji systemowych open() i close(), a nie read() i write(), jak w systemie Unix). 

Posługiwanie się semantyką sesji należy zaliczyć do wad systemu AFS, ponieważ programy użytkownika  operują na plikach współdzielonych tak, jak na lokalnych; czyli przeważnie tak, jakby była zapewniona semantyka uniksowa. Tymczasem semantyka sesji mocno różni się od semantyki uniksowej. Np. w AFS klient może nie móc uaktualnić pliku z powodu awarii serwera, sieci lub rzeczywistych błędów, takich jak zapelnienie dysku. Przez to na plikach współdzielonych funkcja close() kończy się błędem częściej niż na plikach lokalnych (program użytkownika z regóły nie sprawdza jej wyniku i nie podejmuje działań korygujących), a funkcja write() kończy się powodzeniem nieraz również wtedy, gdy nie powinna.

Zdażają się sytuacje, gdy zawiadomienie o zmianie pliku z jakichś powodów nie dotarło. Venus musi starać się wykrywać takie sytuacje:

Ze względu na możliwość pominięcia zawiadomienia (np. w wyniku awarii sieci) w momencie otwierania pliku klient dysponuje aktualną wersja pliku lub przestarzałą co najwyżej o czas T.


By realizować mechanizm zawiadomień, serwer musi przechowywać pewne dane na temat klientów i plików znajdujacych się w ich pamięciach podręcznych, co do których wysłał obietnice zawiadomienia. Tym samym AFS jest protokołem stanowym.

Lista kontroli dostępu.

AFS ma własny sposób kontroli praw dostępu, różny od uniksowych praw dostępu: Prawa te są określane na poziomie katalogów, a nie pojedynczych plików. Prawa dostępu do danego katalogu określa jego Lista praw dostępu (ang. Access Control List - ACL ). Każda ACL jest tablicą par (identyfikator użytkownika lub grupy, prawa udzielone temu użytkownikowi lub grupie). Są następujące prawa dostępu:

Każdej grupie lub użytkownikowi można nadawać prawa normalne i negatywne. Dany użytkownik ma określone prawo (powiedzmy r) do danego katalogu, jeśli: ma przyznane pozytywne prawo r jako pojedynczy użytkownik lub należy do przynajmniej jednej z grup posiadających pozytywne prawo r, a ponadto użytkownik ten nie ma nadanego negatywnego prawa r ani nie należy do żadnej z grup posiadających negatywna prawo r do tegoż katalogu.

Ponadto pozostawiono także standardowe bity praw uniksowych. Jednak spośród nich tylko prawa właściciela mają jakiekolwiek znaczenie: by dany plik mógł być w ogóle przez kogokolwiek czytany, zapisywany lub wykonywany muszą być ustawione uniksowe prawa dla właściciela odpowiednio r,w lub x. Użytkownik musi pomyślnie przejść przez oba testy (prawa ACL i prawa uniksowe).


Autentykacja użytkowników oparta o system Kerberos.

W AFS sprawdzanie, że użytkownik jest rzeczywiście tym, za kogo się podaje, jest realizowane przez mechanizmy znane pod nazwa Kerberos. (Jest to system stworzony przez MIT, ale Transarc zaimplementował własną wersję, opartą o MIT Kerberos V4, który wówczas nie był jeszcze publicznie dostępny.) W rzeczywistości Kerberos zapewnia zabezpieczenia takie jak przesyłane przez sieć zaszyfrowane hasło, ale bez potrzeby wpisywania hasła co chwila.
Ogólnie mówiąc działa to tak: Stosowana jest dwustronna autentykacja (ang. mutual authentication - i klient, i serwer potwierdzają swoją tożsamość) za pomocą metody współdzielonego sekretu. W tym celu (tuż po zalogowaniu się użytkownika do systemu AFS za pomocą swojego hasła lub później, na prośbę użytkownika) serwer autentykacji (trzecia zaufana strona) wydaje klientowi token, zawierający m.in. zaszyfrowany bilet serwera plików (ticket) i klucz sesyjny. Dane te służą następnie klientowi i serwerowi do wzajemnego potwierdzenia tożsamości, poprzez protokół przesyłania odpowiednich szyfrowanych informacji.



3. W ramach podsumownia - porównanie AFS z NFS.


AFS v3
NFS v3
Architektura
Architektura klient-serwer. Komputery tworzą logiczną jednostkę - klaster.
Architektura klient-serwer. Każdy komputer jest niezależny od pozostałych.
Zarządzanie zbiorem plików - woluminem.
Zarządzanie każdym z plików osobno.
Jednolita przestrzeń nazw widoczna tak samo dla wszystkich komputerów.
Przestrzeń nazw może być widoczna inaczej dla różnych komputerów.
Analiza nazwy ścieżkowej po stronie klienta(bardziej przerzucona na klienta niż w NFS). Klient musi znać format zapisu katalogu na serwerze.
Analiza nazwy ścieżkowej po stronie klienta. Klient nie musi znać formatu zapisu katalogu na serwerze.
Automatyczna lokalizacja położenia plików przez procesy systemowe. Uaktualnianie baz danych położenia woluminów - znajdujacych się serwerach.
Lokalizacja położenia plików zależna od punktu zamontowania ustalanego przez administratora komputera.
Serwery stanowe.
Serwery bezstanowe.
Utrzymywanie spójności pamięci podręcznych oparte o mechanizm zawiadomień.
Utrzymywanie spójności pamięci podręcznych oparte o mechanizm znaczników czasowych.
Wydajność
Odporny na błędy system dyskowej pamięci podręcznej zmniejsza obciążenie serwerów i sieci. Mała pamięć podręczna utrzymywana w pamięci.
Mechanizm zawiadomień gwarantuje spójność pamięci podręcznej. Semantyka open-to-close. Atrybuty plików są przechowywane w pamięci podręcznej przez kilka godzin. Pamięć podręczna jest aktywnie odświeżana co jakiś czas - możliwe jest powstanie niespójności w zawartości plików.
Atrybuty plików są przechowywane w pamięci podręcznej przeważnie do 60 sekund.
Ruch sieciowy jest zmniejszony poprzez wykorzystanie mechanizmu zawiadomień i wysyłanie dużych porcji danych.
Dosyć duży ruch sieciowy spowodowany małą wielkością pamięci podręcznych i ich aktualizacją.
Replikowanie plików (tworzenie kopii "tylko do odczytu") pomiędzy kilka serwerów w celu zrównoważenia obciążenia serwerów. Ale: administrator musi ręcznie wydawać polecenie uaktualnienia kopii, gdy główna kopia się zmieni! (Dlatego w ten sposób warto replikować tylko pliki rzeczywiście często używane i rzadko zmieniane.) Brak replikowania plików w celu obniżenia obciążenia serwerów.
Skalowalność - utrzymuje dobrą wydajność w instalacjach dowolnych rozmiarów, w sieciach lokalnych i rozległych. Choć dostęp do plików współdzielonych jest wolniejszy niż do lokalnych. Najlepsza w małych i średnich instalacjach. Bardzo niewydajny w przypadkach sieci rozległych, choć wydajniejszy od AFS w małych instalacjach przy niewielkim obciążeniu.
Odporność na awarie
Replikacja plików w obrębie wolumenu w trybie "tylko do odczytu". Automatyczne przełączenie na dostępną replikę pliku w przypadku niedostępności bieżącej kopii.
Brak replikacji plików.
Pliki pozostają dostępne dla użytkowników w czasie rekonfiguracji (przezroczystość wędrówki). Zmiana położenia plików nie zmienia ich nazw i nie trzeba przy tym nic konfigurować po stronie klienta (niezależność położenia). Użytkownicy tracą dostęp do plików w czasie rekonfiguracji. Zmiana położenia pliku wymaga zmiany punktu zamontowania po stronie klienta.
W protokole stanowym trudniej jest usuwać skutki awarii.
Protokół bezstanowy, więc usuwanie skutków awarii łatwiejsze.
Administracja Zarządzanie systemem z dowolnego komputera.
Zarządzanie serwerem wymaga zalogowania się na niego.
Kwota zasobów dyskowych ustalana jest dla woluminów. Kwota zasobów dyskowych ustalana jest dla użytkowników.
Wykonanie kopii zapasowej systemu nie wymaga zablokowania dostępu do plików. Wykorzystywany jest specjalizowany AFS Backup System.
Kopia zapasowa wykonywana jest przy użyciu standardowych narzędzi UNIXa i wymaga zablokowania dostępu do archiwowanych plików.
Odtworzenie plików z kopii zapasowej jest łatwo dostępne dla użytkowników.
Tylko administrator może odtworzyć pliki z kopii zapasowej.
Bezpieczeństwo
Autentykacja oparta jest na systemie Kerberos.
Autentykacja oparta jest na identyfikatorze użytkownika i adresie IP jego komputera. Można dodać obsługę systemu Kerberos.
Prawa dostępu do katalogów kontrolowane są przez rozbudowane listy kontroli dostępu. Pozostawiono uniksowe prawa dostępu, ale mają one nieco inne znaczenie. Prawa dostępu do plików i katalogów kontrolowane są przez standardowe uniksowe bitowe prawa dostępu.
Użytkownicy mogą definiować własne grupy i nadawać im prawa dostępu.
Grupy z określonymi prawami dostępu są definiowane przez administratora.
Dwustronna autentykacja serwerów i klientów. Secure RPC jest zawsze używane do przesyłania przez sieć.
Secure RPC może być użyte do przesyłania przez sieć.
Koszt
Wyższy niż w przypadku NFS. Potrzebny jest administrator, dużo pamięci.
Koszt stosunkowo niski.
Złożoność
Bardziej złożony.
Prosty. Łatwy do zrozumienia. Łatwiejszy do zaimplementowania.



4. AFS Dziś. Od AFS do DFS - czyli o historii.

Andrew File System był rozwijany w Carnegie Mellon University (CMU) od 1984 roku. Celem było udostępnienie uniwersyteckiemu kampusowi rozproszonego systemu plików, w którym byłyby przechowywane katalogi domowe i który działałby efektywnie nawet przy niskiej przepustowości sieci komputerowej kampusu. (Andrew File System był rozproszonym systemem plików dla systemu Andrew - rozproszonego serwisu komputerowego kampusu Carnegie Mellon. Andrew to imię fundatora tego uniwersytetu.) Na wersji 2.0 Andrew File System bazuje rozproszony system plików CODA, który również powstał na CMU.

W 1989 roku (po wypuszczeniu wersji 3.0) z zespołu rozwijającego Andrew File System powstaje Transarc Corporation , by przekształcić ten system w produkt komercyjny. Firma ta zmieniła nazwę systemu na AFS. Firma Transarc stała się w roku 1999 częścią IBM, a rozwijaniem AFS zajęły się IBM Pittsburgh Labs.
Wersje AFS rozwijane przez IBM (jak AFS v3.6, czy jego następca OpenAFS, który jest oferowany jako "open source") działają pod nadzorem odpowiednich wersji różnorodnych systemów operacyjnych - m.in. AIX, Solaris, HP-UX, Digital Unix, Linux, MS Windows, MacOs X.

Open Software Foundation (OSF) w 1990 roku wybrała AFS firmy Transarc jako rozproszony system plików (Distributed File System - DFS) dla swojego rozproszonego środowiska obliczeń (Distributed Computing Environment - DCE). (Obecnie używany w kampusie Carnegie Mellon rozproszony serwis komputerowy Andrew II jest oparty właśnie na OSF DCE/DFS, zamiast na Andrew File System)

IBM DCE (rozproszone środowisko obliczeń firmy IBM) oparte jest o technologie wybrane przez OSF. Zatem IBM DCE/DFS bazuje na AFS v3, choć dodaje sporo własnej funkcjonalności (przede wszystkim lepsze gwarancje spójności pamięci podręcznych i semantykę współdzielenia plików bardziej podobną do uniksowej). IBM DCE zostało przyjęte jako przemysłowy standard usług rozproszonych.


powrót na strone główną