stringtranslate.com

Máquina flexible

El sistema informático Flex fue desarrollado por Michael Foster e Ian Currie del Royal Signals and Radar Establishment (RSRE) [1] en Malvern , Inglaterra, a finales de los años 1970 y 1980. Utilizaba 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, un compilador (modular), un editor, un recolector de basura y un sistema de archivos, todos escritos en ALGOL 68RS .

Hubo (al menos) dos encarnaciones de Flex, implementadas usando hardware con microcódigo escribible . La primera fue suministrada por Logica a un diseño RSRE, [2] y la segunda 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 impidió de inmediato toda una clase de errores que surgían del mal uso (deliberado o accidental) de punteros.

Una característica notable de Flex era el almacenamiento de archivos etiquetados y de escritura única. Esto permitía escribir y recuperar código y estructuras de datos arbitrarios de forma transparente, sin recurrir a codificaciones externas. De esta forma, los datos podían pasar de un programa a otro de forma segura.

De manera similar, las capacidades remotas permitieron acceder a datos y procedimientos de 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ó implementar de forma segura tipos de datos abstractos , ya que los elementos de datos y los procedimientos a los que se les permitía acceder a ellos podían vincularse entre sí y la capacidad resultante podía transmitirse libremente. La capacidad otorgaría acceso a los procedimientos, pero no podría utilizarse 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 apuntan 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 en caché o una lista de espacios de trabajo de procedimientos libres . [5]

Junto con Flex se desarrolló COMFLEX, una red de conmutación de paquetes capaz de transmitir datos a la velocidad de un disco magnético. Hizo posible el uso de almacenes de archivos remotos, capacidades remotas y llamadas a procedimientos remotos . [6]

Véase también

Referencias

  1. ^ Terry, Phil F.; Wiseman, Simon R. (junio de 1988). On The Design And Implementation Of A Secure Computer System (PDF) (Informe). Royal Signals and Radar Establishment. Memorándum RSRE n.º 4188. Archivado (PDF) desde el original el 3 de mayo de 2014.
  2. ^ Foster JM, Moir CI, Currie IF, McDermid JA, Edwards PW (octubre de 1979). An Introduction to the FLEX Computer System (informe). Royal Signals and Radar Establishment. Informe n.º 79016. Archivado desde el original el 20 de julio de 2018. Consultado el 12 de febrero de 2018 .{{cite report}}: CS1 maint: varios nombres: lista de autores ( enlace )
  3. ^ Foster JM, Currie IF, Edwards PW (julio de 1982). Flex: A Working Computer with an Architecture Based on Procedure Values ​​(Informe). Royal Signals and Radar Establishment. Memorándum RSRE n.º 3500. Consultado el 12 de febrero de 2018 .{{cite report}}: CS1 maint: varios nombres: lista de autores ( enlace )[ enlace muerto ]
  4. ^ Tombs, DJ; Bruce, DI (noviembre de 1991). La evolución de Ten15 (PDF) (informe). Royal Signals and Radar Establishment. Archivado (PDF) del original el 24 de septiembre de 2015.
  5. ^ Currie IF, Foster JM, Edwards PW (diciembre de 1985). Firmware PerqFlex (informe). Royal Signals and Radar Establishment. Informe n.º 85015. Consultado el 6 de febrero de 2018 .{{cite report}}: CS1 maint: varios nombres: lista de autores ( enlace )[ enlace muerto ]
  6. ^ McDermid, JA (noviembre de 1980). «Diseño y uso de Comflex: un conmutador de paquetes controlado por hardware». IEE Proceedings E - Computers and Digital Techniques . 127 (6): 233. doi :10.1049/ip-e.1980.0048. Archivado desde el original el 13 de febrero de 2018 . Consultado el 12 de febrero de 2018 .

Lectura adicional