stringtranslate.com

Máquina flexible

El Flex Computer System 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 1970 y 1980. Utilizó un esquema de almacenamiento etiquetado para implementar una arquitectura de capacidades 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 utilizando hardware con microcódigo grabable . El primero fue suministrado por Logica con un diseño RSRE, [2] y el segundo utilizó un ICL PERQ . [3] [4] El microcódigo por sí solo era responsable de la asignación, desasignación y recolección de basura del almacenamiento. Esto excluyó inmediatamente toda una clase de errores derivados del mal uso (deliberado o accidental) de los punteros.

Una característica notable de Flex fue el almacén de archivos etiquetado de escritura única. Esto permitió escribir y recuperar códigos y estructuras de datos arbitrarios de forma transparente, sin recurrir a codificaciones externas. De este modo, los datos podrían pasarse 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ó implementar de forma segura tipos de datos abstractos , ya que los elementos de datos y los procedimientos permitidos para acceder a ellos podían vincularse y la capacidad resultante se transmitía 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 apuntan a bloques de memoria que podrían liberarse en la siguiente recolección de basura . Esto se utiliza, por ejemplo, para bloques de disco almacenados en caché o una lista de espacios de trabajo de procedimientos de repuesto . [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 factible el uso de almacenes de archivos remotos, capacidades remotas y llamadas a procedimientos remotos . [6]

Ver también

Referencias

  1. ^ Terry, Phil F.; Wiseman, Simon R. (junio de 1988). Sobre el diseño e implementación de un sistema informático seguro (PDF) (Reporte). Establecimiento real de señales y radares. Memorando RSRE No. 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). Introducción al sistema informático FLEX (Reporte). Establecimiento real de señales y radares. Informe No 79016. Archivado desde el original el 20 de julio de 2018 . Consultado el 12 de febrero de 2018 .{{cite report}}: Mantenimiento CS1: varios nombres: lista de autores ( enlace )
  3. ^ Foster JM, Currie IF, Edwards PW (julio de 1982). Flex: una computadora funcional con una arquitectura basada en valores de procedimiento (Reporte). Establecimiento real de señales y radares. Memorándum RSRE N° 3500 . Consultado el 12 de febrero de 2018 .{{cite report}}: Mantenimiento CS1: varios nombres: lista de autores ( enlace )[ enlace muerto ]
  4. ^ Tumbas, DJ; Bruce, DI (noviembre de 1991). La evolución de Ten15 (PDF) (Reporte). Establecimiento real de señales y radares. Archivado (PDF) desde el original el 24 de septiembre de 2015.
  5. ^ Currie IF, Foster JM, Edwards PW (diciembre de 1985). Firmware PerqFlex (Informe). Establecimiento real de señales y radares. Informe nº 85015 . Consultado el 6 de febrero de 2018 .{{cite report}}: Mantenimiento CS1: 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". Actas de la IEE: Computadoras electrónicas y técnicas digitales . 127 (6): 233. doi :10.1049/ip-e.1980.0048 . Consultado el 12 de febrero de 2018 .

Otras lecturas