stringtranslate.com

TRIX (sistema operativo)

TRIX es un sistema operativo de investigación orientado a redes desarrollado a finales de los años 70 en el Laboratorio de Ciencias de la Computación (LCS) del MIT por el profesor Steve Ward y su grupo de investigación. Se ejecutaba en NuMachine y tenía una funcionalidad de llamada a procedimiento remoto incorporada en su núcleo , pero por lo demás era similar a la versión 7 de Unix .

Diseño e implementación

Al iniciarse, NuMachine cargaba el mismo programa en cada CPU del sistema, pasando a cada instancia el identificador numérico de la CPU en la que se estaba ejecutando. TRIX se basó en este diseño para que la primera CPU estableciera estructuras de datos globales y luego estableciera un indicador para indicar que la inicialización estaba completa. [1] Después de eso, cada instancia del núcleo podía acceder a los datos globales. [1] El sistema también admitía datos privados para cada CPU. [1] El acceso al sistema de archivos lo proporcionaba un programa en el espacio de usuario . [1] [2]

El núcleo soportaba subprocesos sin nombre ejecutándose en dominios. [1] Un dominio era el equivalente a un proceso Unix sin un puntero de pila [2] (cada subproceso en un dominio tenía un puntero de pila [2] ). Un subproceso podía cambiar de dominio, [1] y el programador del sistema migraba subprocesos entre CPU para mantener ocupados a todos los procesadores. [1] Los subprocesos tenían acceso a un único tipo de primitiva de exclusión mutua y a una de siete prioridades. [1] El programador estaba diseñado para evitar la inversión de prioridades . [1] Los programas del espacio de usuario podían crear subprocesos a través de una spawnllamada al sistema. [1]

Un recolector de basura identificaría y liberaría periódicamente los dominios no utilizados. [1]

El modelo de memoria compartida utilizado para coordinar el trabajo entre las distintas CPU causaba conflictos en el bus de memoria y se sabía que era una fuente de ineficiencia. [1] [2] Los diseñadores conocían diseños que habrían aliviado los conflictos. [2] De hecho, el diseño original de TRIX utilizaba un mecanismo de paso de mensajes sin bloqueo, [2] pero "se descubrió que esta implementación tenía deficiencias que a menudo se pasan por alto en la literatura", [2] incluido un rendimiento deficiente. [2]

Aunque el sistema operativo TRIX se implementó por primera vez en NuMachine, esto se debió a la disponibilidad de NuMachine en el MIT, no a ninguna característica de la arquitectura. [1] El sistema fue diseñado para ser fácilmente portable. [2] Se implementó principalmente en C con poco código ensamblador. La primitiva de exclusión mutua se podía trasladar a cualquier arquitectura con una instrucción atómica de prueba y configuración . [1]

Intento de uso por parte del Proyecto GNU

Richard Stallman menciona en el Manifiesto GNU de 1985 que "existe un núcleo inicial" para el sistema operativo GNU , "pero se necesitan muchas más características para emular Unix". [3] Esta era una referencia al núcleo de TRIX, que los autores de TRIX habían decidido distribuir como software libre . [4]

En un discurso pronunciado en octubre de 1986, Stallman explicó que "el núcleo TRIX funciona y tiene una cierta cantidad limitada de compatibilidad con Unix, pero necesita mucho más. Actualmente tiene un sistema de archivos que utiliza la misma estructura en disco que el antiguo sistema de archivos Unix. Esto hizo que fuera más fácil depurarlo, porque podían configurar los archivos con Unix y luego podían ejecutar TRIX, pero ese sistema de archivos no tiene ninguna de las características que creo que son necesarias". [5] Las características que Stallman deseaba añadir (versiones de archivos, recuperación de archivos borrados, información sobre cuándo, cómo y dónde se hacía una copia de seguridad del archivo en cinta, actualizaciones atómicas de archivos) no estaban generalmente asociadas con Unix.

En diciembre de 1986, los desarrolladores utilizaron el núcleo de TRIX como base en su primer intento de crear un núcleo para GNU. Finalmente, decidieron que Trix no era un punto de partida utilizable, principalmente porque:

Véase también

Referencias

  1. ^ abcdefghijklmn "Una implementación de procesador múltiple del sistema operativo TRIX" (PDF) . Consultado el 2 de julio de 2012 .
  2. ^ abcdefghi "TRIX: Un sistema operativo orientado a las comunicaciones" (PDF) . Consultado el 2 de julio de 2012 .
  3. ^ "El Manifiesto GNU" . Consultado el 5 de agosto de 2010 .
  4. ^ ab Stallman, Richard M. (enero de 1987). «Estado del proyecto GNU». Boletín de GNU . 1 (2). Free Software Foundation . Consultado el 12 de mayo de 2018 .
  5. ^ "Conferencia de RMS en KTH". 1986-10-30 . Consultado el 2018-05-12 .

Lectura adicional

Enlaces externos