http://doc.cat-v.org/bell_labs/utf-8_history
http://www.linfo.org/thompson.html


Ken Thompson: A Brief Introduction

肯·汤普逊:简介

Kenneth Lane Thompson was the principal inventor of UNIX. Even today, more than 35 years later, UNIX and its descendants are still widely regarded as the best computer operating systems to have ever been developed.1

肯尼斯·蓝·汤普逊是 UNIX 的主要发明人。 即便是经历了 35 年后的今天,UNIX 及其衍生品依然被广泛地认为是迄今为止最好的计算机操作系统。

Thompson was born in 1943 in New Orleans, Louisiana and spent his childhood as what he called a navy brat. He received his Bachelor’s and Master’s degrees, both in electrical engineering, from the University of California at Berkeley (UCB).

汤普森于 1943 年出生于路易斯安那州的新奥尔良,他的童年就像他所称的海军小子一样。他在加州大学伯克利分校(UCB)获得电子工程学士和硕士学位。

Soon thereafter, in 1966, he was hired by Bell Labs, the research and development arm of AT&T, the former U.S. telecommunications monopoly, to work on the MULTICS (an acronym for multiplexed information and computing service) project. Designed by a consortium including the Massachusetts Institute of Technology (MIT), General Electric (GE) and Bell Labs as a successor to MIT’s CTSS (compatible time sharing system), MULTICS was a large, ambitious and innovative operating system that was intended to support hundreds of simultaneous users. Unfortunately, the project soon became unwieldy, which, together with the fact that it had difficulty accommodating more than three simultaneous users, led to its gradual demise.2

此后不久,在 1966 年,他被美国前电信垄断企业 AT&T 的研发机构贝尔实验室聘用,负责MULTICS(多路信息和计算服务)项目。MULTICS 由麻省理工学院(MIT),通用电气(GE)和贝尔实验室等联盟设计,作为麻省理工学院 CTSS(兼容时间共享系统)的继承者,是一个庞大,雄心勃勃,创新的操作系统,旨在支持数百个并发用户。不幸的是,该项目很快就变得笨拙,再加上它难以同时容纳三个以上的用户,导致其逐渐消亡。

1969 was that magic year in which mankind first went to the moon, ARPANET (the precursor to the Internet) was launched, UNIX was born, and a number of other interesting events occurred. It was also the year that Thompson wrote the game Space Travel.

1969 年是人类首次登月的神奇年份,ARPANET(互联网的前身)推出,UNIX 诞生,还发生了许多其他有趣的事件。 比如这也是汤普森写 “太空旅行” 游戏的那一年。

Space Travel, which enabled a pilot to fly a vehicle around a simulation of the solar system, observe the scenery and land on the various planets and their moons, played a greater role in the development of the computer industry than any other game. Thompson originally wrote it for use on MULTICS, but he soon began work on rewriting it for use on a little-used and already-obsolete PDP-7 computer that was at Bell Labs. Not only was Space Travel one of the first games for use on any computer and one of the first application programs to run on UNIX, but it also served as a valuable introduction for Thompson to the awkward process of preparing programs for the PDP-7. This proficiency that he gained with the PDP-7 was one of the factors that made his development of UNIX possible.

太空旅行

Also in 1969, Bell Labs withdrew from the MULTICS project and Thompson decided to write his own operating system, in large part because he wanted a decent system on which to run his game on the PDP-7. He accomplished this in little more than a month, while his wife Bonnie and infant son Corey were visiting their family in San Diego, California. He spent one week each writing the kernel (i.e., core of the operating system), the shell (which is used to read and run commands that are typed into the computer), an editor and an assembler (a program to convert source code into machine code that can be directly understood by a computer’s CPU). He wrote all of this in PDP-7 assembly language.

1969年,贝尔实验室退出了Multics项目,GE主机也被搬走了。于是Thompson决定自己手写一个操作系统,很大原因是因为他想要有一个合适的系统来继续玩他原来在Multics上编写的Space Travel(太空旅行游戏)。 正好实验室有一台没人用的DEC PDP-7。他大概用了1个多月的时间完成了这个操作系统(取名“UNICS”,即第一版Unix),直到他的妻子和小宝宝来加利福尼亚-圣地亚哥看他。 他大概花了1周时间来编写内核,1周时间编写Shell,1周时间编写编辑器,1周时间编写汇编程序(assembler),所有这些都是在PDP-7上用汇编语言写成的。 (He wrote all of this in PDP-7 assembly language.)

The PDP-7 on which he developed and first ran his operating system had an 18-bit word length (in contrast to the now nearly universal eight bit word length) and only four kilobytes of memory3 (which is only a small fraction of the capacity of a single modern floppy disk). This extremely small memory was undoubtedly a major factor in Thompson’s keeping his operating system extremely small and providing it with an elegant simplicity that has, in turn, played an important role in the great success of it and its various descendants (including Linux).

