Ньюкасл Коннекшн
Эта статья включает список общих ссылок , но в ней отсутствуют достаточные соответствующие встроенные цитаты . ( декабрь 2018 г. ) |
Newcastle Connection (или UNIX United ) представляла собой программную подсистему начала 1980-х годов, которую можно было добавлять к каждой из множества взаимосвязанных UNIX-подобных систем для создания распределенной системы. Последняя будет функционально неотличима как на уровне пользователя, так и на уровне системы от обычной системы UNIX. [1] [2] Она стала предшественником Sun Microsystems ( сетевой файловой системы NFS). Название происходит от исследовательской группы в Университете Ньюкасла под руководством Брайана Рэнделла , которая его разработала.
Термин «UNIX United» описывает схему объединения файловых систем участвующих UNIX-машин; «Newcastle Connection» описывает базовый уровень связи, который позволяет это сделать. [3] Система UNIX United, построенная с помощью Newcastle Connection, функционально неотличима от централизованной системы UNIX на уровне системных вызовов. [4]
По сути, концепция «родительского каталога» была переосмыслена в корне файловой системы, где она изначально не имела существенного значения, и стала означать «этот каталог находится на удаленной машине», аналогично последующему « Суперкорню ( Unix) » использование.
ЮНИКС Юнайтед
[ редактировать ]Напомним, что типичное дерево каталогов UNIX может выглядеть следующим образом:
- /
- дом
- Брайан (текущий каталог '.')
- а
- б
- Брайан (текущий каталог '.')
- дом
UNIX United выступает в качестве дополнительного уровня над /
корень. Если машина в качестве примера называется «unix1», общая схема UNIX United с дополнительной второй машиной «unix2» будет выглядеть так:
- /..
- unix1
- дом
- Брайан (текущий каталог '.')
- а
- б
- Брайан (текущий каталог '.')
- дом
- unix2
- дом
- Брайан
- б
- с
- Брайан
- дом
- unix1
Если мы хотим скопировать файл a
от «unix1» до «unix2» для размещения рядом с файлами b
и c
, примерами эквивалентных команд могут быть:
cp /home/brian/a /../unix2/home/brian/a
cp a /../unix2/home/brian/a
( cd /../unix2/home/brian ; cp /../unix1/home/brian/a a )
Внутренности
[ редактировать ]Это не требовало никаких изменений в ядре UNIX. Скорее, он работал в пользовательском пространстве, используя модифицированную версию стандартной библиотеки C того времени, которая была способна распознавать эту новую семантику. В первом приближении это означало распознавание имен путей, начинающихся с "/.."
. При совпадении такая ссылка перенаправляется в новое программное обеспечение, которое затем использует удаленные вызовы процедур на удаленной машине. Все остальные пути будут просто передаваться в локальное ядро, как обычно. (Если текущий рабочий каталог сам по себе был удаленным, это необходимо было принять во внимание.)
Однако для этого требовалось, чтобы все программное обеспечение, предназначенное для его использования, включая оболочки, команду «cp» и т. д., было повторно связано с этой новой библиотекой.
Продолжая один из предыдущих примеров, команда «cp», как и ожидалось, пытается открыть два файла:
open("a", ...)
open("/../unix2/home/brian/a", ...)
Предполагая, что команда была повторно связана с обновленной C-библиотекой, первый open()
в локальной системе происходит как обычно. Второй, однако, перенаправляется в программное обеспечение «Newcastle Connection» из-за того, что имя файла начинается с « /..
".
Портативность
[ редактировать ]Первоначальная реализация в Ньюкасле предназначалась для UNIX V7 на наборе компьютеров PDP-11, соединенных сетью Cambridge Ring . [3] Последующие реализации добавили поддержку других версий UNIX (включая BSD 4.2 и System V ), сетевых технологий, протоколов и аппаратной архитектуры ( VAX , Motorola 68000 ). [4]
Ссылки
[ редактировать ]- ^ Браунбридж, Дэвид Р.; Маршалл, Линдси Ф.; Рэнделл, Брайан (1982). «Связь с Ньюкаслом» (PDF) . Программное обеспечение: практика и опыт . 12 : 1147–1162. дои : 10.1002/спе.4380121206 . S2CID 1840438 . Архивировано из оригинала (PDF) 16 августа 2016 года . Проверено 23 декабря 2018 г.
- ^ Каллаган, Брент (2000). НФС в иллюстрациях . Эддисон Уэсли . ISBN 0-201-32570-5 .
- ^ Перейти обратно: а б «Связь с Ньюкаслом» (PDF) . Университет Ньюкасла . Проверено 21 декабря 2021 г.
- ^ Перейти обратно: а б Боргхофф, Уве М. (6 декабря 2012 г.). Каталог распределенных файловых/операционных систем . Спрингер. п. 49. ИСБН 978-3642768804 .