stringtranslate.com

John Iliffe (diseñador de computadoras)

John Kenneth Iliffe (18 de septiembre de 1931 - 16 de febrero de 2020) fue un diseñador de computadoras británico que trabajó en el diseño y evaluación de computadoras que admitían protección de memoria detallada y administración de objetos. Implementó, evaluó y perfeccionó dichos diseños en Rice Institute Computer , R1 (1958–61) y ICL Basic Language Machine (1963–68). [4] [5] Una característica clave en las arquitecturas de ambas máquinas fue el control por parte del hardware de la formación y el uso de referencias de memoria, de modo que la memoria pudiera verse como una colección de objetos de datos de tamaños definidos cuya integridad está protegida del Consecuencias de errores en el cálculo de direcciones, como punteros de memoria desbordados (ya sea por accidente o por intención maliciosa). [6]

Aportes técnicos

Iliffe asistió al curso de programación EDSAC en Cambridge en 1952. Finalmente aprendió sobre informática dirigiendo la oficina de servicios de IBM (Reino Unido) en Londres. En 1958 fue invitado a unirse al equipo que construyó la computadora R1 en el Instituto Rice , Houston, en el que asumió la responsabilidad del diseño e implementación del sistema operativo y el lenguaje. [7]  En los siguientes 30 años puso en funcionamiento cuatro computadoras que demostraban y evaluaban nuevos conceptos en diseño.

La computadora Rice R1

Iliffe dirigió el desarrollo del sistema operativo y el lenguaje de programación de Rice Computer . Su diseño incluía una instancia temprana de asignación y gestión dinámica de memoria, que permitía a los programas adquirir almacenamiento bajo demanda y recuperarlo automáticamente cuando ya no era accesible. [8] [9]

En R1 [7] Iliffe y sus colegas introdujeron un esquema de protección para todos los objetos de datos. La manipulación de referencias a la memoria (denominadas palabras de código ) se restringió al código privilegiado, evitando algunos tipos de errores en el programa. Las palabras en clave hacían referencia a vectores de elementos de datos, secuencias de instrucciones u otras palabras en clave. Se accedía al almacenamiento mediante referencia a una palabra clave y esto se resolvía en una dirección convencional o contador de programa que daba acceso directo al almacenamiento cuando era necesario. El sistema proporcionaba funciones para crear, gestionar y actualizar palabras clave, por ejemplo cambiándolas para reflejar decisiones de gestión de almacenamiento. También admitía un lenguaje de programación algebraico (llamado Genie) que se implementó utilizando conceptos de diseño orientado a objetos en 1961. [10] El compilador Genie y el ensamblador asociado eran inusuales al permitir que todo el sistema fuera tratado como una disciplina de gestión de objetos. Genie también estuvo entre los primeros lenguajes en incluir operaciones intrínsecas en vectores y matrices reales y complejos.

La conocida estructura de almacenamiento vectorial Iliffe para matrices irregulares y multidimensionales surgió del trabajo de R1. Explota una estructura de direccionamiento similar pero sin aplicación del sistema.

La máquina del lenguaje básico

A principios de la década de 1960, existía una gran necesidad de que las computadoras de uso general permitieran la ejecución simultánea de múltiples programas de usuario, tanto en forma de multiprogramación para optimizar el uso de los recursos de una computadora como en forma de tiempo compartido para permitir la interacción. informática . Ambos requieren una arquitectura informática en la que el sistema operativo pueda garantizar la separación, seguridad e integridad de varios programas que se ejecutan simultáneamente. Parecía claro que el modelo simplificado de arquitectura derivado de la IAS de Princeton y seguido por todos los modelos “von Neumann” encontraría graves dificultades para satisfacer ese requisito.

La Basic Language Machine (BLM), [5] construida y evaluada en el departamento de investigación de International Computers Limited (ICL) entre 1963 y 1968 [11] fue el primer sistema de propósito general que rompió completamente con la arquitectura de Von Neumann . En lugar de basar la arquitectura en un único espacio de direcciones lineal, BLM ofrecía direccionamiento de memoria segmentada, lo que permitía la gestión automática del almacenamiento y el acceso dentro de límites de seguridad precisos.

Iliffe adoptó la visión de ingeniería de que debería ser posible ofrecer una manera, basada en las técnicas de administración de memoria ya demostradas en Rice R1, para garantizar la integridad de los programas concurrentes sin recurrir a mecanismos relativamente costosos que impliquen el intercambio frecuente de vectores de estado de proceso como se ve en la mayoría de los otros sistemas. Desarrolló un diseño basado en el uso de palabras clave para representar todas las referencias de la memoria. Una palabra clave incluía una dirección base , un límite que especificaba la longitud de un objeto de datos y algún tipo de información . La representación interna de las palabras en clave era opaca para los programas de usuario, pero se proporcionaban instrucciones de máquina específicas para manipularlas de manera que mantuvieran la estructura de datos. Esto representó un refinamiento sustancial de la arquitectura Rice R1, permitiendo la gestión eficiente de múltiples procesos, cada uno con un almacén de instrucciones y datos estructurados en árbol separados.

