El sistema informático Flex fue desarrollado por Michael Foster e Ian Currie de Royal Signals and Radar Establishment (RSRE) [1] en Malvern , Inglaterra, a finales de los años setenta y ochenta. Usó un esquema de almacenamiento etiquetado para implementar una arquitectura de capacidad y fue diseñado para la implementación segura y eficiente de procedimientos fuertemente tipados.
El hardware era personalizado y microprogramable, con un sistema operativo, compilador (modular), editor, recolector de basura y sistema de archivo, todo escrito en ALGOL 68RS .
Hubo (al menos) dos encarnaciones de Flex, implementadas usando hardware con microcódigo escribible . El primero fue suministrado por Logica con un diseño RSRE, [2] y el segundo usó un ICL PERQ . [3] [4] El microcódigo era el único responsable de la asignación de almacenamiento, la desasignación y la recolección de basura. Esto inmediatamente excluyó toda una clase de errores que surgen del mal uso (deliberado o accidental) de los indicadores.
Una característica notable de Flex fue el almacén de archivos etiquetado de una sola escritura. Esto permitió que el código arbitrario y las estructuras de datos se escribieran y recuperaran de forma transparente, sin recurrir a codificaciones externas. De este modo, los datos se pueden pasar de forma segura de un programa a otro.
De manera similar, las capacidades remotas permitieron acceder a datos y procedimientos en otras máquinas a través de una conexión de red, nuevamente sin que el programa de aplicación estuviera involucrado en codificaciones externas de datos, parámetros o valores de resultados.
Todo el esquema permitió que los tipos de datos abstractos se implementaran de forma segura, ya que los elementos de datos y los procedimientos permitidos para acceder a ellos se podían unir y la capacidad resultante se pasaba libremente. La capacidad otorgaría acceso a los procedimientos, pero no podría usarse de ninguna manera para obtener acceso a los datos.
Otra característica notable de Flex fue la noción de punteros inestables, más recientemente llamados referencias débiles , que apunta a bloques de memoria que podrían liberarse en la próxima recolección de basura . Esto se utiliza, por ejemplo, para bloques de discos almacenados en caché o una lista de espacios de trabajo de procedimientos de repuesto . [5]
COMFLEX, una red de conmutación de paquetes capaz de transmitir datos a la velocidad de un disco magnético, se desarrolló junto con Flex. Hizo factible el uso de almacenes de archivos remotos, capacidades remotas y llamadas a procedimientos remotos . [6]
Ver también
Referencias
- ^ Terry, Phil F .; Wiseman, Simon R. (junio de 1988). Sobre el diseño e implementación de un sistema informático seguro (PDF) (Informe). Establecimiento de señales reales y radar. Memorando RSRE No. 4188.
- ^ Foster JM, Moir CI, Currie IF, McDermid JA, Edwards PW (octubre de 1979). Introducción al sistema informático FLEX (informe). Establecimiento de señales reales y radar. Informe No 79016 . Consultado el 12 de febrero de 2018 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ Foster JM, Currie IF, Edwards PW (julio de 1982). Flex: una computadora en funcionamiento con una arquitectura basada en valores de procedimiento (informe). Establecimiento de señales reales y radar. Memorando RSRE No. 3500 . Consultado el 12 de febrero de 2018 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ Tumbas, DJ; Bruce, DI (noviembre de 1991). La evolución de los diez15 (PDF) (Informe). Establecimiento de señales reales y radar.
- ^ Currie IF, Foster JM, Edwards PW (diciembre de 1985). Firmware PerqFlex (informe). Establecimiento de señales reales y radar. Informe No 85015 . Consultado el 6 de febrero de 2018 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ McDermid, JA (noviembre de 1980). "Diseño y uso de Comflex: un conmutador de paquetes controlado por hardware" . Actas E de la IEE - Computadoras y técnicas digitales . 127 (6). doi : 10.1049 / ip-e: 19800048 (inactivo el 31 de mayo de 2021) . Consultado el 12 de febrero de 2018 .Mantenimiento de CS1: DOI inactivo a partir de mayo de 2021 ( enlace )
Otras lecturas
- Martin C. Atkins: Introducción a Ten15 - Una retrospectiva personal. (incluye una sección sobre Flex de RSRE)