The following year Thompson wrote the B programming language, which started out as an effort to improve the existing BCPL (basic combined programming language) language. The most important thing about B is that it became a precursor to the C language, the original version of which was completed by Dennis Ritchie in 1972. It was Thompson’s insistence, in keeping with his philosophy about simplicity, that was responsible for the name for Ritchie’s new language being kept short and simple. C soon became one of the world’s most powerful and commonly used programming languages and remains so even today. Ritchie, who joined Bell Labs the year after Thompson, also played a major role in the early development of UNIX.

In 1972, Thompson rewrote the UNIX kernel in C. This was the move that assured the system’s future success, because it made it portable. That is, it enabled UNIX to be adapted for different platforms (i.e., processor and architecture types) with relative ease, thus breaking the long-standing practice of tying operating systems to the hardware on which they ran.

In 1973 Thompson made his first public presentation about UNIX. The publication of his paper from that presentation in a prestigious journal the following year gave the system a great deal of visibility in the academic community. It was noticed by the right people at UCB, Thompson’s alma mater, and this led to the first copy of the operating system being shipped to that university.

It also led to his return to UCB in 1975, where he served as a visiting professor into 1976. That university had begun using UNIX, and Thompson wanted to assist it in further developing the system. For Thompson, the benefit was, in addition to the nostalgia, the opportunity to work with a new group of people and the consequent additional intellectual stimulation. This return resulted in UCB becoming one of the two leading developers of UNIX (i.e., along with Bell Labs).

Later, while back at Bell Labs, Thompson and Rob Pike were the principal creators of a new operating system, Plan 9, that was based on UNIX but which incorporated a number of innovations. As part of this work, he also created UTF-8 (eight bit Unicode transformation format), which is now almost universally used for character encoding. Among his other activities was the development of improved chess-playing software.

In 1983, Thompson and Ritchie received additional industry recognition by being awarded the ACM Turing award. This is widely considered to be the most prestigious award in the academic computer science community.

Thompson views the great success of UNIX as being largely a matter of serendipity. But it is also due to the fact that it facilitated the huge paradigm shift from highly centralized mainframe computers to smaller, less expensive and decentralized computers that ran standardized operating systems rather than those dictated by their manufacturers. He views his own success in developing the system to the fact that he is a bottom-up thinker; that is, he visualizes complex systems by initially focusing on their most basic components and how they interact, rather than first focusing on the complete systems.

Thompson, like Linus Torvalds, the founder of Linux, is another example of history being shaped by the right person being ready at the right time. It is also an example of how a single person with an idea and dedication can accomplish something that eludes large organizations with huge concentrations of talent and massive budgets. Moreover, both are also examples of people who have created great works not with any intention for personal profit but rather because of their dedication to their craft and their desire to improve it, with the result that the world is also improved.

Thompson retired from Bell Labs on December 1, 2000 and moved to California.


  1. Moreover, one of its descendants, Linux, is the most rapidly growing operating system today, and some industry experts expect that it could eventually become the dominant operating system. ↩︎

  2. MIT ended its development association with MULTICS in 1977. Honeywell sold its computer business to Bull in the mid-1980s, and development was terminated by Bull in 1988. ↩︎

  3. It is sometimes mentioned that Bill Gates, the co-founder of Microsoft, wrote a compiler that only required four kilobytes of memory. However, Thompson wrote an entire operating system that could operate with the same amount of memory – and not just an ordinary operating system. ↩︎

