Listen to this article

켄 톰슨

Ken Thompson
켄 톰슨
Ken Thompson and Dennis Ritchie--1973.jpg
톰슨(왼쪽)과 데니스 리치
태어난
케네스 레인 톰슨

(1943-02-04) 1943년 2월 4일(79세)
미국 루이지애나 뉴올리언스
국적.아메리칸
모교캘리포니아 대학교 버클리 (B.S., 1965; M.S., 1966)
로 알려져 있다
어워드
과학 경력
필드컴퓨터 공학
기관

케네스 레인 톰슨(Kenneth Lane Thompson, 1943년 2월 4일 ~ )은 미국 컴퓨터 과학의 선구자입니다.Thompson은 Bell Labs에서 대부분의 경력을 쌓고 Unix 운영체제를 설계하고 구현했습니다.그는 또한 C 프로그래밍 언어의 직접적인 전신인 B 프로그래밍 언어를 발명했으며 플랜 9 운영 체제의 초기 개발자 중 한 명이었다.2006년부터 톰슨은 구글에서 일하며 바둑 프로그래밍 언어를 공동 개발했다.

다른 주목할 만한 업적은 정규 표현과 초기 컴퓨터 텍스트 편집기 QED 에디터에 대한 그의 작업, UTF-8 인코딩의 정의, 그리고 최종 게임 테이블베이스와 체스 기계 벨의 창조를 포함한 컴퓨터 체스에 대한 그의 작업이었다.그는 1983년 오랜 동료 데니스 리치와 함께 튜링상을 수상했다.

초기 생활과 교육

톰슨은 루이지애나 뉴올리언스에서 태어났다.어떻게 프로그래밍을 배웠는지 묻자 톰슨은 "저는 항상 논리에 매료되었고 심지어 초등학교에서도 2진법으로 산술 문제를 풀었습니다.그냥 [3]넋이 나갔다고.

DECPDP-7(유닉스에서의 초기 작업에 사용)

톰슨은 1965년에 캘리포니아 버클리 대학에서 전기 공학컴퓨터 공학으로 학사 학위를, 1966년에 석사 학위 학위를 받았습니다.여기서 그의 석사 논문 조언자는 Elwyn Berlekamp였습니다.[4]

경력 및 연구

톰슨은 1966년[5]벨 연구소에 고용되었다.1960년대에 Bell Labs에서 Thompson과 Dennis RitchieMultics 운영체제를 연구했습니다.Multics를 집필하는 동안 Thompson은 Bon 프로그래밍 [6][7]언어를 만들었습니다.그는 또한 Space Travel이라고 불리는 비디오 게임을 만들었다.이후 Bell Labs는 MULTICS [8]프로젝트에서 철수했습니다.이 게임을 계속하기 위해 톰슨은 오래된 PDP-7 기계를 찾아 그 [9]기계에 스페이스 트래블을 다시 썼다.결국 Thompson이 개발한 툴은 Unix 운영 체제가 되었습니다.톰슨과 리치가 이끄는 벨랩 연구팀은 PDP-7을 연구하면서 계층형 파일 시스템, 컴퓨터 프로세스와 디바이스 파일의 개념, 명령줄 인터프리터, 프로세스 간 통신을 위한 파이프, 작은 유틸리티 프로그램을 개발했습니다.1970년 브라이언 커니건은 "멀틱스"[10]라는 이름에 대한 말장난에서 "유닉스"라는 이름을 제안했다.유닉스에서의 초기 작업 후, 톰슨은 유닉스에 시스템 프로그래밍 언어가 필요하다고 판단하고 Ritchie의 [11]C의 선구자인 B를 만들었다.

1960년대에 톰슨은 정규 표현에 대한 연구도 시작했다.Thompson은 텍스트 검색을 위한 정규 표현을 포함하는 편집기 QED의 CTSS 버전을 개발했습니다.QED와 Thompson의 에디터 에디터 에디터(유닉스에서는 표준 텍스트 에디터)는 정규 표현의 궁극적인 인기에 크게 기여했으며 정규 표현은 유닉스 텍스트 처리 프로그램에 널리 보급되었다.오늘날 정규식으로 작동하는 거의 모든 프로그램은 톰슨 표기법의 변형을 사용합니다.그는 또한 정규식을 비결정론적 유한 오토마타로 변환하는 데 사용되는 톰슨의 구성 알고리즘을 발명하여 표현 매칭을 [12]더 빠르게 만들었다.

1970년대

PDP-11에서 Thompson(앉아 있는)과 Ritchie가 함께 작업하고 있습니다.
SIMHPDP-11 시뮬레이터 상에서 동작하고 있는 버전6 Unix ('/usr/ken'은 아직 존재합니다)

