Articulo de referencia

núcleo Aleph

Aleph es un núcleo de sistema operativo descontinuado desarrollado en la Universidad de Rochester como parte de su proyecto Rochester's Intelligent Gateway (RIG) en 1975. Aleph ...

Aleph es un núcleo de sistema operativo descontinuado desarrollado en la Universidad de Rochester como parte de su proyecto Rochester's Intelligent Gateway (RIG) en 1975. Aleph fue un primer paso en el camino hacia la creación del primer sistema operativo de microkernel práctico, Mach .

Aleph utilizaba la comunicación entre procesos para transferir datos entre programas y el núcleo, de modo que las aplicaciones podían acceder de forma transparente a los recursos de cualquier máquina de la red de área local (que en aquel entonces era una red Ethernet experimental de Xerox de 3 Mbit/s ). El proyecto acabó por desaparecer tras varios años debido a los rápidos cambios en el mercado del hardware informático, pero las ideas dieron lugar a la creación de Accent en la Universidad Carnegie Mellon , que a su vez derivó en Mach .

Las aplicaciones escritas para el sistema RIG se comunicaban mediante puertos . Estos puertos eran esencialmente colas de mensajes gestionadas por el núcleo Aleph, identificadas por un ID único de máquina (a diferencia de un ID único global) compuesto por un par de ID de proceso e ID de puerto. Al iniciarse, a los procesos se les asignaba automáticamente un número de proceso, o PID , y podían solicitar al núcleo que abriera puertos. Los procesos podían abrir varios puertos y luego "leerlos", bloqueando automáticamente la ejecución de otros programas hasta que llegaran los datos. Los procesos también podían "ocultar" a otro, recibiendo una copia de cada mensaje enviado al que ocultaban. De forma similar, los programas podían "interponerse" en otro, recibiendo mensajes y, en esencia, eliminando el mensaje original de la conversación.

RIG se implementó en varios miniordenadores Data General Eclipse . Los puertos se implementaron utilizando búferes de memoria, limitados a 2 kB. Esto generaba una sobrecarga significativa al copiar grandes cantidades de datos. Otro problema, detectado solo a posteriori, era que el uso de identificadores globales permitía al software malicioso "adivinar" los puertos y, por lo tanto, acceder a recursos a los que no debería haber tenido acceso. Y dado que esos identificadores se basaban en el identificador del programa, los identificadores de puerto cambiaban si se reiniciaba el programa, lo que dificultaba la creación de servidores con clientes que pudieran depender de un número de puerto específico para el servicio. 

Bibliografía

  • Rashid, Richard F (1986). "De RIG a Accent a Mach: la evolución de un sistema operativo de red". Actas de la conferencia conjunta de informática de otoño de la ACM de 1986. págs. 1128–1137 . S2CID 1114881 .  
  • Lantz, Keith A.; Gradischnig, Klaus D.; Feldman, Jerome A.; Rashid, Richard F. (octubre de 1982). "La puerta de enlace inteligente de Rochester". IEEE Computer . 15 (10): 54– 68. doi : 10.1109/MC.1982.1653859 .
  • Ball, E.; et  al. "RIG, la puerta de enlace inteligente de Rochester: descripción general del sistema" . rochester.edu . Consultado el 31 de marzo de 2023 .