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