UMIEJSCOWIENIE

UMIEJSCOWIENIE
Deweloper UCLA
Rodzina OS Uniks
Stan roboczy Historyczny
Model źródłowy Zamknięte źródło
Typ jądra Jądro monolityczne
Licencja Prawnie zastrzeżony

LOCUS to wycofany rozproszony system operacyjny opracowany na Uniwersytecie Kalifornijskim w latach 80. Godne uwagi było zapewnienie wczesnej implementacji obrazu jednego systemu , w której klaster maszyn wydawał się być jedną większą maszyną.

Chęć komercjalizacji technologii opracowanych dla LOCUS zainspirowała powstanie Locus Computing Corporation , która następnie włączała pomysły LOCUS do różnych produktów, w tym OSF/1 AD i wreszcie do produktu SCO Tandem UnixWare NonStop Clusters .

Opis

System LOCUS został stworzony na UCLA w latach 1980-1983, początkowa implementacja miała miejsce na klastrze PDP-11 / 45 przy użyciu sieci pierścieniowych 1 i 10 megabitów , do 1983 roku system działał na 17 VAX-11/750 przy użyciu 10-megabitowego Ethernetu . System był Unix i zapewniał zarówno pojedynczy główny widok systemu plików, jak i ujednoliconą przestrzeń procesową we wszystkich węzłach.

Rozwój LOCUS był wspierany przez kontrakt badawczy ARPA , DSS-MDA-903-82-C-0189.

System plików

Aby umożliwić niezawodny i szybki dostęp do systemu plików obejmującego cały klaster, LOCUS stosował replikację , dane plików mogą być przechowywane na więcej niż jednym węźle, a LOCUS aktualizuje różne kopie. Zapewniało to szczególnie dobre czasy dostępu do plików, które były czytane częściej niż były zapisywane, na przykład w normalnym przypadku katalogów.

Aby zapewnić dostęp do najnowszej wersji dowolnego pliku, LOCUS wyznaczyłby jeden węzeł jako „bieżącą witrynę synchronizacji” (CSS) dla określonego systemu plików. Każdy dostęp do plików w systemie plików musiałby być skoordynowany z odpowiednim CSS.

Pliki zależne od węzła

Podobnie jak w przypadku innych systemów SSI , LOCUS czasami uznał za konieczne przełamanie iluzji jednego systemu, w szczególności umożliwienie różnicowania niektórych plików w zależności od węzła. Na przykład możliwe było zbudowanie klastra LOCUS zawierającego zarówno maszyny PDP-11/45, jak i VAX 750, ale użyte zestawy instrukcji nie były identyczne, więc potrzebne byłyby dwie wersje każdego programu obiektowego

Rozwiązaniem było zastąpienie plików, które musiały być różne w zależności od węzła, specjalnymi ukrytymi katalogami. Katalogi te zawierałyby wówczas różne wersje pliku. kontekst użytkownika i otwierał odpowiedni plik.

Na przykład, jeśli użytkownik działał na jednym z PDP-11/45 i wpisał polecenie /bin/who , system znalazłby ten /bin/who w rzeczywistości w ukrytym katalogu i uruchomiłby polecenie /bin/who/45 . Inny użytkownik w węźle VAX, który wpisał /bin/who, uruchomiłby polecenie /bin/who/vax .

Urządzenia

LOCUS zapewnił zdalny dostęp do urządzeń I/O.

Procesy

LOCUS zapewnił pojedynczą przestrzeń procesową. Procesy mogą być tworzone na dowolnym węźle w systemie. fork Uniksa , jak i wywołania exec zbadałyby listę porad , która określałaby, w którym węźle proces zostanie uruchomiony. LOCUS został zaprojektowany do pracy z heterogenicznymi węzłami (np. mieszanką VAX 750 i PDP 11/45) i mógł podjąć decyzję o wykonaniu procesu na innym węźle, jeśli potrzebował określonego zestawu instrukcji. Jako optymalizacja uruchom dodano wywołanie, które było równoważne połączonemu rozwidleniu i exec, unikając w ten sposób narzutu związanego z kopiowaniem obrazu pamięci procesu do innego węzła przed zastąpieniem go nowym obrazem.

Rury

Procesy mogą wykorzystywać potoki do komunikacji między węzłami, w tym nazwane potoki ,

Partycjonowanie

System LOCUS został zaprojektowany tak, aby był w stanie poradzić sobie z partycjonowaniem sieci - jeden lub więcej węzłów zostaje odłączonych od reszty systemu. Gdy system plików został zreplikowany , odłączone węzły mogły nadal uzyskiwać dostęp do plików. Gdy węzły zostały ponownie połączone, wszelkie pliki zmodyfikowane przez odłączone węzły zostaną ponownie włączone do systemu. W przypadku niektórych typów plików (np. skrzynek pocztowych) system wykonywałby scalanie automatycznie, w przypadku innych użytkownik byłby informowany (pocztą), a także udostępniano narzędzia umożliwiające dostęp do różnych wersji pliku.

Notatki

  1. ^ Raczej jak pliki binarne Apple Fat
  2. ^ run jest tą samą operacją co spawn w systemach Windows .