Concurrent Euclid ( ConEuc ) es un descendiente concurrente del lenguaje de programación Euclid diseñado por James Cordy y Ric Holt , entonces en la Universidad de Toronto , en 1980. ConEuc fue diseñado para software de sistema concurrente, de alto rendimiento y altamente confiable , como sistemas operativos , compiladores y sistemas de microprocesadores integrados . El sistema operativo TUNIS , una variante de Unix , se implementó completamente en Concurrent Euclid. ConEuc extiende un subconjunto central de Euclid con procesos y monitores (como lo especifica CAR Hoare ), así como construcciones de lenguaje necesarias para la programación de sistemas, incluida la compilación separada, variables en direcciones absolutas, convertidores de tipos, números enteros largos y otras características.
ConEuc se implementó mediante un compilador pequeño (50k bytes), rápido y portátil que se autocompilaba y tenía generadores de código reemplazables. Se desarrollaron generadores de código de alta calidad para varias computadoras, incluidas PDP-11 , VAX-11 , Motorola 68000 y Motorola 6809 , que producían código comparable a los mejores compiladores de C. Los programas Euclid concurrentes que usaban concurrencia podían ejecutarse en una máquina desnuda (apoyada por un pequeño núcleo de lenguaje ensamblador) o en modo simulado como un proceso ordinario que se ejecutaba bajo un sistema operativo.
El lenguaje de programación Turing es un descendiente directo de Concurrent Euclid y su variante Turing Plus eventualmente reemplazó a ConEuc en la mayoría de las aplicaciones.
Referencias
- JR Cordy y RC Holt 1980. Especificación de Euclid concurrente. Informes técnicos CSRI-115 (julio de 1980) y CSRI-133 (agosto de 1981), Instituto de Investigación de Sistemas Informáticos, Universidad de Toronto. 54 páginas.
- RC Holt 1982. Euclides concurrentes, el sistema Unix y Túnez. Addison-Wesley 1982. 323 páginas.
- RC Holt 1982. Una breve introducción a Concurrent Euclid. ACM SIGPLAN Notices 17, 5 (mayo de 1982), 60-79.
- RC Holt 1982. Tunis: un sistema similar a Unix escrito en Concurrent Euclid. SIGOPS Operating Systems Review 16, 1 (enero de 1982), 4-5.