stringtranslate.com

Ken Thompson

Kenneth Lane Thompson (nacido el 4 de febrero de 1943) es un pionero estadounidense de la informática . Thompson trabajó en Bell Labs durante la mayor parte de su carrera, donde diseñó e implementó el sistema operativo Unix original. También inventó el lenguaje de programación B , el predecesor directo del lenguaje C , y fue uno de los creadores y primeros desarrolladores del sistema operativo Plan 9 . Desde 2006, Thompson trabaja en Google , donde codesarrolló el lenguaje Go .

Otras contribuciones notables incluyeron su trabajo sobre expresiones regulares y los primeros editores de texto informáticos QED y ed , la definición de la codificación UTF-8 y su trabajo sobre ajedrez informático que incluyó la creación de tablas de finales y la máquina de ajedrez Belle . Ganó el Premio Turing en 1983 con su colega de muchos años Dennis Ritchie .

Temprana edad y educación

Thompson nació en Nueva Orleans, Luisiana . Cuando se le preguntó cómo aprendió a programar, Thompson afirmó: "Siempre estuve fascinado con la lógica e incluso en la escuela primaria trabajaba en problemas aritméticos en binario y cosas así. Simplemente porque estaba fascinado". [3]

DEC PDP-7 , como se utiliza para el trabajo inicial en Unix

Thompson recibió una Licenciatura en Ciencias en 1965 y una maestría en 1966, tanto en ingeniería eléctrica como en ciencias informáticas , de la Universidad de California, Berkeley , donde su asesor de tesis de maestría fue Elwyn Berlekamp . [4]

Carrera e investigación

Thompson fue contratado por Bell Labs en 1966. [5] En la década de 1960 en Bell Labs, Thompson y Dennis Ritchie trabajaron en el sistema operativo Multics . Mientras escribía Multics, Thompson creó el lenguaje de programación Bon. [6] [7] También creó un videojuego llamado Space Travel . Posteriormente, Bell Labs se retiró del proyecto MULTICS. [8] Para poder seguir jugando, Thompson encontró una vieja máquina PDP-7 y reescribió Space Travel en ella. [9] Con el tiempo, las herramientas desarrolladas por Thompson se convirtieron en el sistema operativo Unix : trabajando en un PDP-7 , un equipo de investigadores de los Laboratorios Bell dirigidos por Thompson y Ritchie, y entre ellos Rudd Canaday , desarrollaron un sistema de archivos jerárquico , los conceptos de computadora. procesos y archivos de dispositivos , un intérprete de línea de comandos , canalizaciones para facilitar la comunicación entre procesos y algunos pequeños programas de utilidad. En 1970, Brian Kernighan sugirió el nombre "Unix", en un juego de palabras con el nombre "Multics". [10] Después del trabajo inicial en Unix, Thompson decidió que Unix necesitaba un lenguaje de programación de sistemas y creó B , un precursor del C de Ritchie . [11]

En la década de 1960, Thompson también comenzó a trabajar en expresiones regulares . Thompson había desarrollado la versión CTSS del editor QED , que incluía expresiones regulares para buscar texto. QED y el posterior editor ed de Thompson (el editor de texto estándar en Unix) contribuyeron en gran medida a la eventual popularidad de las expresiones regulares, y las expresiones regulares se volvieron omnipresentes en los programas de procesamiento de textos de Unix. Casi todos los programas que trabajan con expresiones regulares hoy en día utilizan alguna variante de la notación de Thompson. También inventó el algoritmo de construcción de Thompson utilizado para convertir expresiones regulares en autómatas finitos no deterministas para agilizar la coincidencia de expresiones. [12]

década de 1970

Versión 6 de Unix ejecutándose en el simulador SIMH PDP-11 , con "/usr/ken" todavía presente