Ken Thompson 在餐巾纸上设计的 UTF-8相关推荐

  1. 纸上原型设计 VS 桌面原型工具设计,你更喜欢谁?

    2019独角兽企业重金招聘Python工程师标准>>> 纸上原型设计,作为传统的原型设计方式,简单快速,成本低廉,为大部分设计师所喜爱.而桌面原型工具设计,作为伴随电脑科技发展而出现 ...

  2. 在纸上写好一个c语言程序后,上机运行的基本步骤为,c基本概念(选择题).docx

    PAGE / NUMPAGES 一.单选题 1.下面叙述中正确的是: (A) 在C语言程序中,main()函数必须放在程序的开始位置 (B) 在C语言程序中,要调用的函数必须在main()函数中定义 ...

  3. 三点到六点是几个小时_环卫工在10吨垃圾里找了6小时,终于找到这张价值19万元的餐巾纸...

    顶着炎热在10吨垃圾中翻找了6个小时 8月31日下午 江阴要塞环卫所的环卫工们 终于找到了章云云(化名)家 扔掉的垃圾袋 并从里面的餐巾纸内翻出丢失的 价值19万多元的钻石婚戒 网络配图(你们说,19 ...

  4. Unix时代的开创者Ken Thompson

    自图灵奖诞生以来,其获得者一直都是计算机领域的科学家与学者,而在所有这些界的图灵奖中只有唯一的一界有个例外,那就是Ken Thompson与Dennis M. Ritchie,他们都是计算机软件工程师 ...

  5. type=radio增加onclick没有效果_佳能6d+小痰盂镜头,加1张餐巾纸拍摄花卉,朦胧美效果你喜欢吗?...

    光影是摄影表现中,形式美呈现的关键因素,尤其是我们在户外拍摄,天气情况与摄影表现的效果有着密切的联系.天气晴朗,光线比较好,不仅在光影上能够较好的把握,而且还能更好的呈现出花卉的色彩和质感. 逆光中的 ...

  6. 如何在A4纸上打印标签

    我们在制作条码标签的时候,一般都是使用标签打印机打印在专门的标签纸上.但是也有一种情况就是设计完标签后在A4纸上打印,这样一张纸上就可以打印多张标签.具体如何操作小编将详细介绍. 一.首先我们打开条码 ...

  7. 从零维到十维空间如何在纸上用手绘出来

    文章来自转载作者:商老师 首发于 商老师的设计学堂 声明:本文中的理论均依据弦理论物理的知识,结合简单的图示和通俗的道理来解释,不是信口开河,具有科学依据. 请同学们打开脑洞,看我用一支笔几张纸来为同 ...

  8. 卫生纸玫瑰花折法5步_餐巾纸折纸玫瑰花的折法图解教程

    餐巾纸折纸玫瑰花的折法图解教程 折纸玫瑰花的制作方法非常的多,但是常见的折纸玫瑰花制作方法基本上都是以方形纸张进行折叠来制作而成的.这里介绍的这种折纸玫瑰的制作方法更加的简单.经济和环保一些.同时其有 ...

  9. 用Labelmx条码打印软件在A4纸上批量打印条码标签

    直接打印在A4纸上的多排条码标签与在多排标签纸上打印是不同的.前者使用的是普通打印机,后者使用的是标签打印机.但是在Label mx通用条码标签设计系统中,单个标签的设计是相同的.只是打印设置中有区别 ...

  10. 口布杯花的60种叠法_餐巾纸玫瑰花的折法 餐厅口布花的折法

    餐厅纸和餐厅口布的样式在现在代表了一个餐厅的品味和格调,表明了这家餐厅的高档程度.那么餐厅纸和餐厅口布怎么折呢? 一.餐巾纸玫瑰花的折法 餐厅纸玫瑰花的折法有多种,下面介绍比较常见的两种: 玫瑰花餐巾 ...

最新文章

  1. Python类的封装
  2. 1013 Battle Over Cities
  3. C语言:内存的分配与管理
  4. GDB调试乱序,出现value optimized out解决方法
  5. Bootstrap研究1-精巧的网格布局系统
  6. 使用LazZiya.ExpressLocalization开发多语言ASP.NET Core 2.x项目
  7. [MySQL Bug]DDL操作导致备库复制中断
  8. SQL Server 2008 安装或卸载时提示“重启计算机失败的解决办法(转)
  9. linux配置usb主从_技术 | 手把手教你搭建MySQL主从架构
  10. XML解析——Java中XML的四种解析方式
  11. Laravel接入SDK淘宝客调用
  12. Boot与App程序设计
  13. Installation Oracle11gR2 RAC on SuSE Linux Enterprise Server 11
  14. Cisco anyconnect 连接成功浏览器无法访问任何网页
  15. gps android时钟同步,通过GPS时间同步Android设备?
  16. 全球与中国HEPA滤膜市场深度研究分析报告
  17. 医用雾化器方案开发设计
  18. 小优家教v1.06/教育网站源码
  19. 百度有道雅虎的实习面试经历
  20. 我在阿里云的日子里,购买阿里云服务

热门文章

  1. python编程入门——快乐的数字
  2. 星际迷航中企业号的动力系统_五月四日与您同在:《星球大战》(和《星际迷航》)如何激发现实生活中的技术...
  3. linux怎样安装麒麟双系统,手把手教您win10系统装麒麟系统双系统的解决办法
  4. 辛客小杰个人博客源码
  5. 51nod1007:正整数分组 DP
  6. No fallbackFactory instance of type class 问题处理
  7. JAVA自学-day11-eclipse工具的使用、API、Object类
  8. Caused by: java.lang.NoSuchMethodError
  9. win10 查看版本信息(家庭版 专业版 企业版)
  10. 【NLP】AI相关比赛汇总(2022)