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
- ^ Raczej jak pliki binarne Apple Fat
- ^ run jest tą samą operacją co spawn w systemach Windows .