Linux与Unix的家谱关系略图

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




(1个打分, 平均:5.00 / 5)

雁过留声

“Linux与Unix的家谱关系略图”有3个回复

  1. 匿名 于 2008-10-09 8:10 下午

    看不多大懂,能不能发点文字解释

  2. callmefire 于 2008-10-14 6:51 下午

    我帮BNN注释一下,有说错的地方请BNN给指正.

    【Unix的诞生】
    1965年,AT&T(美国电话电报公司)旗下的Bell实验室(当时包括贝尔电话公司与西部电子WE)与通用电气及麻省理工学院的MAC课题组联合开发一种多用户多处理器多层次(multi-user、multi-processor、multi-level)的Multics(MULTiplexed Information and Computing System)操作系统;
    1969年,由于Multics开发目标不明确且进展缓慢,Bell实验室最终退出;根据Multics的经验和教训,Bell实验室的Ken Thompson (UNIX之父)和Dennis M Ritchie,设计了文件系统雏形,以PDP-7为目标环境,在GECOS机上通过交叉汇编实现了运行于PDP-7上的操作系统,包括UNIX文件系统,进程子系统雏形和少量应用程序,最后终于开发出PDP-7上的汇编器,实现了操作系统的自含,Bell实验室的另一成员Brian Kernighan戏称这个操作系统为UNICS(UNiplexed Information and Computing System),最后取其谐音改叫UNIX;Brian Kernighan 与 Dennis M Ritchie史称K&R;
    1971年,UNIX被移植到PDP-11上,Ken Thompson决定在其上开发Fortran编译器,但最后却开发出了一种解释性语言-B语言,此后Dennis M Ritchie(DMR,C语言之父)把B语言发展成为C语言;
    1973年,K&R用C语言重写了UNIX(以前的UNIX是纯汇编,所以是重写),AT&T成立UNIX系统小组(USL),提供对内支持;
    1977年,UNIX首次移植到非PDP机-interdata 8/32上;
    1982年,Bell实验室不断增强UNIX的功能,此时AT&T对外发布了第一个商业版本-UNIX III,内部版本为V7,新增了FIFOs(有名管道);AT&T宣布对UNIX拥有所有权;
    1983年1月,AT&T发布UNIX V,增加了IPC Package(共享内存,消息,信号量);
    1984年,SVR2发布,增加了sh函数和SVID(System V Interface Definition)
    1986年,SVR3发布,增加了stream,poll,TLI(网络软件),RFS,共享库,SVID2,请求分页
    1987年,SVR3.2发布,融入了Xenix对I386的支持,增加了网络支持
    1988年,与Sun结盟(UI)共同开发SRV4,SVR4发布,融合了System V,BSD,SunOS和Xenix的诸多特征;继承了SVR3的系统管理,终端,RFS,uucp,吸收了BSD的FFS,TCP/IP,socket,select,csh,吸收了SunOS的NFS,VFS,OpenLook GUI,X11/NeWS,此外新增加了ksh,ANSI C,国际化,ABI(Application Binary Interface),POSIX,X/Open,SVID3
    19??年,SVR4.1发布,增加了非同步IO
    19??年,SVR4.2发布,支持Veritas FS

    【BSD的诞生】
    在AT&T UNIX发展的同时,加州大学伯克利分校计算机系统研究小组(CSRG)在AT&T UNIX V6的基础上加入了自己的研究成果,重写了大部分代码,实现了更好的文件系统和内存管理,最终形成一个完整的操作系统-BSD UNIX,由此形成了UNIX版本的第一个分支;Bill Joy(Sun前任首席科学家,Sparc的主要设计者)当时在伯克利分校主持开发并发布了第一个BSD(Berkeley Software Distribution);
    1978年,2.XBSD发布,支持csh
    1978年,3.0BSD发布,增加虚拟内存
    1980年,4.0BSD发布,增加termcap,curses,vi
    19??年,4.1BSD发布,增加作业控制,自动内核配置,vfork
    1983年,4.2BSD发布,增加TCP/IP,socket,ehternet,UFS,symbolic links,新的可靠新号机制,select;DARPA(Defense Advanced Research Projects)与BBN签约开发TCP/IP并要求BSD加入BBN的TCP/IP,CSRG自己也开发了一套TCP/IP的实现,经过比较,最终采用BSD自己的TCP/IP,成为第一个支持TCP/IP的UNIX版本;
    1986年,4.3BSD发布,
    1990年,4.3 Tahoe(一款32位mini电脑机型)版,支持FAT,新的TCP/IP算法
    1990年,4.3 Reno(美国内华达州的一个城市,号称为离婚城市,赌博盛行)版,是一个到4.4的过渡版,之所以叫做Reno,表明这个版本的发布是在进行一场赌博;增加对VAX和HP9000/300,支持1003.1,NFS(from sun),虚拟内存系统MFS(from Mach),OSI,Kerberos
    1991年,4.3BSD-Net/1,4.3BSD-Net/2发布
    1992年,AT&T状告BSD泄漏UNIX商业机密;
    1994年,4.4BSD-Lite版发布,该版本是去除了所有AT&T代码的不完全版本,从此BSD与AT&T UNIX彻底分道扬镳
    1995年,4.4BSD-Lite2版发布,之后CSRG宣布解散

    BSD的三个子分支:
    NetBSD,在4.3BSD-Net/2发布后,又增加了对i386的支持,发布了386/BSD,一群386/BSD用户形成团体帮助维护并增强后续系统,由此衍生出NetBSD分支;
    FreeBSD,在NetBSD团体成立几个月后,FreeBSD团体成立,同样基于4.3BSD-Net/2,主要致力于支持PC体系,追求较多的发行和易用性,而技术改造较少,是发行最多的分支系统;后来受到linux的排挤,不得不提高对linux的兼容;
    OpenBSD,90年代中期,OpenBSD团体从NetBSD团体中分离出来,强调安全性,易用性和发行量;

    【第一次UNIX版权之争】
    1992年,AT&T的UNIX系统实验室指控一家名为BSDI的BSD发行商违反AT&T许可权,擅自发布UNIX版本,同时指控伯克利分校计算机系统研究组泄漏AT&T的UNIX商业机密(当时4.3BSD中AT&T UNIX的代码已经不足10%),许多厂商为避免法律纠纷,纷纷转向AT&T的UNIX V;
    这个版权纠纷直到UNIX系统实验室被AT&T卖给Novell后,才得以解决;Novell允许CSRG自由发布BSD,但前提是要将所有AT&T UNIX的代码删除,由此产生了不含AT&T UNIX代码的不完全版系统-4.4BSD-Lite;;
    此外,Novell将原来的AT&T Unix改名为Unixware,将Unix商标赠送给名为X/Open的Unix联盟,使得该联盟成员均可使用Unix商标;日后,Novell又将Unixware卖给SCO,Unix的所有权转移到SCO手中(于是有了2003年的第二次Unix版权纠纷),而BSD在发布4.4BSD-Lite2后,伯克利计算机系统研究组(CSRG)解散;

    【Sun OS与Solaris】
    见《Solaris internals》1.1
    1982年,Sun Unix 0.7,基于4.1BSD,移植到Sun的M68K单处理器Sun-1工作站
    1983年,Sun OS 1.0,用于基于M68010的Sun-2工作站
    1985年,Sun OS 2增加了对网络的支持,RPC,NIS,NFS,并实现了虚拟文件系统以适应各种文件系统类型
    1988年,Sun OS 4.0,引入了虚拟内存,动态链接,用于Sun-4工作站
    1990年,Sun OS 4.1,加入OpenWindow图形环境,IPC,SLC
    1992年,Sun OS4.1.3,实现了原始的不对称多处理器实现,内核同时只能在一个处理器上运行;与AT&T结盟,共同开发SVR4,Sun OS的虚拟文件系统与虚拟内存系统在SVR4中得以应用,SVR4吸收了SVR3,Sun OS,BSD,Xenix的优点,并移植到SPARC
    1992年,Solaris2.0移植自SVR4,只支持单处理器,原有的Sun OS 4.X版本采用新的Solaris 1.X为版本
    1992年,Solaris2.1支持4路SMP
    1993年,Solaris2.2,加入大文件系统的支持,Solaris 2.1-x86支持i386架构
    1993年,Solaris2.3,支持8路SMP和电源管理
    1994年,Solaris2.4,支持20路SMP,slab内存分配器,缓存文件系统,CDE Window
    1995年,Solaris2.5,支持ultrasparc架构,NFS3,快速进程间通信,内核大内存页
    1996年,Solaris2.5.1,支持基于ultrasparc的多处理器,64路SMP
    1996年,Solaris2.6,支持大文件(2GB),动态处理器集,内核级TCPsocket,锁统计,UFS直接IO
    1998年,Solaris2.7,支持64位地址,集成了日志UFS文件系统,带优先级的内存分页算法
    2004年,Solaris10发布

    【Mach】
    见《Distributed Operating Systems》第8章:
     1975年,RIG(机种:Eclipse,用于研究操作系统模块化,实现了进程间通信)
     1981年,Richard Rashid(后来效力于微软,参与WINDOWS NT的研发),Accent第一个版本运行(机种PERQ,增加保护机制与网络操作的透明性,32位虚拟内存,后来输给Unix)
     1984年,Mach(兼容Unix,增加线程,增强进程间通信,支持多处理器,高级虚拟内存)由一个BSD 4.1的修改版(增加通信和内存管理)组成,此后又与4.2BSD,4.3BSD结合,完全兼容BSD,但成为一个大内核,即Mach2.5
     1986年,Mach第一个版本运行于VAX 11/784(4 CPU),之后又被移植到IBM PC/RT和Sun 3
     1988年,CMU(美国卡内基梅隆大学)将所有BSD代码移到用户空间,所留下的Mach成为一个纯粹的微内核,即Mach3.0
     Mach4直到今天,仍然是一个微内核的架构

    【OSF】
    为对抗AT&T与Sun的UI(Unix国际)联盟,由Apollo, Dec, HP,IBM组成的OSF(Open Software Foundation)开始开发开放式系统平台,希望以此领导UNIX的发展方向;
    1991年,OSF/1发布,该系统以Mach2.5为内核,实现了SMP,线程,逻辑卷,磁盘镜像,UFS,S5 FS,NFS,Stream,socket,TLI/XTI,共享库,动态加载,Motif GUI
    1994年,OSF/1.3发布,以Mach3.0为核心(微内核),支持64位

    【AIX】
    IBM的Unix,从SVR2和BSD衍生出来的Unix版本,与其他Unix版本差别较大,本身各个版本的差别也很大;S390大型机

    【HP-UNIX】
    HP的Unix版本,不同版本分别基于SVR2,SVR3.2,BSD;HP-9000(CISC),HP(700/800)RISC

    【IRIX】
    SGI的Unix版本,V4基于SVR3.2和BSD,V5.X基于SVR4;SGI工作站

    【Xenix】
    微软基于X86平台开发的Unix版本,后来授权给SCO

    【SCO UNIX】
    基于SRV3.2支持X86的Unix版本

    【GNU’s Not Unix】
    GNU Hurd基于微内核架构的系统,由于调试难度等因素进度缓慢

    【Minix】
    Andrew Tanenbaum教授发布的一个UNIX变种,主要用于教学.

    【Linux】
    芬兰学生Linus Torvalds1991年编写的opensource的OS,经过17年基于网络的松散开发,成为今天主流OS之一.

    【GNU/Linux】
    GNU与Linux的结合,目前大部分的Linux发行版都易于此.

    【Mac OS】
    以FreeBSD为基础,以Mach3.0为内核

    【Unix标准的统一】
    1993年3月,原属两派的主要Unix厂商,包括IBM、HP、USL、SUN等联合宣布成立公共开放系统环境(COSE)组织,正式宣布了两大集团的联合,标志着Unix进入了统一化和标准化的新阶段;

    【第二次UNIX版权之争】
    1992年,AT&T将Unix的专利权出售给Novell之后,Novell又再转售给SCO(Santa Cruz Operation);2001年,Linux厂商Caldera收购了SCO(Santa Cruz Operation),继承了SCO的Unix的专利权和OpenServer及UnixWare两项产品的销售权;2002年,为继续延用SCO的强势品牌,Caldera宣布改名为SCO;
    2003年6月,SCO控告IBM公司盗用SCO拥有的Unix技术并擅自植入Linux内,要求对Linux收取授权费用;IBM为生产AIX操作系统,曾于1985年2月与AT&T签订Unix许可协议。这些协议要求Unix软件代码应予保密,未经许可,不得发行或转让;
    2003年8月4日,对该事件一直保持沉默的美国红帽起诉了SCO,两天后的8月6日IBM也起诉了SCO

  3. 陈怀临 于 2008-10-14 8:44 下午

    非常好。谢谢。