Rice R1 y BLM fueron ejemplos de arquitecturas informáticas basadas en descriptores que surgieron en la década de 1960 [6] y tenían como objetivo tanto la protección eficiente de programas que se ejecutaban simultáneamente como la implementación confiable de lenguajes de alto nivel . El otro ejemplo importante fue la serie de computadoras B5000 desarrolladas y comercializadas por Burroughs Corporation. Todas estas computadoras basadas en descriptores incluían mecanismos de hardware diseñados para soportar el direccionamiento confiable de segmentos de datos. Están estrechamente relacionados con las arquitecturas basadas en capacidades [6] que surgieron unos años después.

Paralelamente a la construcción del BLM, un equipo de evaluación independiente lo evaluó en términos de (1) eficiencia del programa (2) características operativas (3) costos de codificación y depuración y (4) gastos generales del sistema. Para una comparación significativa, se utilizaron lenguajes heredados de alto nivel (Cobol, Fortran, administración de archivos). Se demostró que a pesar de la precisión del mecanismo de direccionamiento no hubo una pérdida notable de eficiencia ni una sobrecarga adicional del sistema.

Levy [6] analiza el impacto más amplio de las arquitecturas informáticas basadas en descriptores con referencia tanto al Burroughs B5000 como al BLM (p. 38) "... fueran o no de larga duración, estas máquinas demostraron la viabilidad de utilizar descriptores y segmentación para aumentar en gran medida la flexibilidad de programación para el usuario, los compiladores y el sistema operativo". Levy también señala que "una excelente discusión sobre el BLM dentro del contexto de los sistemas de capacidad modernos aparece en Advanced Computer Design [12] de Iliffe ".

El diseño de BLM fue rechazado por la dirección de ICL en una revisión interna de opciones para seleccionar una nueva arquitectura para los productos mainframe de ICL en diciembre de 1969. [13]

En el año 2000, Iliffe recibió el premio IEEE Harry H. Goode Memorial "Por su trayectoria en la práctica del diseño y evaluación de sistemas informáticos".

Los cambios en la tecnología de semiconductores en los 30 años posteriores al desarrollo del BLM llevaron a mejoras en la arquitectura. A falta de financiación para la investigación, se evaluaron principalmente mediante simulación utilizando microprocesadores de bajo coste y el Advanced Computer Design de Iliffe [12] los describe con cierto detalle.

Vida personal

Referencias

  1. ^ "Premio en memoria de Harry H. Goode | IEEE Computer Society". 4 de abril de 2018.
  2. ^ "John Iliffe | Sociedad de Computación IEEE". 27 de marzo de 2018.
  3. ^ Escuela de la ciudad de Londres: John Kenneth Iliffe, promoción de 1948
  4. ^ Iliffe, JK (1 de agosto de 1969). "Elementos de BLM". La revista informática . 12 (3): 251–258. doi : 10.1093/comjnl/12.3.251 . ISSN  0010-4620.
  5. ^ ab Iliffe, JK (1968). Principios básicos de la máquina . Londres: MacDonald. ISBN 9780356023274.
  6. ^ abcd Levy, Henry M. (1984). Sistemas informáticos basados ​​en descriptores. Prensa Digital . Consultado el 8 de mayo de 2019 .Capítulo 2 Arquitecturas tempranas de descriptores, Capítulo 3 Arquitecturas tempranas de capacidades
  7. ^ ab Thornton, Adán. "Una breve historia de la computadora Rice 1959-1971". Archivado desde el original el 24 de febrero de 2008 . Consultado el 13 de marzo de 2019 .(escrito principalmente en [o antes] de 1994 y archivado por Wayback Machine en una fecha indicada [por "20080224"] en la URL)
  8. ^ Iliffe, JK (23 de enero de 1969). Técnicas de gestión de tiendas. Colección de Edward Feustel sobre el proyecto informático de la Universidad Rice . Consultado el 9 de junio de 2019 . {{cite book}}: |website=ignorado ( ayuda )
  9. ^ Iliffe, JK; Jodeit, Jane G. (1 de noviembre de 1962). "Un esquema de asignación de almacenamiento dinámico". La revista informática . 5 (3): 200–209. doi : 10.1093/comjnl/5.3.200 . ISSN  0010-4620.
  10. ^ JK Iliffe (1961). El uso del sistema Genie en cálculos numéricos. Revisión Anual en Programación Automática. vol. 2. Ciencia de Elsevier. págs. 1–28. ISBN 978-1-4832-2282-0. Consultado el 13 de marzo de 2019 .
  11. ^ Scarrott, Gordon (1995). "De líneas de retardo en modo torsional a DAP". Resurrección informática . 12 (verano de 1995). ISSN  0958-7403 . Consultado el 8 de mayo de 2019 .
  12. ^ ab Iliffe, JK (1982). Diseño informático avanzado . Prentice Hall. ISBN 978-0130112545.
  13. ^ Hebilla, JK (1978). La serie ICL 2900 (PDF) . MacMillan. ISBN 978-0333219171.

Otras lecturas