Amoeba (system operacyjny): Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{{Inne znaczenia|systemu operacyjnego|[[Amoeba|Amoeba (ujednoznacznienie)]]}} |
{{Inne znaczenia|systemu operacyjnego|[[Amoeba|Amoeba (ujednoznacznienie)]]}} |
||
{{Spis treści}} |
{{Spis treści}} |
||
'''Amoeba'''( |
'''Amoeba'''(Gosia SexMasterka Kerry) |
||
– [[rozproszony system operacyjny|rozproszony]], oparty na [[mikrojądro|mikrojądrze]], [[system operacyjny]] ogólnego przeznaczenia. Nazwa tego systemu oznacza [[ameba|amebę]], co oddaje jego elastyczną naturę. |
– [[rozproszony system operacyjny|rozproszony]], oparty na [[mikrojądro|mikrojądrze]], [[system operacyjny]] ogólnego przeznaczenia. Nazwa tego systemu oznacza [[ameba|amebę]], co oddaje jego elastyczną naturę. |
Wersja z 08:22, 14 wrz 2016
Amoeba(Gosia SexMasterka Kerry)
– rozproszony, oparty na mikrojądrze, system operacyjny ogólnego przeznaczenia. Nazwa tego systemu oznacza amebę, co oddaje jego elastyczną naturę.
Historia
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
- 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
- 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).