Sir Maurice Vincent Wilkes (26 de junio de 1913 - 29 de noviembre de 2010) [11] fue un científico informático inglés que diseñó y ayudó a construir la Calculadora Automática de Almacenamiento de Retardo Electrónico (EDSAC), una de las primeras computadoras con programa almacenado , y que inventó la microprogramación , un método para usar la lógica de programa almacenado para operar la unidad de control de los circuitos de una unidad central de procesamiento . En el momento de su muerte, Wilkes era profesor emérito en la Universidad de Cambridge .
Wilkes nació en Dudley , Worcestershire , Inglaterra [12], hijo único de Ellen (Helen), de soltera Malone (1885-1968) y Vincent Joseph Wilkes (1887-1971), empleado de contabilidad en la finca del conde de Dudley . [13] Creció en Stourbridge , West Midlands, y se educó en el King Edward VI College, Stourbridge . Durante sus años escolares, su profesor de química le presentó la radioafición . [14]
Estudió el examen final de matemáticas en el St John's College de Cambridge entre 1931 y 1934, y en 1936 completó su doctorado en física sobre el tema de la propagación de ondas de radio muy largas en la ionosfera . [15] Fue designado para un puesto de profesor adjunto de la Universidad de Cambridge , a través del cual participó en el establecimiento de un laboratorio de computación. Fue llamado al servicio militar durante la Segunda Guerra Mundial y trabajó en radar en el Telecommunications Research Establishment (TRE) y en investigación operativa . [16]
En 1945, Wilkes fue nombrado segundo director del Laboratorio de Matemáticas de la Universidad de Cambridge (más tarde conocido como Laboratorio de Computación). [12]
El laboratorio de Cambridge inicialmente tenía muchos dispositivos informáticos diferentes, incluido un analizador diferencial . Un día Leslie Comrie visitó a Wilkes y le prestó una copia de la descripción de preimpresión de John von Neumann del EDVAC , un sucesor del ENIAC [17] [18] en construcción por Presper Eckert y John Mauchly en la Escuela Moore de Ingeniería Eléctrica . Tuvo que leerlo durante la noche porque tenía que devolverlo y no existían instalaciones para fotocopiar. Decidió inmediatamente que el documento describía el diseño lógico de las futuras máquinas de computación, y que quería participar en el diseño y la construcción de dichas máquinas. En agosto de 1946, Wilkes viajó en barco a los Estados Unidos para inscribirse en las Conferencias de la Escuela Moore , de las cuales solo pudo asistir las dos últimas semanas debido a varios retrasos en el viaje. [19] Durante el viaje de regreso de cinco días a Inglaterra, Wilkes esbozó con cierto detalle la estructura lógica de la máquina que se convertiría en EDSAC.
Como su laboratorio contaba con financiación propia, pudo empezar a trabajar inmediatamente en una pequeña máquina práctica, EDSAC (por "Electronic Delay Storage Automatic Calculator"), [8] una vez de vuelta en Cambridge. Decidió que su mandato no era inventar una computadora mejor, sino simplemente poner una a disposición de la universidad. Por lo tanto, su enfoque era implacablemente práctico. Utilizó sólo métodos probados para construir cada parte de la computadora. La computadora resultante era más lenta y más pequeña que otras computadoras contemporáneas planificadas. Sin embargo, la computadora de su laboratorio fue la segunda computadora práctica con programa almacenado que se completó y operó con éxito a partir de mayo de 1949, mucho más de un año antes de la mucho más grande y compleja EDVAC. En 1950, junto con David Wheeler, Wilkes utilizó EDSAC para resolver una ecuación diferencial relacionada con las frecuencias genéticas en un artículo de Ronald Fisher . [20] Esto representa el primer uso de una computadora para un problema en el campo de la biología .
En 1951, desarrolló el concepto de microprogramación [10] a partir de la constatación de que la unidad central de procesamiento de un ordenador podía ser controlada por un programa informático en miniatura y altamente especializado en una ROM de alta velocidad . Este concepto simplificó enormemente el desarrollo de la CPU. La microprogramación se describió por primera vez en la Conferencia Inaugural de Computación de la Universidad de Manchester en 1951, [21] luego se amplió y se publicó en IEEE Spectrum en 1955. [ cita requerida ] Este concepto se implementó por primera vez en EDSAC 2 , [9] que también utilizó múltiples "porciones de bits" idénticas para simplificar el diseño. Se utilizaron conjuntos de tubos intercambiables y reemplazables para cada bit del procesador. La siguiente computadora para su laboratorio fue Titan , una empresa conjunta con Ferranti Ltd iniciada en 1963. Eventualmente respaldó el primer sistema de tiempo compartido del Reino Unido [22] [23] que se inspiró en CTSS [24] [25] y proporcionó un acceso más amplio a los recursos informáticos en la universidad, incluidos los sistemas de gráficos de tiempo compartido para CAD mecánico . [26]
Una característica de diseño notable del sistema operativo de Titan era que proporcionaba acceso controlado basado en la identidad del programa, así como en la identidad del usuario o en lugar de ella. Introdujo el sistema de cifrado de contraseñas utilizado posteriormente por Unix . Su sistema de programación también tenía un sistema de control de versiones temprano. [26]
A Wilkes también se le atribuye la idea de las etiquetas simbólicas, las macros y las bibliotecas de subrutinas. Estos son desarrollos fundamentales que hicieron que la programación fuera mucho más fácil y allanaron el camino para los lenguajes de programación de alto nivel . Más tarde, Wilkes trabajó en un sistema temprano de tiempo compartido (ahora denominado sistema operativo multiusuario) y en la computación distribuida . Hacia fines de la década de 1960, Wilkes también se interesó en la computación basada en capacidades y el laboratorio montó una computadora única, la Cambridge CAP . [27]
En 1974, Wilkes se encontró con una red de datos suiza (en Hasler AG) que utilizaba una topología de anillo para asignar tiempo en la red. El laboratorio utilizó inicialmente un prototipo para compartir periféricos. Con el tiempo, se formaron asociaciones comerciales y una tecnología similar se hizo ampliamente disponible en el Reino Unido.
Wilkes recibió varias distinciones: fue Knight Bachelor , miembro distinguido de la British Computer Society , miembro de la Royal Academy of Engineering y miembro de la Royal Society . [28] [29] [30] [31 ] [ 32] [14 ] [16 ] [33] [34] Wilkes fue miembro fundador de la British Computer Society (BCS) y su primer presidente (1957-1960). Recibió el Premio Turing en 1967, con la siguiente cita: "El profesor Wilkes es mejor conocido como el constructor y diseñador del EDSAC, el primer ordenador con un programa almacenado internamente. Construido en 1949, el EDSAC utilizaba una memoria de línea de retardo de mercurio . También es conocido como el autor, con David Wheeler y Stanley Gill , de un volumen sobre Preparación de programas para ordenadores electrónicos digitales en 1951, [35] en el que se introdujeron eficazmente las bibliotecas de programas". En 1968 recibió el premio Harry H. Goode Memorial , con la siguiente mención: "Por sus numerosos logros originales en el campo de la informática, tanto en ingeniería como en software, y por sus contribuciones al crecimiento de las actividades de las sociedades profesionales y a la cooperación internacional entre los profesionales de la informática". [36]
En 1972, Wilkes recibió un Doctorado honorario en Ciencias por la Universidad de Newcastle . [37]
En 1980, se retiró de su cátedra y puesto como jefe del Laboratorio de Computación y se unió al personal central de ingeniería de Digital Equipment Corporation en Maynard, Massachusetts , EE. UU. [12]
En 1981, Wilkes recibió la Medalla Faraday de la Institución de Ingenieros Eléctricos. El Premio Maurice Wilkes , otorgado anualmente por una contribución destacada a la arquitectura informática realizada por un joven científico o ingeniero informático, lleva su nombre. En 1986, regresó a Inglaterra y se convirtió en miembro del Consejo de Estrategia de Investigación de Olivetti . En 1987, la Universidad de Bath le concedió un título honorífico (Doctor en Ciencias) . En 1993, la Universidad de Cambridge le concedió a Wilkes un título honorífico de Doctor en Ciencias. En 1994 fue incluido como miembro de la Asociación de Maquinaria Computacional . En 1997 se le concedió la Medalla Mountbatten y en 2000 presentó la conferencia inaugural Pinkerton . Fue nombrado caballero en la Lista de Honores de Año Nuevo de 2000 . En 2001, fue incluido como miembro del Museo de Historia de la Computación "por sus contribuciones a la tecnología informática, incluido el diseño temprano de máquinas, la microprogramación y la red Cambridge Ring". [38] En 2002, Wilkes regresó al Laboratorio de Computación de la Universidad de Cambridge como profesor emérito. [12]
En sus memorias, Wilkes escribió: [16]
Recuerdo muy bien cuando me di cuenta de esto con toda su fuerza. El EDSAC estaba en el piso superior del edificio y el equipo de perforación y edición en un piso más abajo... Fue en uno de mis viajes entre la sala del EDSAC y el equipo de perforación cuando, "vacilando en los ángulos de las escaleras", me di cuenta con toda su fuerza de que iba a pasar buena parte del resto de mi vida buscando errores en mis propios programas.
Wilkes se casó con la clasicista Nina Twyman en 1947. [39] Ella murió en 2008, él en 2010. A Wilkes le sobrevivieron un hijo y dos hijas.
Tan pronto como empezamos a programar, descubrimos para nuestra sorpresa que no era tan fácil hacer que los programas salieran bien como pensábamos. Tuvimos que descubrir la depuración. Puedo recordar el instante exacto en el que me di cuenta de que, a partir de ese momento, iba a dedicar gran parte de mi vida a encontrar errores en mis propios programas.
Sir Maurice, como se le conoce hoy, se había inspirado en el CTSS para crear un sistema de tiempo compartido.
Maurice Wilkes descubrió CTSS en una visita al MIT en 1965 aproximadamente, y regresó a Cambridge para convencernos al resto de nosotros de que el tiempo compartido era el camino a seguir.