Amoeba (system operacyjny)
Amoeba – rozproszony, oparty na mikrojądrze, system operacyjny ogólnego przeznaczenia. Nazwa tego systemu oznacza amebę, co oddaje jego elastyczną naturę.
Historia
[edytuj | edytuj kod]Pierwsze badania, które przyczyniły się do jej powstania zapoczątkowano w 1980 r. na Vrije Universiteit Amsterdam. Były one czynione przy współudziale Centrum voor Wiskunde en Informatica w Amsterdamie. Amoeba ujrzała światło dzienne w 1987 r. W jej rozwój zaangażowała się finansowo Wspólnota Europejska oraz, naukowo, partnerzy z Anglii i Norwegii. Rozwój Amoeby zatrzymał się w 1998 r. na wersji 5.3. W tym też czasie stała się ona wolnym oprogramowaniem.
Ostatnia wersja Amoeby posłużyła jako baza do stworzenia FSD Amoeby, znacząco odświeżonej i poprawionej jej odmiany. Najnowsza i prawdopodobnie ostateczna wersja FSD Amoeby nosi oznaczenie „2002B”. Została ona wydana w 2002 r., po czym wstrzymano prace rozwojowe. FSD Amoeba jest uznawana za najszybszy, dostępny dla każdego, rozproszony system operacyjny z prawdziwego zdarzenia. Jej bezpośrednimi sukcesorami są nieukończone tandem VX-Amoeba oraz VAM – kluczowy składnik VAMNET-u.
Celem uniknięcia żmudnego pisania wielu użytecznych programów (szczególnie w początkowym okresie istnienia systemu), Amoebę wyposażono w częściową emulację systemu UNIX na poziomie kodu źródłowego.
Z myślą o Amoebie stworzono język programowania Python. Ważnym językiem programowania związanym z Amoebą jest także Orca.
Cele projektowe
[edytuj | edytuj kod]- rozproszenie – podział zasobów i procesów systemu operacyjnego pomiędzy wiele odrębnych komputerów; ponieważ ilość zasobów systemowych nie jest dana z góry, a decydują o niej (z reguły w sposób bierny) połączone w system komputery, sensowniej jest mówić o rozproszeniu jako o możliwości połączenia w jedną całość zasobów wielu odrębnych komputerów, swego rodzaju „zespoleniu”. Zasadniczymi elementami związanym z rozproszonym charakterem Amoeby są model puli procesorów oraz protokół FLIP.
- przezroczystość – sprawienie, by utworzona całość zasobów była spójna, tzn. by praca na zespole połączonych ze sobą komputerów sprawiała na jego użytkownikach wrażenie pracy na pojedynczym komputerze z systemem z dzieleniem czasu. Tutaj także kluczową rolę odgrywa protokół FLIP.
- współbieżność – realizowana zarówno w obrębie puli procesorów (procesy), jak i pojedynczego procesu (wątki).
- wysoka wydajność – osiągnięta przede wszystkim poprzez zerwanie z istniejącymi standardami na rzecz nowatorskich, nie obciążonych zaszłościami rozwiązań.
Implikacje celów projektowych
[edytuj | edytuj kod]- Niskie koszty (tzn. przy zachowaniu wysokiego współczynnika wydajności do ceny) uzyskania dużej, zagregowanej mocy obliczeniowej poprzez wykorzystanie standardowych, relatywnie tanich komputerów.
- Wysoka niezawodność i dostępność; gdy system komputerowy tworzy wiele komputerów, uszkodzenie któregoś (czy nawet kilku) z nich zwykle odbija się tylko obniżeniem wydajności systemu jako całości, bez utraty ciągłości działania; z powodzeniem można stosować nadmiarowość, by nawet w takiej kryzysowej sytuacji zachować potrzebną moc obliczeniową.
- Łatwość naprawy, konserwacji, modernizacji i rozbudowy (także stopniowej) systemu komputerowego poprzez możliwość, nie wpływającego na ciągłość działania i praktycznie niezauważalnego dla użytkowników, usuwania (ewentualnie czasowego odłączania) i dodawania komputerów.
- Łatwość tworzenia oprogramowania użytkowego analogiczna do systemów nierozproszonych (w razie konieczności).
- Doskonałe pole doświadczalne do testowania nowych technik związanych z programowaniem rozproszonym (w razie potrzeby).
- Efektywność systemu a co za tym idzie i wygoda użytkowania (np. brak irytacji powolnym działaniem).
Linki zewnętrzne
[edytuj | edytuj kod]- Amoeba
- FSD Amoeba
- Jądro VX-Amoeby. bsslab.de. [zarchiwizowane z tego adresu (2006-10-06)].
- VAM
- VAMNET