unix的历史
任何一门知识都是先研究它的历史开始的,因为任何一门知识都不是一下子出现和成熟起来的,研究过去,是为了更了解现在。对于unix更是如此,如果不知道它的历史,就会对现在五花八门的unix搅得眼花缭乱,看过很多关于unix历史的介绍,能真正讲明白的不多,因为it世界本来就变化的快,有的来不及进入历史就消失了。但这一篇讲unix历史的文章,读来一点也不枯燥,也不会把你搞蒙,甚至还很有趣,如果你也想知道现在许多种unix的来历(不至于老像个新手),那么还是看看吧!
1960年代末期,Bell Telephone Laboratories, General Electric 和
Massachusetts Institude of Technlogy合作研发一个多使用者的作
业系统, Multics.此计划於1969年三月取消. 取消後的故事大家有点
熟,又有点不熟,这里把key part点出来:
* Ken Thompson在DEC PDP-7上写了个叫Space Travel的电玩.
* PDP-7欠缺程式发展环境,so, Ken Thompson + Dennis Ritchie写了UNIX出来.
* Ken Thompson写了B语言(由BCPL演化而来的直译语言)
* Dennis Ritchie把B改成了著名的C语言.
* 1973年11月Unix version 4,使用C语言改写而成.
Unix的第一篇Paper "The UNIX Time Sharing System"由Ken Thompson和Dennis
Ritchie
提出,在1973年十月the ACM Symposium on OS (SOSP)中提出来.而在次年七月的
the Communications of the ACM发表.这是UNIX与外界的第一次接触.
UNIX免费流传的原因
1956年AT&T受到反托拉斯法调查.调查期间AT&T与联邦政府签订了一个协议,
不能经营与电话电报无关之业务.BTL隶属於AT&T.
UNIX在SOSP发表後,学术界对UNIX及其原始码索求不断,所以AT&T便免费的
提供原始码给学术界,此举造成了UNIX的广泛流传.
Berkeley的Computer Science Research Group, CSRG对UNIX的发展做了很多的贡献.
Berkeley的UNIX称为BSD UNIX. BSD对UNIX的贡献有virtual memory, TCP/IP, Fast
File System(FFS), reliable signals, socket介面.
4.4BSD把原来的VM换成Mach的VM,并引进了Logged File System. (LFS).
CSRG做完BSD4.4之後就关门大吉了.原因有:
* 补助的不足
* BSD的特色已经可以在商业系统上见到了(所以不用DIY了)
* 系统已经大到不是一个小组可以维护的程度了
有一家公司Berkeley Software Design, Inc.(BSDI)成立来继续行销4.4BSD,
从事商业行为.他们的BSD叫做BSD/386. BSDI宣称BSD/386经过了Berkeley
的改写,已经没有AT&T的原始码了.不过AT&T还是对Berkeley和BSDI提出告诉.
导火线是BSDI的电话: 1-800-ITS-UNIX.此一诉讼延後了4.4BSD的发表.
终於1994年二月四日,双方达成和解,撤销告诉. BSDI发表了不含AT&T宣称
的原始码的4.4BSD原始码,称为4.4BSD-Lite. 接下来的故事就是在网路上
的传奇,你可以在386BSD的讨论区看到.
UNIX System #
反拖拉司法调查结束後将AT&T拆成数个子公司, BTL改名为AT&T Bell Laboratories.
并且AT&T被允许进入电脑市场. AT&T发表的商业版UNIX计有System III,
System V, System V Release 2 (SVR2) System V Release 3, System V Release
4/4.2
System V引进了许多新的特色(相对於旧的UNIX),如regions架构的虚拟记忆体(和
BSD的不太相同), IPC, remote file sharing, shared libraries,
STREAMS架构等等.
UNIX的商业化
商业化的UNIX也为UNIX争添不少特色,如SunOS的Network File System (NFS),
vnode/vfs interface支援多重档案系统,一个新的VM架构(为SVR4所采用)
AIX是第一个支援journaling file system的商业UNIX. ULTRIX (DEC的旧UNIX)
是支援multiprocessor UNIX的先趋之一.
Mach
Mach是Carnegie-Mellon大学(CMU)的microkernel(微核心)作业系统.(1980年代)
随著功能越来越多,UNIX也日渐庞大复杂而难以掌握, microkernel的概念就是
把Kernel去芜存菁,仅留下重要的部分,其馀的功能都用user阶层的程式(称作
server)来达成就好了,藉此减低kernel的复杂度.
Mach设计目标有
* 与UNIX相容
* 在单处理器,多处理器上都能执行
* 适合分散式运算环境
最普遍的版本是Mach2.5,是许多商业UNIX如DEC OSF/1, NextStep的基础.
Mach3.0才是真正纯粹的完全Microkernel化版本.
标准何在
UNIX的标准就像他的版本一样多.本小节仔细的介绍了各个标准与其命运.
讨论到最新的资讯为Novell将UNIX商标卖给了X/Open,以及Sun Solaris 2.5版.
1986年IEEE指定了一个委员会制定了一个一个开放作业系统的标准,称为
POSIX (Portable Operating Systems Interface,最後加上个X,为了好听,也是因为
本质上是UNIX的标准).<-这是我听说的,不是书上写的.
X/Open是一个由国际性电脑厂商组成的机构,成立於1984.其目的比较务实,
不是为众多的UNIX标准再添加一个.而是把重心放在汇集现有的标准,
整理出一个共通的环境.XPG (X/Open Portability Guide)就是他的大作.
目前UNIX这个商标应该是由X/Open所拥有.
除了标准以外,UNIX厂商也有合纵联盟.
UI, Unix International,是AT&T和Sun为主的联盟.主要的产物有SVR4和OpenLook.
OSF, Open Software Foundation为以IBM,DEC,HP为首的公司投资的子公司.
OSF对UNIX的贡献有Motif标准,DCE (Distributed Computing Environment).
在NT出来搅局後,UI瓦解了,AT&T不要UNIX了(专心於他的plan9作业系统?),
SVR4的传人变成了Sun的Solaris,不过Sun也不再坚持OpenLook,同时支援CDE
(Common Desktop Environment,讲白话一点就是Motif).