Введение

Распределенная операционная система

Amoeba — распределенная операционная система, разработанная Эндрю С. Таненбаумом и другими специалистами из Vrije Universiteit Amsterdam. Целью проекта Amoeba было создание многозадачной системы, при которой вся сеть компьютеров представлялась бы пользователю как единая машина. Разработка в Vrije Universiteit была прекращена: исходный код последней версии (5.3) был в последний раз модифицирован 30 июля 1996 года.

Обзор

Целью проекта Amoeba было создание операционной системы для сетей компьютеров, которая представляла бы сеть пользователю как единую машину. Сеть Amoeba состоит из ряда рабочих станций, подключенных к "пулу" процессоров, и запуск программы с терминала приводит к её выполнению на любом из доступных процессоров, при этом операционная система обеспечивает балансировку нагрузки. Рабочие станции обычно функционируют исключительно как сетевые терминалы. Помимо рабочих станций и процессоров, дополнительные машины работают как серверы для файлов, служб каталогов, TCP/IP-связи и т.д. Amoeba – операционная система, основанная на микроядре. Она поддерживает многопоточные программы и механизм удаленного вызова процедур (RPC) для обмена данными между потоками, в том числе по сети; даже потоки ядра используют этот механизм RPC для связи. Каждому потоку присваивается 48-битное число, называемое "портом", которое служит его уникальным сетевым "адресом" для обмена данными. Пользовательский интерфейс и API Amoeba были разработаны по образцу Unix, и частичное соответствие стандарту POSIX было реализовано; часть кода эмуляции Unix состоит из утилит, портированных из другой операционной системы, разработанной Таненаумом, MINIX. В ранних версиях использовалась самодельная оконная система, которую авторы Amoeba считали "быстрее, чище, компактнее и гораздо проще для понимания", но версия 4.0 использует систему X Window System (и допускает использование X-терминалов). В системе используется FLIP в качестве сетевого протокола.