1970년대 내내 톰슨과 리치는 Unix 운영체제를 공동 연구했습니다.그들은 Research Unix에서 매우 많은 작업을 수행했기 때문에, 후에 더그 맥일로이는 "리치와 톰슨의 이름은 특별히 [13]관련이 없는 거의 모든 것에 연결되어 있다고 가정할 수 있습니다."라고 썼습니다.Thompson은 2011년 인터뷰에서 Unix의 첫 번째 버전은 그가 작성했으며 Ritchie가 이 시스템을 옹호하기 시작했고 [14]이 시스템을 개발하는 데 도움을 주었다고 말했습니다.

저는 UNIX의 두세 가지 버전 중 첫 번째 버전을 혼자서 했습니다.그리고 데니스는 전도사가 되었다.그 후 C라고 불리게 될 더 높은 수준의 언어로 다시 쓰기가 있었다.그는 주로 언어와 I/O시스템에 종사했고, 저는 나머지 운영체제에 종사했습니다.그것은 PDP-11을 위한 것이었고, 그것은 우연이었습니다. 왜냐하면 그것은 학계를 장악했던 컴퓨터였기 때문입니다.

톰슨의 Unix 개발로부터의 피드백은 C 프로그래밍 언어의 개발에 있어서도 중요한 역할을 했습니다.톰슨은 나중에 C언어가 "체계의 개서 중 하나와 함께 발전하여 문자 체계에 완벽해졌다"[14]고 말했다.

1975년, 톰슨은 벨 연구소에서 안식년을 보내고 모교인 UC 버클리 대학에 갔다.거기서, PDP-11/70버전 6 Unix 의 인스톨을 서포트했습니다.버클리에서의 Unix는 나중에 버클리 소프트웨어 배포(BSD)[15]로 알려진 자체 시스템으로 유지되었다.

1976년 초, 톰슨은 UC 버클리 전기 공학 및 컴퓨터 과학부의 컴퓨터 과학부에서 버클리 파스칼의 초기 버전을 집필했습니다(그 해 후반에 윌리엄 조이, 찰스 헤일리, 그리고 교수 고문 수잔 그레이엄에 의해 광범위한 수정과 추가).

Ken Thompson은 Unix의 첫 번째 버전을 위해 "체스"라고 불리는 체스 플레이 프로그램을 만들었다.[16]나중에, 조셉 콘돈과 함께, 톰슨은 세계 챔피언 체스 [17]컴퓨터인 하드웨어 지원 프로그램인 벨을 만들었다.그는 또한 4, 5, 6피스 엔딩 모두에 대해 엔드게임 테이블베이스로 알려진 체스 엔딩의 완전한 열거를 생성하기 위한 프로그램을 작성했으며, 체스 게임을 하는 컴퓨터 프로그램이 저장된 위치에 도달하면 "완벽한" 동작을 할 수 있도록 했다.나중에, 체스 최종 게임 전문가인 John Roycroft의 도움으로, Thompson은 CD-ROM으로 그의 첫 결과를 배포했다.2001년 ICGA 저널은 컴퓨터 [16]체스에 대한 켄 톰슨의 다양한 공헌에 거의 모든 호를 할애했다.

1980년대

ACME 텍스트 에디터를 실행하고 RC 을 실행하는 Bell Labs의 Plan 9

1983년 톰슨과 리치(Ritchie)는 "일반 운영 체제 이론의 개발, 특히 UNIX 운영 체제의 구현"에 대한 공로로 튜링 상을 공동 수상했다.그의 수락 연설인 "신뢰에 대한 성찰"은 현재 톰슨 해킹 또는 신뢰 공격이라고 알려진 지속적인 컴파일러 백도어 공격을 제시했으며,[18] 그 자체로 중요한 컴퓨터 보안 작업으로 널리 알려져 있습니다.

1980년대 내내 Thompson과 Ritchie는 Research Unix를 계속 수정하여 8, 9, 10판 BSD 코드베이스를 채택했습니다.1980년대 중반 벨 연구소에서 Unix를 대체하는 새로운 운영체제에 대한 작업이 시작되었습니다.Thompson은 Unix의 원리를 활용한 새로운 운영체제인 Bell Labs의 Plan 9의 설계와 구현에 중요한 역할을 했지만, 이를 모든 주요 시스템 설비에 광범위하게 적용했습니다.mk와 rc와 같은 Research Unix의 최신 버전에 포함된 일부 프로그램도 계획 9에 통합되었습니다.

