Articulo de referencia

LUGAR

LOCUS es un sistema operativo distribuido descontinuado desarrollado en la UCLA durante la década de 1980. Se destacó por proporcionar una implementación temprana del concepto d...

LOCUS es un sistema operativo distribuido descontinuado desarrollado en la UCLA durante la década de 1980. Se destacó por proporcionar una implementación temprana del concepto de imagen de sistema único , donde un clúster de máquinas parecía ser una sola máquina más grande. [ 1 ]

El deseo de comercializar las tecnologías desarrolladas para LOCUS inspiró la creación de Locus Computing Corporation , que posteriormente incorporó ideas de LOCUS en diversos productos, entre ellos OSF/1 AD y, finalmente, el producto SCOTandem UnixWare NonStop Clusters .

Descripción

El sistema LOCUS se creó en la UCLA entre 1980 y 1983. Su implementación inicial se realizó en un clúster de PDP-11 /45 que utilizaban redes de anillo de 1 y 10 megabits . Para 1983, el sistema funcionaba en 17 VAX-11/750 mediante una red Ethernet de 10 megabits . El sistema era compatible con Unix y proporcionaba una vista raíz única del sistema de archivos y un espacio de procesos unificado en todos los nodos.

El desarrollo de LOCUS fue financiado por un contrato de investigación de ARPA , DSS-MDA-903-82-C-0189.

Sistema de archivos

Para permitir un acceso rápido y fiable al sistema de archivos del clúster, LOCUS utilizaba la replicación . Los datos de los archivos podían almacenarse en más de un nodo y LOCUS mantenía actualizadas las distintas copias. Esto proporcionaba tiempos de acceso especialmente buenos para los archivos que se leían con más frecuencia de la que se escribían, como suele ocurrir con los directorios.

Para garantizar que se acceda a la versión más reciente de cualquier archivo, LOCUS designaría un nodo como el "sitio de sincronización actual" (CSS) para un sistema de archivos específico. Todos los accesos a los archivos de un sistema de archivos deberían coordinarse con el CSS correspondiente.

Archivos dependientes del nodo

Al igual que con otros sistemas SSI, LOCUS a veces consideró necesario romper la ilusión de un sistema único, en particular para permitir que algunos archivos fueran diferentes en cada nodo. Por ejemplo, era posible construir un clúster LOCUS que contuviera máquinas PDP-11/45 y VAX 750, pero los conjuntos de instrucciones utilizados no eran idénticos, por lo que se necesitarían dos versiones de cada programa objeto [ nota 1 ].

La solución consistió en reemplazar los archivos que debían ser diferentes para cada nodo por directorios ocultos especiales. Estos directorios contendrían las distintas versiones del archivo. Cuando un usuario accediera a uno de estos directorios ocultos, el sistema verificaría su contexto y abriría el archivo correspondiente.

Por ejemplo, si el usuario estuviera ejecutando en uno de los PDP-11/45 y escribiera el comando /bin/who, el sistema encontraría que /bin/whoen realidad era un directorio oculto y ejecutaría el comando /bin/who/45. Otro usuario en un nodo VAX que escribiera /bin/whoejecutaría el comando /bin/who/vax.

Dispositivos

LOCUS proporcionaba acceso remoto a los dispositivos de E/S.

Procesos

LOCUS proporcionaba un único espacio de procesos. Los procesos podían crearse en cualquier nodo del sistema. Tanto las llamadas `fork` como `exec` de Unix examinaban una lista de consejos que determinaba en qué nodo se ejecutaría el proceso. LOCUS fue diseñado para funcionar con nodos heterogéneos (por ejemplo, una combinación de VAX 750 y PDP 11/45) y podía decidir ejecutar un proceso en un nodo diferente si necesitaba un conjunto de instrucciones específico. Como optimización, se añadió una llamada `run` equivalente a una combinación de `fork` y `exec`, evitando así la sobrecarga de copiar la imagen de memoria del proceso a otro nodo antes de sobrescribirla con la nueva imagen. [ nota 2 ]

Tubería

Los procesos podrían usar tuberías para la comunicación entre nodos, incluidas las tuberías con nombre ,

Particionamiento

El sistema LOCUS se diseñó para gestionar la partición de la red , es decir, la desconexión de uno o más nodos del resto del sistema. A medida que se replicaba el sistema de archivos , los nodos desconectados podían seguir accediendo a los archivos. Al reconectarse los nodos, los archivos modificados por estos se integraban de nuevo en el sistema. Para algunos tipos de archivos (por ejemplo, buzones de correo), el sistema realizaba la integración automáticamente; para otros, se informaba al usuario (por correo electrónico) y se proporcionaban herramientas para acceder a las diferentes versiones del archivo.

Notas

  1. Bastante parecido alos archivos binarios de Apple Fat
  2. ejecutar es la misma operación que spawn ensistemas Windows .

Referencias

  1. Walker, Bruce (1983). "El sistema operativo distribuido LOCUS" (PDF) . Actas del noveno simposio de la ACM sobre principios de sistemas operativos - SOSP '83 . págs. 49–70 . doi : 10.1145/800217.806615 . ISBN  0897911156. S2CID 207615929 .