该项目由AT&T、通用电器公司、麻省理工学院参与,经过4年时间,最终还是失败。两位神一样的人物:Ken Thompson和Dennis MacAlistair Ritchie 在此之后发明了UNIX和C语言。Ken Thompson参与了multics项目,从中获得经验和灵感,并利用小型机pdp-7开发出了UNIX,之后还和Dennis MacAlistair Ritchie共同发明了C语言,并用C语言重写了UNIX使其可以在不同品牌的机器上快速移植。
下面是小型机pdp-7的图片,该型号小型机目前在美国的西雅图Living Computer Museum(活电脑博物馆)还能看到。
3. UNIX系统的发展随后,由于UNIX易用、可移植且免费,之后迅速扩散开来,但UNIX是Ken Thompson和Dennis MacAlistair Ritchie在AT&T公司的贝尔实验室工作期间鼓捣出来的,版权属于AT&T,起初AT&T由于垄断电信通讯业务,美国政府不允许其涉足计算机行业,另外AT&T也觉得UNIX是个小玩意不挣钱,未予关注,任其发展。后来UNIX壮大后,AT&T欲利用UNIX从事商业软件活动,作为其商业产品欲营利,为了一家独大,AT&T想要收回起初免费使用UNIX的权利。而此时UNIX已经因为源代码公开而形成了很多的实现和版本。
总结来说:1969年Ken Thompson在AT&T公司发明了Unix系统,而后Thompson在加州大学伯克利分校和AT&T公司的Unix部门各自维护了一个实现,分裂成了2种版本。
分裂的2种版本各自吸收使用了对方的一些特色和专有源码,并相互起诉,最终和解。
分裂的2种版本导致各种不同的演化,结果是UNIX的各种实现很乱,上层的应用程序不便移植,最后大家要求统一,最终由此产生了统一标准。
总之,UNIX分裂成了两大主流分支,很多其他的分支实现基本上是基于BSD或者System V。
4. 终端与控制台Ken Thompson和Dennis MacAlistair Ritchie发明的UNIX可以在pdp-7上使用,相比于大型机500万—1000万美元的价格虽然不多,但pdp-7的价格也不菲,高达72000美元。仍然没有办法人手一台,但总算让一个普通公司有可能采购了。
一台小型机有控制台、Terminal终端、主机三大部分。在文章的第二个图片“类似GE645的GE-235大型机”那里,为什么我要贴那样的照片?就是想让你直观感受一下:小型机有控制台、Terminal终端、主机。
想象一下,我们平时用的台式机器:主机+键盘+显示器,这里的主机就和以前的小型机的主机一样,负责计算,内含CPU、主板等原件。今天的台式机,主机负责运行操作系统,跑程序,键盘负责打字输入,显示器负责输出显示结果。
那么以前的小型机的控制台和Terminal终端是干什么用的?控制台,英文叫做console,从字面意思可以看出是用来做控制的。回忆一下课本上关于计算机操作系统发展历史的说明:
最初的电脑并没有操作系统,人们通过各种操作按钮来控制计算机,后来出现了汇编语言,操作人员通过有孔的纸带将程序输入电脑进行编译。这些将语言内置的电脑只能由操作人员自己编写程序来运行,不利于设备、程序的共用。为了解决这种问题,就出现了操作系统,这样就很好实现了程序的共用,以及对计算机硬件资源的管理。
那时候,一台大型机或者小型机的使用,不仅有程序员写程序,还有专业机器操作人员和管理人员,每个人有每个人所负责的部分,各人分工不同。这里的管理人员就是对计算机进行控制的工作人员。那么,控制计算机什么呢?需要在计算机启动时控制它的各个硬件,比如寄存器,拔插各种连接线,可以回头看一下本文开头关于 ENIAC 的图片,上面是不是很多的线需要连接?另外还要根据系统启动和运行时的实时情况来查看指示灯的状态和系统运行的告警、错误等日志信息,这就是控制台。从这里的说明可以看出,控制台因为要控制硬件和连接线,所以务必是要直接连接在大小型机的主机上的。
下面图中红色方框的就是console了:
有了console控制台,可以控制大小型机的启动和对其进行硬件管理,但计算机是拿来提供服务的,只能管理是远远不够的,如何为用户或者程序员提供服务呢?那就是通过终端terminal来和计算机进行交互,告诉计算机你想要做什么,然后计算机在终端中显示处理的结果。
通常在系统启动之前,终端是不能连接到主机的,只能console控制台连接。下图就是console和terminal的实物图: