Czytaj więcej"/> Drukuj
Amoeba jest rozproszonym, opartym na mikrojądrze, systemem operacyjnym ogólnego przeznaczenia. Nazwa tego systemu oznacza po polsku amebę i doskonale oddaje jego elastyczną naturę.
Pierwsze badania, które przyczyniły się do jej powstania zapoczątkowano w 1980 r. na Vrije Universiteit w Amsterdamie. Badania te czynione były przy współudziale Centrum voor Wiskunde en Informatica. Amoeba ujrzała światło dzienne w 1987 r. W jej rozwój zaangażowała się finansowo Unia 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. Obecnie, w czerwcu 2005 r., najnowsza wersja FSD Amoeby nosi oznaczenie "2002B". Jest ona uznawana za najszybszy, dostępny dla każdego, rozproszony system operacyjny z prawdziwego zdarzenia.
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.

Cele projektowe

  1. 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 nie przywiązanych do konkretnego użytkownika oraz protokół FLIP.
  2. Model puli procesorów - system operacyjny działa na szeregu procesorów, nie przypisanych do konkretnego użytkownika; użytkownicy kontaktują się z systemem z pomocą podłaczonych doń X-terminali.
  3. 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 podziałem czasu.
  4. Współbieżność - relizowana zarówno w obrębie puli procesorów (procesy), jak i pojedynczego procesu (wątki).
  5. 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

  1. 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 (maszyn).
  2. Wysoka niezawodność i dostępność; gdy system komputerowy tworzy wiele maszyn, uszkodzenie którejś (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ą.
  3. Ł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łącznia) i dodawania maszyn.
  4. Łatwość tworzenia oprogramowania użytkowego analogiczna do systemów nierozproszonych.
  5. Doskonałe pole doświadczalne do testowania nowych technik związanych z programowaniem rozproszonym.
  6. Efektywność systemu a co za tym idzie i wygoda użytkowania (np. brak irytacji powolnym działaniem).

Odsyłacze zewnętrzne

Materiał wydrukowany z portalu zgapa.pl dnia 2021-02-27 07:34:47