MOSIX

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

MOSIX (Multicomputer Operating System for UnIX) - system zarządzania klastra komputerowego realizujący założenia Single System Image. Rozwijany od 1977 roku w Institute of Computer Science Uniwersytetu Hebrajskiego w Jerozolimie, Izrael. Program przeszedł dwie zmiany nazwy, od UNIX with Satellite Processors, przez MOS aż do dzisiejszego MOSIX-a. Pierwsze wersje (0-5) powstały dla systemu Unix, następnie wersja 6 działała pod kontrolą BSD. Od wersji 7 rozwijany jest MOSIX dla Linuksa.

Demon (ang.) daemon – program lub proces, wykonywany wewnątrz środowiska systemu operacyjnego, bez konieczności interakcji z użytkownikiem.Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.

MOSIX zawiera mechanizm, który obserwuje obciążenie węzłów i w przypadku pojawienia się zwiększonego zapotrzebowania na zasoby systemowe, wysyła proces na najlepszy dostępny węzeł (proces migruje). Dzięki temu MOSIX zapewnia równoważenie obciążenia, migrowanie procesów z węzłów wolniejszych na szybsze, migrowanie procesów z węzłów, które wykorzystały swoje zasoby pamięci.

Jądro systemu operacyjnego (ang. kernel) – podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania.Message Passing Interface (MPI) (z ang. Interfejs Transmisji Wiadomości) – protokół komunikacyjny będący standardem przesyłania komunikatów pomiędzy procesami programów równoległych działających na jednym lub więcej komputerach. Interfejs ten wraz z protokołem oraz semantyką specyfikuje, jak jego elementy winny się zachowywać w dowolnej implementacji. Celami MPI są wysoka jakość, skalowalność oraz przenośność. MPI jest dominującym modelem wykorzystywanym obecnie w klastrach komputerów oraz superkomputerach. Pierwsza wersja standardu ukazała się w maju 1994 r. Standard MPI implementowany jest najczęściej w postaci bibliotek, z których można korzystać w programach tworzonych w różnych językach programowania, np. C, C++, Ada, Fortran.

Pod koniec 2001 roku z powodu zmiany licencji MOSIX-a, który stał się zamkniętym oprogramowaniem, Moshe Bar bazując na ostatniej wolnej wersji MOSIX-a, rozpoczął projekt openMosix na licencji GPL.

Budowa systemu oraz zasada działania[ | edytuj kod]

MOSIX to zbiór narzędzi oraz łatka (patch) na jądro systemu Linux. Odpowiednio poprawione i skompilowane jądro systemu oraz usługa (daemon) odpowiadają za zarządzanie procesami, natomiast zestaw narzędzi pozwala na monitorowanie oraz zarządzanie systemem MOSIX. Łatka na jądro została zaimplemetowana jako warstwa wirtualizacji, co pozwala użytkownikowi i aplikacjom widzieć klaster jako Jednolity Obraz Systemu (SSI).
W systemie MOSIX zastosowano nieco inne podejście do rozdzielania zadań. Zamiast rozdzielać zadania (job), MOSIX rozdziela procesy, co znacznie ułatwia zarówno użytkownikowi jak i programiście korzystanie z systemu rozproszonego. Największą zaletą takiego rozwiązania jest fakt, że aby skorzystać z możliwości wykonania równoległego danego programu nie trzeba go nawet ponownie kompilować.
Ostatnia wersja MOSIX jest kompatybilna z jądrem w wersji 3.14 i jest nazwana MOSIX-3.

Proces – jedno z podstawowych pojęć w informatyce, definiowane jako egzemplarz wykonywanego programu. Każdy nowo powstały proces otrzymuje unikatowy numer, który go jednoznacznie identyfikuje, tzw. PID (od (ang.) process identifier).Oprogramowanie zamknięte, prawnie zastrzeżone (ang. proprietary software) – oprogramowanie objęte restrykcjami dotyczącymi używania, kopiowania lub modyfikacji, rozpowszechniane zwykle w postaci binarnej, bez kodu źródłowego. Pojęcie przeciwstawne oprogramowaniu Open Source lub Wolnemu Oprogramowaniu.


Podstrony: 1 [2] [3]




Warto wiedzieć że... beta

OpenMP (ang. Open Multi-Processing) – wieloplatformowy interfejs programowania aplikacji (API) umożliwiający tworzenie programów komputerowych dla systemów wieloprocesorowych z pamięcią dzieloną. Może być wykorzystywany w językach programowania C, C++ i Fortran na wielu architekturach, m.in. Unix i Microsoft Windows. Składa się ze zbioru dyrektyw kompilatora, bibliotek oraz zmiennych środowiskowych mających wpływ na sposób wykonywania się programu.
Równoważenie obciążenia (ang. load balancing) - technika rozpraszania obciążenia pomiędzy wiele procesorów, komputerów, dysków, połączeń sieciowych lub innych zasobów.
GNU General Public License – licencja wolnego i otwartego oprogramowania stworzona w 1989 roku przez Richarda Stallmana i Ebena Moglena na potrzeby Projektu GNU, zatwierdzona przez Open Source Initiative. Pierwowzorem licencji była licencja Emacs General Public License. Wersja druga licencji GNU GPL została wydana w roku 1991, a wersja trzecia – 29 czerwca 2007.
BSD (ang. Berkeley Software Distribution, czasami nazywany Berkeley Unix) – odmiana systemu operacyjnego Unix wywodząca się ze stworzonych na Uniwersytecie Kalifornijskim Berkeley rozszerzeń dla systemu rozwijanego przez firmę AT&T. Także potoczna nazwa licencji BSD, na której te systemy są wydawane oraz pokrewnych licencji tego typu (np. licencja MIT).
Wolne Oprogramowanie (ang. free software) – termin określający oprogramowanie, które może być uruchamiane, kopiowane, rozpowszechniane, analizowane oraz zmieniane i poprawiane przez użytkowników. Oprogramowanie, aby można je było nazwać wolnym, musi spełniać kilka podstawowych założeń, które zostały zawarte w definicji Wolnego Oprogramowania opublikowanej przez Free Software Foundation. Przysługujące użytkownikowi wolności to:.
SSI – Single System Image (jednolity obraz systemu) – rodzaj klastra komputerowego, w którym użytkownik widzi węzły klastra jako jeden system. Przykładem takich systemów są m.in. OpenSSI, MOSIX, openMosix. Koncepcja przeważnie kojarzona z Rozproszonym Systemem Operacyjnym, ale pojedynczy jednolity obraz systemu może być stosowany z bardziej przyziemnych powodów, jak na przykład zarządzanie procesami, które może być osiągnięte poprzez stosowanie dodatkowej warstwy oprogramowania, ponad obrazami konwencjonalnych systemów uruchamianych na poszczególnych węzłach.Zainteresowanie SSI wynika z założenia, że tego typu klastry mogą być łatwiejsze w użytku i administrowaniu, niż bardziej wyspecjalizowane. Różne systemy SSI mogą udostępniać bardziej lub mniej złożoną formę iluzji pojedynczego systemu.
Klaster komputerowy (ang. cluster) – grupa połączonych jednostek komputerowych, które współpracują ze sobą w celu udostępnienia zintegrowanego środowiska pracy.

Reklama