Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

LOCUS - это прекращенная распределенная операционная система, разработанная в UCLA в 1980-х годах. Это было примечательно тем, что на ранней стадии была реализована идея образа единой системы , когда кластер машин представлял собой одну большую машину. [1]

Желание коммерциализировать технологии, разработанные для LOCUS, вдохновило создание Locus Computing Corporation, которая в дальнейшем включала идеи LOCUS в различные продукты, включая OSF / 1 AD и, наконец, продукт SCO - Tandem UnixWare NonStop Clusters .

Описание [ править ]

Система LOCUS была создана в Калифорнийском университете в Лос-Анджелесе между 1980 и 1983 годами, первоначальная реализация была на кластере PDP-11 /45 с использованием кольцевых сетей 1 и 10 мегабит , к 1983 году система работала на 17 VAX-11/750 с использованием 10 мегабитного Ethernet. . Система была совместима с Unix и обеспечивала как единое корневое представление файловой системы, так и единое пространство процессов для всех узлов.

Разработка LOCUS была поддержана контрактом на исследования ARPA , DSS-MDA-903-82-C-0189.

Файловая система [ править ]

Чтобы обеспечить надежный и быстрый доступ к файловой системе в масштабе кластера, LOCUS использовал репликацию , данные файлов можно было хранить более чем на одном узле, а LOCUS будет поддерживать различные копии в актуальном состоянии. Это обеспечивало особенно хорошее время доступа к файлам, которые читались чаще, чем писались, например, нормальный случай для каталогов.

Чтобы обеспечить полный доступ к самой последней версии любого файла, LOCUS назначит один узел в качестве «текущего сайта синхронизации» (CSS) для конкретной файловой системы. Все обращения к файлам в файловой системе должны быть согласованы с соответствующим CSS.

Файлы, зависящие от узла [ править ]

Как и в случае с другими системами SSI , LOCUS иногда считал необходимым разрушить иллюзию единой системы, в частности, позволить некоторым файлам отличаться для каждого узла. Например, можно было построить кластер LOCUS, содержащий как машины PDP-11/45, так и VAX 750, но используемые наборы команд не были идентичными, поэтому потребовались бы две версии каждой объектной программы [примечание 1]

Решением было заменить файлы, которые должны были отличаться для каждого узла, специальными скрытыми каталогами. Эти каталоги затем будут содержать разные версии файла. Когда пользователь обращался к одному из этих скрытых каталогов, система проверяла контекст пользователя и открывала соответствующий файл.

Например, если пользователь работает на одном из PDP-11/45 и набирает команду, /bin/whoсистема обнаружит, что на /bin/whoсамом деле это скрытый каталог, и выполнит команду /bin/who/45. Другой пользователь узла VAX, который ввел /bin/whoкоманду, запустил бы команду /bin/who/vax.

Устройства [ править ]

LOCUS предоставил удаленный доступ к устройствам ввода-вывода.

Процессы [ править ]

LOCUS предоставил единое технологическое пространство. Процессы могут быть созданы на любом узле системы. И вызовы fork Unix, и вызовы exec будут проверять список рекомендаций, который определяет, на каком узле будет запущен процесс. LOCUS был разработан для работы с разнородными узлами (например, смесью VAX 750 и PDP 11/45) и мог решить выполнить процесс на другом узле, если ему требовался конкретный набор команд. В качестве оптимизации был добавлен вызов run, который был эквивалентен комбинированному fork и exec, что позволило избежать накладных расходов на копирование образа памяти процесса на другой узел перед его перезаписью новым образом. [заметка 2]

Трубы [ править ]

Процессы могут использовать каналы для связи между узлами, включая именованные каналы ,

Разбиение на разделы [ править ]

Система LOCUS была разработана для того, чтобы справляться с разделением сети - один или несколько узлов отключаются от остальной системы. Поскольку файловая система была реплицирована, отключенные узлы могли продолжать доступ к файлам. При повторном подключении узлов любые файлы, измененные отключенными узлами, будут снова объединены в систему. Для некоторых типов файлов (например, почтовых ящиков) система будет выполнять слияние автоматически, для других пользователь будет проинформирован (по почте), и будут предоставлены инструменты, позволяющие получить доступ к различным версиям файла.

Примечания [ править ]

  1. ^ Скорее как двоичные файлыApple Fat
  2. ^ run - это та же операция, что и spawn всистемах Windows .

Ссылки [ править ]

  1. ^ Уокер, Брюс (1983). «Распределенная операционная система LOCUS» (PDF) . DOI : 10.1145 / 800217.806615 .