stringtranslate.com

Armonía (sistema operativo)

Harmony es un sistema operativo informático experimental desarrollado en el Consejo Nacional de Investigación de Canadá en Ottawa . Es un sistema de transmisión de mensajes de segunda generación que también se utilizó como base para varios proyectos de investigación, incluidos la detección robótica y el desarrollo de estaciones de trabajo gráficas . Harmony se desarrolló activamente durante la década de 1980 y hasta mediados de la década de 1990.

Historia

Harmony fue el sucesor del sistema Thoth desarrollado en la Universidad de Waterloo . [1] El trabajo en Harmony comenzó aproximadamente al mismo tiempo que el del núcleo Verex desarrollado en la Universidad de Columbia Británica . David Cheriton estuvo involucrado tanto en Thoth como en Verex, y más tarde desarrollaría el Sistema V en la Universidad de Stanford . Los principales desarrolladores de Harmony incluyeron a W. Morven Gentleman, Stephen A. MacKay, Darlene A. Stewart y Marceli Wein. [2]

Los primeros puertos del sistema existían para una variedad de computadoras basadas en Motorola 68000 , incluidas las que usaban placas base VMEbus y Multibus y, en particular, el sistema multiprocesador Chorus basado en Multibus en Waterloo. Otros hosts incluían el Atari 520 o el 1040 ST. También existía un puerto para el VAX de Digital Equipment Corporation . [2]

Harmony logró la verificación formal en 1995. [3]

Características

Harmony fue diseñado como un sistema operativo en tiempo real (RTOS) para el control de robots . [2] Es un sistema multitarea y multiprocesamiento . No es multiusuario . [2] Harmony proporcionó solo un sistema de tiempo de ejecución (entorno); el desarrollo se llevó a cabo en un sistema separado, originalmente un Apple Macintosh . Para cada procesador del sistema, se crea una imagen que combina Harmony con el programa multitarea para ese procesador en el momento del enlace , siendo una excepción el caso en el que el núcleo se programa en una memoria de solo lectura (ROM).

Aunque el término no apareció en los documentos originales, Harmony fue posteriormente denominado microkernel . [3] Una clave en Harmony es su uso del término tarea , que en Harmony se define como la "unidad de ejecución secuencial y sincrónica" y "la unidad de propiedad de los recursos". [2] Se asemeja a una subrutina , pero una que debe crearse explícitamente y que se ejecuta independientemente de la tarea que la creó. Los programas se componen de varias tareas. [2] Una tarea está vinculada a un procesador específico, que puede ser diferente del de la tarea instanciadora y que puede albergar muchas tareas. Todos los recursos del sistema son propiedad de las tareas y están gestionados por ellas.

La comunicación entre tareas se realiza principalmente mediante el paso de mensajes sincrónicos y cuatro primitivas asociadas . [2] También se admite la memoria compartida. La destrucción de una tarea cierra todas sus conexiones. La entrada/salida utiliza un modelo de flujo de datos .

Harmony está orientado a la conexión, ya que las tareas que se comunican entre sí suelen mantener información de estado sobre cada una de ellas. A diferencia de otros sistemas distribuidos, las conexiones en Harmony son económicas. [2]

Aplicaciones y herramientas

En el Laboratorio de Herramientas de Tiempo Real Avanzadas de la Universidad de Carleton se desarrolló un depurador avanzado llamado Melody para Harmony . Posteriormente se comercializó como Remedy . [4]

El núcleo Harmony fue la base del proyecto Actra : un Smalltalk multiprocesador y multitarea. [5] [6]

Harmony se utilizó en la estación de trabajo de simulación robótica multitarea y multiprocesador Adagio . [7] [8]

Los conceptos de Harmony y Adagio influyeron en el diseño del generador de interfaz de usuario basado en eventos Eva basado en Smalltalk . [9]

Harmony se utilizó como sistema operativo subyacente para varios sistemas robóticos experimentales. [10] [11] [12]

Comercial

Harmony fue comercializado por la división Taurus Computer Products de la empresa canadiense de computadoras industriales Dy4 . [13] [14] [15] [16] Cuando Dy4 cerró su división de software, cuatro de los antiguos desarrolladores de Taurus fundaron Precise Software Technologies y continuaron desarrollando el sistema operativo como Precise/MPX, el predecesor de su producto posterior Precise/ MQX . [17]

Otro sistema operativo comercial derivado de Harmony es el Unison OS de Rowebot Research Inc. [18]

