ЛОКУС
Разработчик | Калифорнийский университет в Лос-Анджелесе |
---|---|
Семейство ОС | Юникс |
Рабочее состояние | Исторический |
Исходная модель | Закрытый исходный код |
ядра Тип | Монолитное ядро |
Лицензия | Собственный |
LOCUS — это распределенная операционная система , выпуск которой прекращен, разработанная в Калифорнийском университете в Лос-Анджелесе в 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 предоставил единое технологическое пространство. Процессы могут быть созданы на любом узле системы. в Unix И вызовы fork , и exec проверяют список рекомендаций , определяющий, на каком узле будет запускаться процесс. LOCUS был разработан для работы с гетерогенными узлами (например, сочетанием VAX 750 и PDP 11/45) и мог решить выполнить процесс на другом узле, если ему требовался определенный набор команд. В качестве оптимизации был добавлен вызов run , который был эквивалентен комбинированному fork и exec, что позволяет избежать накладных расходов на копирование образа памяти процесса на другой узел перед его перезаписью новым образом. [примечание 2]
Трубы
[ редактировать ]Процессы могут использовать каналы для связи между узлами, включая именованные каналы .
Разделение
[ редактировать ]Система LOCUS была разработана таким образом, чтобы иметь возможность справляться с разделением сети , когда один или несколько узлов отключаются от остальной части системы. Поскольку файловая система была реплицирована, отключенные узлы могли продолжать получать доступ к файлам. При повторном подключении узлов любые файлы, измененные отключенными узлами, будут объединены обратно в систему. Для некоторых типов файлов (например, почтовых ящиков) система выполняла объединение автоматически, для других пользователь информировался (по почте) и предоставлялись инструменты, позволяющие получить доступ к различным версиям файла.
Примечания
[ редактировать ]- ^ Apple Fat. Скорее похоже на двоичные файлы
- ^ run — это та же операция, что и spawn в системах Windows .
Ссылки
[ редактировать ]- ^ Уокер, Брюс (1983). «Распределенная операционная система LOCUS» (PDF) . Материалы девятого симпозиума ACM по принципам операционных систем - СОСП '83 . стр. 49–70. дои : 10.1145/800217.806615 . ISBN 0897911156 . S2CID 207615929 .