stringtranslate.com

Conexión de Newcastle

Newcastle Connection (o UNIX United ) era un subsistema de software de principios de la década de 1980 que podía agregarse a cada uno de un conjunto de sistemas interconectados similares a UNIX para construir un sistema distribuido. Este último sería funcionalmente indistinguible, tanto a nivel de usuario como de sistema, de un sistema UNIX convencional. [1] [2] Se convirtió en un precursor del Network File System (NFS) de Sun Microsystems . El nombre deriva del grupo de investigación de la Universidad de Newcastle , dirigido por Brian Randell , que lo desarrolló.

El término "UNIX United" describe el esquema de combinar los sistemas de archivos generales de las máquinas UNIX participantes; "Conexión Newcastle" describe la capa de comunicación subyacente que permite esto. [3] Un sistema UNIX United construido con Newcastle Connection es funcionalmente indistinguible de un sistema UNIX centralizado en el nivel de llamada al sistema. [4]

En esencia, el concepto de "directorio principal" se reinterpretó en la raíz del sistema de archivos, donde originalmente no tenía ningún significado significativo, en el sentido de "este directorio está en una máquina remota", similar al posterior " Super-root ( Unix) "uso.

UNIX Unidos

Como recordatorio, un árbol de directorio único típico de UNIX podría parecerse a:

UNIX United actúa como un nivel extra por encima de la /raíz. Si la máquina de ejemplo se llama "unix1", un esquema general de UNIX United con una segunda máquina adicional, "unix2", se vería así:

Si deseamos copiar un archivo ade "unix1" a "unix2" para colocarlo junto a los archivos by c, por ejemplo, los comandos equivalentes podrían ser:

Internos

No requirió cambios en el kernel de UNIX. Más bien, se ejecutó en el espacio del usuario, utilizando una versión modificada de la biblioteca estándar C de su época que era capaz de reconocer esta nueva semántica. En una primera aproximación, esto consistía en reconocer nombres de rutas que comenzaban con "/..". Una coincidencia desviaría dicha referencia al nuevo software, que luego utilizaría llamadas a procedimientos remotos a la máquina remota. Todos los demás nombres de ruta simplemente pasarían al kernel local como de costumbre. (Si el directorio de trabajo actual era remoto, esto debía tenerse en cuenta).

Sin embargo, requería que todo el software destinado a usarlo, incluidos los shells, el comando "cp", etc., debía volver a vincularse con esta nueva biblioteca.

Continuando con uno de los ejemplos anteriores, el comando "cp" intenta, como se esperaba, abrir los dos archivos:

Suponiendo que el comando se haya vuelto a vincular con la biblioteca C revisada, lo primero open()sucede normalmente en el sistema local. El segundo, sin embargo, se desvía al software "Newcastle Connection" debido al " /.." inicial del nombre del archivo.

Portabilidad

La implementación original en Newcastle fue para UNIX V7 en un conjunto de computadoras PDP-11 conectadas por una red Cambridge Ring . [3] Las implementaciones posteriores agregaron soporte para otras versiones de UNIX (incluidos BSD 4.2 y System V ), tecnologías de red, protocolos y arquitectura de hardware ( VAX , Motorola 68000 ). [4]

Referencias

  1. ^ Brownbridge, David R.; Marshall, Lindsay F.; Randell, Brian (1982). "La conexión de Newcastle" (PDF) . Software: práctica y experiencia . 12 : 1147-1162. doi :10.1002/spe.4380121206. S2CID  1840438. Archivado desde el original (PDF) el 16 de agosto de 2016 . Consultado el 23 de diciembre de 2018 .
  2. ^ Callaghan, Brent (2000). NFS ilustrado . Addison Wesley . ISBN 0-201-32570-5.
  3. ^ ab "La conexión de Newcastle" (PDF) . Universidad de Newcastle . Consultado el 21 de diciembre de 2021 .
  4. ^ ab Borghoff, Uwe M. (6 de diciembre de 2012). Catálogo de sistemas operativos/archivos distribuidos . Saltador. pag. 49.ISBN 978-3642768804.