Referencias

  1. ^ Tanner, PP; Buxton, W. (1985). Algunas cuestiones en el desarrollo de futuros sistemas de gestión de interfaz de usuario (UIMS). User Interface Management Systems. Berlín. págs. 67–79.
  2. ^ abcdefgh Gentleman, WM; MacKay, SA; Stewart, DA; Wein, M. (febrero de 1989). Uso del sistema operativo Harmony: versión 3.0 (informe técnico).
  3. ^ ab Cattel, Thierry (1995). "Modelado y verificación de un núcleo de sistema operativo multiprocesador en tiempo real". En Hogrefe, D.; Leue, S. (eds.). Técnicas de descripción formal, VII: actas de la 7.ª Conferencia internacional IFIP WG 6.1 sobre técnicas de descripción formal (PDF) . IFIP Avances en tecnología de la información y la comunicación. Boston, MA: Springer. págs. 55–70. doi :10.1007/978-0-387-34878-0_4. ISBN 978-1-5041-2881-0.
  4. ^ Rowe, P. Kim; Pagurek, B. (1–3 de diciembre de 1987). "Remedy, un depurador de nivel de sistema multiprocesador en tiempo real". Actas del 8º Simposio de sistemas en tiempo real del IEEE (RTSS '87) . San José, California, EE. UU.: IEEE Computer Society. págs. 230–240. ISBN 0-8186-0815-3.
  5. ^ Thomas, Dave; Berry, Brian (julio-agosto de 2004). "Uso de objetos activos para estructurar arquitecturas orientadas a servicios Programación antropomórfica con actores" (PDF) . Journal of Object Technology . 3 (7): 7. doi :10.5381/jot.2004.3.7.c1.
  6. ^ Duimovich, John (12 de enero de 1989). Recolección de basura en un sistema Smalltalk multiprocesador (PDF) (Informe técnico).
  7. ^ MacKay, Stephen A.; Tanner, Peter P. (1986). "Herramientas gráficas en Adagio, una estación de trabajo multiprocesador multitarea robótica" (PDF) . Graphics Interface Proceedings 1986 : 98–103.
  8. ^ "Sesión Workstations '85: Simulador de robots de Canadá" (PDF) . Silicon Gulch Gazette . No. 42. IEEE Computer Society. Octubre de 1985. p. 2.
  9. ^ McAffer, Jeff; Thomas, Dave (1 de julio de 1988). "Eva: Un marco controlado por eventos para crear interfaces de usuario en Smalltalk". Graphics Interface Proceedings 1986 : 168–175.
  10. ^ Green, David; Liscano, Ramiro; Wein, M. (24–26 de septiembre de 1989). "Control en tiempo real de un robot móvil autónomo utilizando el sistema operativo Harmony". Actas del Cuarto Simposio Internacional IEEE sobre Control Inteligente . Albany, Nueva York, EE. UU.
  11. ^ Elgazzar, S.; Green, D.; Gentleman, WM (14–16 de junio de 1988). "Arquitectura de sistema abierto de un controlador de robot multiprocesador". Actas de la 7.ª Conferencia canadiense sobre CAD/CAM y robótica . Toronto, Ontario.
  12. ^ O'Hara, DH; Elgazzar, S.; The, G. (diciembre de 1987). ALTER-Harmony: Control del robot PUMA desde el multiprocesador Chorus . Consejo Nacional de Investigación de Canadá (informe técnico). Ottawa, Ontario.
  13. ^ Dryden, Alex (11 de julio de 1988). "Negocios". The Ottawa Citizen . pág. 11.
  14. ^ Rottman, Michael S. (4 de marzo de 1991). Un sistema operativo multiprocesador en tiempo real con interfaz común para sistemas integrados (PDF) (informe técnico). Archivado (PDF) del original el 31 de marzo de 2021.
  15. ^ Bergrman, Rich, ed. (abril de 1991). Grupo de trabajo sobre estándares de sistemas operativos (OSSWG), Programa de recursos informáticos de próxima generación (NGCR), primer informe anual: octubre de 1990 (PDF) (informe técnico). Archivado (PDF) del original el 31 de marzo de 2021.
  16. ^ "La colección DY-4 en YUCoM: manuales y guías". Museo de Computación de la Universidad de York . 2018.
  17. ^ luc (29 de julio de 2020). "Mati Arno Sauks 27 de febrero de 1951 25 de julio de 2020 (69 años)". Obituarios de Canadá .
  18. ^ Zhu, Ming-Yuan (mayo de 2012). Los próximos cientos de sistemas operativos integrados en tiempo real (informe técnico). doi :10.13140/RG.2.2.28990.69445.

Lectura adicional