A lo largo de la década de 1970, Thompson y Ritchie colaboraron en el sistema operativo Unix; fueron tan prolíficos en Research Unix que Doug McIlroy escribió más tarde: "Se puede suponer con seguridad que los nombres de Ritchie y Thompson están adjuntos a casi todo lo que no se atribuye de otra manera". [13] En una entrevista de 2011, Thompson declaró que las primeras versiones de Unix fueron escritas por él y que Ritchie comenzó a defender el sistema y ayudó a desarrollarlo: [14]

Hice la primera de dos o tres versiones de UNIX solo. Y Dennis se convirtió en evangelista. Luego hubo una reescritura en un lenguaje de nivel superior que se llamaría C. Él trabajó principalmente en el lenguaje y en el sistema de E/S, y yo trabajé en el resto del sistema operativo. Eso fue para el PDP-11 , lo cual fue fortuito, porque fue la computadora que se apoderó de la comunidad académica.

Los comentarios sobre el desarrollo de Unix de Thompson también fueron fundamentales en el desarrollo del lenguaje de programación C. Thompson diría más tarde que el lenguaje C "creció con una de las reescrituras del sistema y, como tal, se volvió perfecto para sistemas de escritura ". [14]

En 1975, Thompson se tomó un año sabático en los Laboratorios Bell y se fue a su alma mater, UC Berkeley. Allí ayudó a instalar la versión 6 de Unix en un PDP-11/70 . Más tarde, Unix en Berkeley se mantendría como su propio sistema, conocido como Berkeley Software Distribution (BSD). [15]

A principios de 1976, Thompson escribió la versión inicial de Berkeley Pascal en la División de Ciencias de la Computación, Departamento de Ingeniería Eléctrica y Ciencias de la Computación de UC Berkeley (con amplias modificaciones y adiciones ese mismo año por parte de William Joy , Charles B. Haley [16] [ 17] [18] y la asesora docente Susan Graham ).

Thompson escribió un programa de ajedrez llamado "chess" para la primera versión de Unix (1971). [19] Más tarde, junto con Joseph Condon , Thompson creó el programa asistido por hardware Belle , una computadora campeona mundial de ajedrez . [20] También escribió programas para generar la enumeración completa de finales de ajedrez , conocidos como tablas de finales , para todos los finales de 4, 5 y 6 piezas, permitiendo a los programas informáticos de ajedrez realizar movimientos "perfectos" una vez almacenada la posición en se alcanza. Más tarde, con la ayuda del experto en finales de ajedrez John Roycroft , Thompson distribuyó sus primeros resultados en CD-ROM . En 2001, el ICGA Journal dedicó casi un número completo a las diversas contribuciones de Thompson al ajedrez informático. [19]

década de 1980

Plan 9 de Bell Labs , ejecutando el editor de texto acme y el shell rc

En 1983, Thompson y Ritchie recibieron conjuntamente el Premio Turing "por su desarrollo de la teoría genérica de los sistemas operativos y específicamente por la implementación del sistema operativo UNIX". Su discurso de aceptación, "Reflexiones sobre la confianza", presentó el ataque de puerta trasera persistente al compilador ahora conocido como el hack de Thompson o ataque de confianza, y es ampliamente considerado un trabajo fundamental en seguridad informática por derecho propio. [21] En 2023, el código fuente anotado de la puerta trasera se publicó en línea. [22]

A lo largo de la década de 1980, Thompson y Ritchie continuaron revisando Research Unix, que adoptó un código base BSD para las ediciones octava, novena y décima. A mediados de la década de 1980, los Laboratorios Bell comenzaron a trabajar en un nuevo sistema operativo que reemplazara a Unix. Thompson jugó un papel decisivo en el diseño y la implementación del Plan 9 de Bell Labs , un nuevo sistema operativo que utiliza los principios de Unix, pero aplicándolos de manera más amplia a todas las instalaciones principales del sistema. Algunos programas que formaron parte de versiones posteriores de Research Unix, como mk y rc , también se incorporaron a Plan 9.

Thompson probó las primeras versiones del lenguaje de programación C++ para Bjarne Stroustrup escribiendo programas en él, pero luego se negó a trabajar en C++ debido a frecuentes incompatibilidades entre versiones. En una entrevista de 2009, Thompson expresó una visión negativa de C++, afirmando: "Hace muchas cosas medio bien y es sólo un montón de basura de ideas que se excluyen mutuamente". [23]

década de 1990

En 1992, Thompson desarrolló el esquema de codificación UTF-8 junto con Rob Pike . [24] Desde entonces, la codificación UTF-8 se ha convertido en la codificación de caracteres dominante para la World Wide Web , representando más del 90% de todas las páginas web en 2019. [25]

En la década de 1990 se empezó a trabajar en el sistema operativo Inferno , otro sistema operativo de investigación que se basaba en una máquina virtual portátil . Thompson y Ritchie continuaron su colaboración con Inferno, junto con otros investigadores de Bell Labs. [26]

En 1995, Thompson colaboró ​​en la compresión musical con Sean Dorward, basándose en el trabajo de investigación original realizado por Jim Johnston, bajo la dirección de Joe Hall y Jont Allen. [27] [28]

2000

A finales de 2000, Thompson se retiró de Bell Labs.

En 2004, ayudó en la implementación de Turochamp , un programa de ajedrez que Alan Turing ideó en 1948, antes de que existieran computadoras que pudieran ejecutarlo. [29]

Trabajó en Entrisphere, Inc. como becario hasta 2006. A partir de 2024 trabaja en Google , primero como Ingeniero Distinguido y luego como Asesor de Google. [30] El trabajo reciente ha incluido el codiseño del lenguaje de programación Go . Refiriéndose a sí mismo junto con los otros autores originales de Go, afirma: [14]

Cuando nosotros tres [Thompson, Rob Pike y Robert Griesemer ] empezamos, fue pura investigación. Los tres nos reunimos y decidimos que odiábamos C++. [risas] ... [Volviendo a Go,] comenzamos con la idea de que a los tres teníamos que hablar sobre cada característica del idioma, por lo que no se ponía basura extraña en el idioma por ningún motivo.

Premios

Academias Nacionales

En 1980, Thompson fue elegido miembro de la Academia Nacional de Ingeniería por "diseñar UNIX, un sistema operativo cuya eficiencia, amplitud, potencia y estilo han guiado la explotación de minicomputadoras durante una generación ". [31] En 1985 fue elegido miembro de la Academia Nacional de Ciencias . [2]

Premio Turing

En 1983, Thompson y Ritchie recibieron conjuntamente el Premio Turing "por su desarrollo de la teoría genérica de los sistemas operativos y específicamente por la implementación del sistema operativo UNIX". En su discurso de aceptación, "Reflexiones sobre la confianza", Thompson describió un ataque en forma de puerta trasera del compilador al que se ha hecho referencia como el hack de Thompson o el ataque de confianza , y es ampliamente considerado un trabajo fundamental en seguridad informática en sí mismo. bien. [32]

Medalla IEEE Richard W. Hamming

En 1990, tanto Thompson como Dennis Ritchie recibieron la Medalla IEEE Richard W. Hamming del Instituto de Ingenieros Eléctricos y Electrónicos (IEEE), "por el origen del sistema operativo UNIX y el lenguaje de programación C". [33]

Miembro del Museo de Historia de la Computación

En 1997, tanto Thompson como Ritchie fueron admitidos como miembros del Museo de Historia de la Computación por "la co-creación del sistema operativo UNIX y el desarrollo del lenguaje de programación C". [34]

Medalla Nacional de Tecnología

El 27 de abril de 1999, Thompson y Ritchie recibieron conjuntamente la Medalla Nacional de Tecnología de 1998 de manos del presidente Bill Clinton por co-inventar el sistema operativo UNIX y el lenguaje de programación C que juntos han "conducido a enormes avances en hardware, software y redes de computadoras". sistemas y estimuló el crecimiento de toda una industria, mejorando así el liderazgo estadounidense en la era de la información". [35]

