Articulo de referencia

Conexión Newcastle

Newcastle Connection (o UNIX United ) fue 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 ...

Newcastle Connection (o UNIX United ) fue 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 tipo 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 combinación de los sistemas de archivos generales de las máquinas UNIX participantes; "Newcastle Connection" describe la capa de comunicación subyacente que lo posibilita. [ 3 ] Un sistema UNIX United construido con Newcastle Connection es funcionalmente indistinguible de un sistema UNIX centralizado a nivel de llamadas al sistema. [ 4 ]

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

UNIX Unido

A modo de recordatorio, un árbol de directorios típico de UNIX podría tener el siguiente aspecto:

  • /
    • hogar
      • Brian (directorio actual '.')
        • a
        • b

UNIX United actúa como un nivel adicional 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í:

  • /..
    • unix1
      • hogar
        • Brian (el directorio actual '.')
          • a
          • b
    • unix2
      • hogar
        • Brian
          • b
          • do

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

  • cp /home/brian/a /../unix2/home/brian/a
  • cp a /../unix2/home/brian/a
  • ( cd /../unix2/home/brian ; cp /../unix1/home/brian/a a )

Interiores

No requería cambios en el núcleo UNIX. En cambio, se ejecutaba en el espacio de usuario, utilizando una versión modificada de la biblioteca estándar C de la época, capaz de reconocer esta nueva semántica. En una primera aproximación, esto implicaba reconocer rutas de acceso que comenzaban con "/..". Si se encontraba una coincidencia, dicha referencia se redirigía al nuevo software, que luego utilizaba llamadas a procedimientos remotos a la máquina remota. Todas las demás rutas de acceso simplemente se dirigían al núcleo 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 utilizarlo, incluidos los intérpretes de comandos, el comando "cp", etc., se volviera a enlazar con esta nueva biblioteca.

Siguiendo con uno de los ejemplos anteriores, el comando "cp" intenta, como era de esperar, abrir los dos archivos:

  • open("a", ...)
  • open("/../unix2/home/brian/a", ...)

Suponiendo que el comando se haya vuelto a enlazar con la biblioteca C revisada, el primero open()ocurre normalmente en el sistema local. El segundo, sin embargo, se desvía al software "Newcastle Connection" debido a las comillas iniciales 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 (incluidas 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). "The Newcastle Connection" (PDF) . Software: Practice and Experience . 12 : 1147–1162 . doi : 10.1002/spe.4380121206 . S2CID 1840438. Archivado del original (PDF) el 16 de agosto de 2016. Recuperado el 23 de diciembre de 2018 . 
  2. Callaghan, Brent (2000). NFS Illustrated . Addison Wesley . ISBN 0-201-32570-5.
  3. 1 2 "La conexión con Newcastle" (PDF) . Universidad de Newcastle. Archivado del original (PDF) el 16 de agosto de 2016. Recuperado el 21 de diciembre de 2021 .
  4. 1 2 Borghoff, Uwe M. (6 de diciembre de 2012). Catálogo de sistemas operativos/archivos distribuidos . Springer. pág. 49. ISBN  978-3642768804.