简介
Unix操作系统,由美国AT&T公司于1971年在PDP-11上首次运行,以多用户、多任务著称,支持多种处理器架构。它的诞生要归功于两位大神——肯·汤普逊(Kenneth Lane Thompson)和丹尼斯·里奇(Dennis MacAlistair Ritchie),两人在1969年于AT&T的贝尔实验室完成了这一作品。
需要提一句:Unix这个商标权现在归国际开放标准组织(The Open Group)所有。
Unix的诞生
故事得从1965年讲起。当时贝尔实验室加入了一项由通用电气和麻省理工学院合作的计划,目标是要搞一套多用户、多任务、多层次的超级操作系统,名叫Multics(Multiplexed Information and Computing Service的缩写)。但这项目进度实在太慢,拖到1969年干脆被叫停了。恰在此时,肯·汤普逊手上有个叫“星际旅行”的程序,本来是跑在GE-635机器上的,响应慢得像蜗牛爬。他偶然发现实验室有台吃灰的PDP-7,就和丹尼斯·里奇一起把那游戏移植了过去。这台PDP-7(如图1-1所示)就这么阴差阳错地载入了计算机史册。
1970年时,那台PDP-7只支持两个用户。布赖恩·克尼汉(Brian Kernighan)开玩笑说,干脆把Multics改成Unics吧——Uniplexed Information and Computing Service,意为“单一信息与计算服务”。大家觉得读音挺顺口,索性就叫Unix了。所以1970年也被视为“Unix元年”。
流行
1971年,肯·汤普逊洋洋洒洒写了份申请报告,成功申请到一台PDP-11/24机器。Unix第一版就此诞生——物理内存仅24KB,磁盘空间500KB,Unix自己就占了12KB,剩下的一半内存刚好支持两个用户玩“星际旅行”。著名的fork()系统调用也是这时候出现的。
到了1973年,汤普逊和里奇实在受不了每次移植都要用汇编语言重写代码——太痛苦了。他们琢磨着用高级语言来完成第三版内核。在那个汇编语言一统天下的年代,这想法简直疯狂。他们先试了FORTRAN,失败了;又试了BCPL(Basic Combined Programming Language),从中提炼出B语言。但丹尼斯·里奇觉得B语言还不够顺手,于是把它改良成了C语言。没错,就是那个如雷贯耳的C。最终,他们用C语言成功重写了Unix第三版的内核。从此,Unix的修改和移植变得异常便利,这为后来的普及打下了坚实基础。Unix和C从此完美绑定,一起统治了世界。
1974年7月,肯·汤普逊和丹尼斯·里奇在《ACM通讯》上发表了第一篇Unix论文《The UNIX Time-Sharing System》。这是Unix第一次公开亮相,立刻引发了学术界的强烈兴趣,各大学纷纷索要源码。于是Unix第五版以“仅用于教育目的”的协议提供给高校,成为操作系统课程的标准教材。各大学和公司基于源码做了各种改进和扩展,Unix开始真正流行起来。
Unix和Linux有什么区别
这个问题其实有点绕。从法律上说,Unix是个商标,由开放组织持有,Linux不能用这个名号。但从技术上来说,那些BSD家族(FreeBSD、OpenBSD、NetBSD)的内核确实是Unix血统,它们也是开源的自由软件,但绝不属于Linux阵营。这类系统常被称为“类Unix”(Unix-like),但内核实现完全不同。
说到底,Unix如今负责的是关键业务——银&行、电信、金融交易等,根本轮不到新手练手。能接触Unix+Oracle的人,薪水相当可观。而Linux呢?这几年如日中天,便宜啊:一台服务器一万块就能搞定,操作系统免费,集群方案基本都是Linux+MySQL。两条路,各有各的江湖。