Premio Tsutomu Kanai

En 1999, el Instituto de Ingenieros Eléctricos y Electrónicos eligió a Thompson para recibir el primer premio Tsutomu Kanai "por su papel en la creación del sistema operativo UNIX, que durante décadas ha sido una plataforma clave para el trabajo de sistemas distribuidos". [36]

Premio Japón

En 2011, Thompson, junto con Dennis Ritchie, recibió el Premio Japonés de Información y Comunicaciones por su trabajo pionero en el desarrollo del sistema operativo Unix. [37]

Vida personal

Ken Thompson está casado y tiene un hijo. [38] [19]

Ver también

Referencias

  1. ^ "Ganadores del premio IEEE Emanuel R. Piore" (PDF) . IEEE . Archivado desde el original (PDF) el 24 de noviembre de 2010 . Consultado el 20 de marzo de 2021 .
  2. ^ ab "Kenneth Thompson". www.nasonline.org . Archivado desde el original el 21 de octubre de 2021 . Consultado el 9 de junio de 2019 .
  3. ^ Seibel 2009, pag. 450.
  4. ^ "Estudiantes de tesis". Página de inicio de Elwyn Berlekamp . Universidad de California, Departamento de Matemáticas de Berkeley. Archivado desde el original el 21 de octubre de 2021.
  5. ^ "Ken Thompson: desarrolló UNIX en Bell Labs" . Consultado el 31 de octubre de 2016 .
  6. ^ Thompson, KL (1969). «Manual de usuario de Bon» (PDF) . Proyecto de Historia Multics . Documentos Multics: Laboratorio de Ciencias de la Computación e Inteligencia Artificial del MIT. pag. 1. Archivado desde el original (PDF) el 14 de febrero de 2021 . Consultado el 18 de marzo de 2021 .
  7. ^ Ritchie, Dennis. "El desarrollo del lenguaje C". Laboratorios Bell . Consultado el 31 de octubre de 2016 .
  8. ^ J. Stanley Warford (2009). Sistemas informáticos. Editores Jones y Bartlett. pag. 460.ISBN 978-1-4496-6043-7.
  9. ^ Ritchie, Dennis M. (2001). "Viajes espaciales: exploración del sistema solar y el PDP-7". Laboratorios Bell . Archivado desde el original el 26 de diciembre de 2015 . Consultado el 4 de febrero de 2016 .
  10. ^ Ritchie, Dennis M. "La evolución del sistema de tiempo compartido Unix". Archivado desde el original el 21 de octubre de 2021 . Consultado el 31 de octubre de 2016 .
  11. ^ Dennis M. Ritchie. "El desarrollo del lenguaje C". Laboratorios Bell/Tecnologías Lucent . Consultado el 31 de octubre de 2016 .
  12. ^ Cox, Russ. "La coincidencia de expresiones regulares puede ser sencilla y rápida". Archivado desde el original el 21 de octubre de 2021 . Consultado el 30 de octubre de 2016 .
  13. ^ McIlroy, Doctor en Medicina (1987). Un lector de Research Unix: extractos comentados del Manual del programador, 1971-1986 (PDF) (Informe técnico). CSTR. Laboratorios Bell. 139. Archivado desde el original (PDF) el 4 de mayo de 2014.
  14. ^ abc "Dr. Dobb's: entrevista con Ken Thompson". 18 de mayo de 2011. Archivado desde el original el 21 de octubre de 2021 . Consultado el 10 de noviembre de 2014 .
  15. ^ Salus, Peter H. (2005). "Capítulo 7. BSD y CSRG". El Demonio, el Gnu y el Pingüino . Groklaw .
  16. ^ "Configuración de Unix - Séptima edición" (PDF) . Consultado el 3 de enero de 2024 .
  17. ^ "BYTE.com". www.landley.net . Consultado el 3 de enero de 2024 .
  18. ^ "Computación desde la Edad Media: Mi odisea de cincuenta años". Índico . 25 de abril de 2019 . Consultado el 3 de enero de 2024 .
  19. ^ a b C Dennis Ritchie (junio de 2001). "Ken, Unix y juegos". Revista ICGA . 24 (2). Archivado desde el original el 21 de octubre de 2021 . Consultado el 5 de marzo de 2020 .
  20. ^ "Joe Condon (obituario)". Física hoy . 2013. doi : 10.1063/PT.4.1752.
  21. ^ Thompson, Ken (1984). "Reflexiones sobre confiar en la confianza". Comunicaciones de la ACM . 27 (8): 761–763. doi : 10.1145/358198.358210 .
  22. ^ Cox, Russ (25 de octubre de 2023). "Ejecución del compilador" Reflexiones sobre la confianza ".
  23. ^ Seibel 2009, pag. 475.
  24. ^ Pike, Rob (30 de abril de 2003). "Historia de UTF-8". Archivado desde el original el 21 de octubre de 2021.
  25. ^ "Estadísticas de uso y cuota de mercado de UTF-8 para sitios web, junio de 2019". w3techs.com . Archivado desde el original el 21 de octubre de 2021 . Consultado el 9 de junio de 2019 .
  26. ^ Khamlichi, M.el. "Ken Thompson, padre de los sistemas UNIX". Hombres Unix. Archivado desde el original el 21 de octubre de 2021 . Consultado el 31 de octubre de 2016 .
  27. ^ Platt, Charles. "Música a la carta". Cableado . ISSN  1059-1028 . Consultado el 3 de enero de 2024 .
  28. ^ Ken Thompson - Discurso de clausura - SCaLE 20x, 13 de marzo de 2023 , consultado el 3 de enero de 2024
  29. ^ "Reconstrucción de la máquina de papel" de Turing"". 23 de septiembre de 2017.
  30. ^ Escuela, Derecho de Stanford. "Biografías de Amici Curiae en Oracle America, Inc., contra Google, Inc". Facultad de Derecho de Stanford . Consultado el 27 de julio de 2023 .
  31. ^ "Dr. Ken Thompson". Academia Nacional de Ingeniería. Archivado desde el original el 21 de octubre de 2021.
  32. ^ Thompson, Ken (1984). "Reflexiones sobre confiar en la confianza". Comunicaciones de la ACM . 27 (8): 761–763. doi : 10.1145/358198.358210 .
  33. ^ "Destinatarios de la medalla IEEE Richard W. Hamming" (PDF) . IEEE . Archivado desde el original (PDF) el 26 de julio de 2011 . Consultado el 29 de mayo de 2011 .
  34. ^ "Ken Thompson". Museo de Historia de la Computación. Archivado desde el original el 21 de octubre de 2021 . Consultado el 29 de octubre de 2016 .
  35. ^ "Las luminarias de Bell Labs Dennis Ritchie y Ken Thompson recibirán la medalla nacional de tecnología". Ciencia diaria. 8 de diciembre de 1998. Archivado desde el original el 21 de octubre de 2021.
  36. ^ "Ken Thompson recibe el premio Kanai por el impacto del sistema UNIX". Laboratorios Bell. 25 de marzo de 1999. Archivado desde el original el 26 de marzo de 2013.
  37. ^ Evangelista, Benny (25 de enero de 2011). "Ken Thompson y Dennis Ritchie ganan el premio de Japón". La crónica de San Francisco .
  38. ^ "Ken Thompson: una breve introducción". El proyecto de información de Linux . 24 de agosto de 2007 . Consultado el 5 de marzo de 2020 .

Fuentes

enlaces externos

Escuche este artículo ( 4 minutos )
Icono de Wikipedia hablado
Este archivo de audio se creó a partir de una revisión de este artículo con fecha del 17 de junio de 2006 y no refleja ediciones posteriores. ( 2006-06-17 )