Thompson은 Bjarne Strostrup에 프로그램을 작성하여 초기 버전의 C++ 프로그래밍 언어를 테스트하였으나 이후 버전 간의 잦은 비호환성 때문에 C++에서의 동작을 거부하였다.2009년 한 인터뷰에서 톰슨은 C++에 대해 부정적인 견해를 나타내며, "그것은 많은 것을 절반으로 잘 하고 있고, 단지 상호 [19]배타적인 아이디어의 쓰레기 더미일 뿐이다."라고 말했다.

1990년대

1992년 톰슨은 [20]파이크와 함께 UTF-8 부호화 방식을 개발했다.UTF-8 인코딩은 2019년 [21]전체 웹 페이지의 90% 이상을 차지하며 월드 와이드 웹의 주요 문자 인코딩이 되었습니다.

1990년대에 휴대용 가상 머신에 기반을 둔 또 다른 연구 운영 체제인 Inferno 운영 체제에 대한 작업이 시작되었습니다.Thompson과 [22]Ritchie는 Bell Labs의 다른 연구원들과 함께 Inferno와의 협력을 계속했다.

2000년대

2000년 후반에 톰슨은 벨 연구소에서 은퇴했다.2006년까지 Entreisphere, Inc.에서 펠로우로 근무했으며 현재는 Google에서 Distinguished Engineer로 근무하고 있습니다.최근 작업에는 바둑 프로그래밍 언어의 공동 설계가 포함되어 있습니다.그는 자신과 바둑의 다른 원저자들을 언급하며 다음과 같이 말한다.[14]

우리 셋(Thompson, Rob Pike, Rob Griesemer)이 시작했을 때는 순전히 연구였습니다.우리 셋이 모여서 C++를 싫어하기로 했어.[웃음]...[다시 Go로 돌아가기]우리 셋이서 다 같이 말을 걸어야 한다는 생각에서 시작했어요.그래서 어떤 이유로든 그 언어에 불필요한 쓰레기가 들어가지 않게 된 거죠.

2009년의 인터뷰에 의하면, Thompson은 Linux 베이스의 [23]operating system을 사용하고 있습니다.

어워드

국립 아카데미

1980년 Thompson은 "효율성, 폭, 파워 및 스타일을 통해 한 세대의 미니컴퓨터를 이용한 운영체제 UNIX 설계"[24]미국 공학아카데미에 선출되었습니다.1985년 그는 미국 국립과학아카데미([2]NAS) 회원으로 선출되었다.

튜링상

1983년 톰슨과 리치(Ritchie)는 "일반 운영 체제 이론의 개발, 특히 UNIX 운영 체제의 구현"에 대한 공로로 튜링 상을 공동 수상했다.그의 수락 연설인 "신뢰에 대한 성찰"은 현재 톰슨 해킹 또는 신뢰 신뢰 공격으로 알려진 백도어 공격을 제시했으며,[25] 그 자체로 중요한 컴퓨터 보안 작업으로 널리 알려져 있습니다.

IEEE 리처드 W. 해밍 메달

1990년 톰슨과 데니스 리치 모두 "유닉스 운영체제와 C 프로그래밍 [26]언어의 발명으로" 전기전자공학협회(IEEE)로부터 IEEE 리처드 W. 해밍 메달을 받았습니다.

컴퓨터 역사 박물관 펠로우

1997년 톰슨과 리치 모두 "유닉스 운영 체제의 공동 창조와 C 프로그래밍 [27]언어의 개발"로 컴퓨터 역사 박물관의 펠로우로 취임했습니다.

국가기술훈장

1999년 4월 27일 톰슨과 리치는 UNIX 운영체제와 C 프로그래밍 언어를 공동 발명한 공로로 빌 클린턴 대통령으로부터 1998년 National Medal of Technology를 받았습니다.이 공로로 인해 컴퓨터 하드웨어, 소프트웨어 및 네트워킹 시스템의 엄청난 진보를 이끌어 냈으며, 이에 따라 산업 전체의 성장을 촉진했습니다.정보화 시대에 미국의 리더십을 강화한다.[28]

카나이 쓰토무상

1999년 전기전자공학연구소는 "수십 년 동안 분산형 [29]시스템 작업의 핵심 플랫폼이었던 UNIX 운영체제 개발에 기여한 공로로" Thompson을 제1회 Tsutomu Kanai Award로 선정하였습니다.

재팬상

2011년, 톰슨은, Unix operating [30]system의 개발에 있어서의 선구적인 업적으로, Dennis Ritchie와 함께 일본 정보통신상을 수상했습니다.

사생활

켄 톰슨은 결혼해서 아들이 있다.[31][16]

「 」를 참조해 주세요.

레퍼런스

  1. ^ "IEEE Emanuel R. Piore Award Recipients" (PDF). IEEE. Archived from the original (PDF) on November 24, 2010. Retrieved March 20, 2021.
  2. ^ a b "Kenneth Thompson". www.nasonline.org. Archived from the original on October 21, 2021. Retrieved June 9, 2019.
  3. ^ 세이벨 2009, 450페이지
  4. ^ "Thesis Students". Elwyn Berlekamp's Home Page. University of California, Berkeley Department of Mathematics. Archived from the original on October 21, 2021.
  5. ^ "Ken Thompson: developed UNIX at Bell Labs". Retrieved October 31, 2016.
  6. ^ Thompson, K. L. (1969). "Bon User's Manual" (PDF). Multics History Project. Multics Documents: MIT Computer Science & Artificial Intelligence Lab. p. 1. Archived from the original (PDF) on October 21, 2021. Retrieved March 18, 2021.
  7. ^ Ritchie, Dennis. "The Development of the C Language". Bell Labs. Retrieved October 31, 2016.
  8. ^ J. Stanley Warford (2009). Computer Systems. Jones & Bartlett Publishers. p. 460. ISBN 978-1-4496-6043-7.
  9. ^ Ritchie, Dennis M. (2001). "Space Travel: Exploring the solar system and the PDP-7". Bell Labs. Archived from the original on December 26, 2015. Retrieved February 4, 2016.
  10. ^ Ritchie, Dennis M. "The Evolution of the Unix Time-sharing System". Archived from the original on October 21, 2021. Retrieved October 31, 2016.
  11. ^ Dennis M. Ritchie. "The Development of the C Language". Bell Labs/Lucent Technologies. Retrieved October 31, 2016.
  12. ^ Cox, Russ. "Regular Expression Matching Can Be Simple And Fast". Archived from the original on October 21, 2021. Retrieved October 30, 2016.
  13. ^ McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (Technical report). CSTR. Bell Labs. 139. Archived from the original (PDF) on October 21, 2021.
  14. ^ a b c "Dr. Dobb's: Interview with Ken Thompson". May 18, 2011. Archived from the original on October 21, 2021. Retrieved November 10, 2014.
  15. ^ Salus, Peter H. (2005). "Chapter 7. BSD and the CSRG". The Daemon, the Gnu and the Penguin. Groklaw.
  16. ^ a b c Dennis Ritchie (June 2001). "Ken, Unix and Games". ICGA Journal. 24 (2). Archived from the original on October 21, 2021. Retrieved March 5, 2020.
  17. ^ "Joe Condon (obituary)". Physics Today. 2013. doi:10.1063/PT.4.1752.
  18. ^ Thompson, Ken (1984). "Reflections on trusting trust". Communications of the ACM. 27 (8): 761–763. doi:10.1145/358198.358210.
  19. ^ 세이벨 2009, 페이지 475
  20. ^ Pike, Rob (April 30, 2003). "UTF-8 history". Archived from the original on October 21, 2021.
  21. ^ "Usage Statistics and Market Share of UTF-8 for Websites, June 2019". w3techs.com. Archived from the original on October 21, 2021. Retrieved June 9, 2019.
  22. ^ Khamlichi, M.el. "Ken Thompson UNIX systems father". Unixmen. Archived from the original on October 21, 2021. Retrieved October 31, 2016.
  23. ^ 세이벨 2009, 페이지 479
  24. ^ "Dr. Ken Thompson". National Academy of Engineering. Archived from the original on October 21, 2021.
  25. ^ Thompson, Ken (1984). "Reflections on trusting trust". Communications of the ACM. 27 (8): 761–763. doi:10.1145/358198.358210.
  26. ^ "IEEE Richard W. Hamming Medal Recipients" (PDF). IEEE. Archived from the original (PDF) on July 26, 2011. Retrieved May 29, 2011.
  27. ^ "Ken Thompson". Computer History Museum. Archived from the original on October 21, 2021. Retrieved October 29, 2016.
  28. ^ "Bell Labs Luminaries Dennis Ritchie And Ken Thompson To Receive National Medal Of Technology". ScienceDaily. December 8, 1998. Archived from the original on October 21, 2021.
  29. ^ "Ken Thompson Receives Kanai Award for Impact of UNIX System". Bell Labs. March 25, 1999. Archived from the original on March 26, 2013.
  30. ^ Evangelista, Benny (January 25, 2011). "Ken Thompson, Dennis Ritchie win Japan Prize". The San Francisco Chronicle.
  31. ^ "Ken Thompson: A Brief Introduction". The Linux Information Project. August 24, 2007. Retrieved March 5, 2020.

원천

외부 링크

기사 듣기 (4분)
Spoken Wikipedia icon
이 오디오 파일은 2006년 6월 17일(2006-06-17) 이 문서의 개정판에서 작성되었으며 이후 편집 내용은 반영되지 않습니다.