作者 | 吕建伟
责编 | 寇雪芹
头图 | 下载于视觉中国
引子
1999年,发生在我自己身上的几件事:
1、买了两张盗版光盘:Sun Solaris OS、红帽Linux。
2、正在用COM+、MTS,开发三层架构的局域网内的大型企业商用套件,由Windows客户端、中间层中间件、后台SQLServer数据库构成。
3、自己尝试基于WebSphere,开发三层架构的互联网的企业应用,由浏览器Web(HTML/CSS/JavaScript)、JSP/servlet、EJB中间件、Oracle 数据库构成。我1997年学习Java,但一直没尝试开发点什么。
Unix
1964年,IBM发布划时代的System360大型主机,里面包含了System/36O操作系统,这个操作系统可以说是人类计算机史上第一个操作系统,也真正做到了多用户、多计算存储环境隔离、多分时。
在那个年月,IT产业刚刚开启,很多工业时代的巨头都想进入信息时代。如通用电气、霍尼韦尔等等,也都设计制造计算机。为了对抗IBM,通用电气出钱,产学研联合,1964年联合AT&T贝尔实验室、MIT麻省理工学院一起搞一个操作系统,这就是Multics。
但是由于IBM太厉害了,横扫市场。1970年,通用电气退出竞争,不干计算机业务了,所以也不资助这个项目了。
贝尔实验室搞Multics项目的这帮人就开始无所事事了。于是,ken Tphmpson和Dennis Ritch这两个人就开始瞎折腾。1971年,ken Tphmpson在一台废弃的DEC PDP-7小型机上用汇编语言花了一个月时间仿照Multics开发了简化的、能够在老旧性能的小型机上运行的操作系统。这就是UNIX。
1973年,Dennis Ritch感觉用汇编开发太麻烦了,于是他就从一个已经存在了很久的B语言做了改良,就叫它C语言,然后就用C语言重新开发了一版,这就是UNIX第三版。1974年,他们俩对外发了一篇文章,外界这才知道了有个东西叫UNIX。
由于当时贝尔实验室的母公司AT&T正处于被反复K反复要搞反垄断的时候,所以AT&T当时被美国裁定不能销售除电话电报以外任何商品。因此,1975年,贝尔实验室搞了一个开源教学版Unix,高校可以免费学习。此后,各大公司也开始研究这份开源代码。
1978年,还在伯克利大学上学、后来的SUN公司的创始人Bill Joy,在高校开源教学版UNIX第六版的开源代码基础上进行改造,这就是大名鼎鼎的UNIX伯克利软件分发版本,简称BSD。
1979年,最后一个开源教学版Unix第七版发布以后,AT&T宣布UNIX不再开源。AT&T专门成立了一个独立公司:USG(Unix Support Group),准备将 Unix商业化。但AT&T能想到的招儿就是保留著作权和商标权,卖商业化的Unix源代码。
1982年,HP买了UNIX商业源代码,改造成了自己的HP-UX操作系统。1984年,IBM买了UNXI商业源代码,改造成了自己的AIX操作系统。
1982年,Sun公司成立,Bill Joy在BSD的基础上开发了Sun公司的Unix商用版本,这就是后来的Solaris。
1976年,乔布斯成立苹果公司。1977年推出AppleII,这是人类历史上第一台个人电脑(简称PC)。1985年,乔布斯被赶出苹果公司后,在硅谷到处寻找好的东西想重建辉煌。他遇到了一家创业小公司叫NeXt.Inc,这帮人正是想造乔布斯最想要的最强劲的电脑。1989年,NeXT电脑发布。它也是从BSD开源代码中发展出了操作系统。后来,乔布斯重返苹果,把苹果公司的操作系统废掉,用了NeXT的操作系统,这就是后来的Mac OS。
1977年,盖茨把微软公司搬到西雅图,继续开发BASIC编程语言。1979年,SCO公司成立,并且和微软进行合作,基于Unix第七版,移植到Intel 当时1978年推出的最新的8088 CPU上。这就是后来的世界上第一个PC上的Unix:Xenix。
1980年,IBM受苹果公司个人电脑的压力准备搞开放兼容个人电脑,就想采取微软开发的第一个PC上的Xenix。但当时Xenix还涉及到SCO合作开发的版权问题,于是盖茨耍了一个花招,就从市面上买了一个操作系统,这就是后来大名鼎鼎的MS-DOS。1987年,SCO买下了微软工程师开发的那一部分Xenix代码,SCO完全拥有了Xenix。
1984年,AT&T被拆分,贝尔实验室由于获得不了资助也开始衰落。1993年,Novell买下了Unix的所有资产。Novell是世界上第一个提出网络操作系统、文件服务器的公司,曾经把微软打的很厉害。但是微软在1993年推出了Windows NT一雪前仇。1995年,Novell顶不住了,也开始想着怎么榨干Unix最后一滴血。1995年,Novell模仿AT&T做法也把Unix源代码卖给了SCO。后来SCO和Novell都宣称拥有Unix的资产权。
这场官司从2004年打到2007年,Novell也不知道官司能不能胜利,于是Novell在2004年并购了一家德国的Linux发行公司SUSE。所幸的是,后来法官裁定Novell获胜。
SUSE是Linux。Linux是芬兰Linus在1990年上学时上操作系统课,因为要交课堂作业,自己就尝试写了点东西,后来他觉得自己也能写个操作系统,于是就产生了Linux。当时因为AT&T已经不再给高校开源Unix,所以荷兰教授Tanenbaum自己搞了一个教学用的操作系统,这就是Minix。Linus上操作系统课,老师用的教学系统就是Minix。Linus开发Linux时也是靠Minix启发了不少思路。1994年初,Linux1.0发布。
不过,我们这里讲的Linux其实是操作系统内核。Linux操作系统内核之上的东西,都是各个Linux发行公司在搞。业界有一个开源组织叫GNU,它也在开源的Linux发行版,在Linux内核上集成了当时许多开源软件,其中就有伊利诺伊大学开源组织搞的apache Web Server。
Linux生逢其时。1994年刚推出来,世界互联网热潮就爆发了。大家都想创业搞互联网,但是Unix和Windows NT这些商业操作系统都很昂贵。Linux开源、免费、不涉及Unix版权,而且GNU搞的开源Linux发行版里还有Apache Web Server,正好搭建网站。现在,LAMP组合还是绝配:Linux、Apache Web Server、MySQL、PHP。
中间件
80年代,局域网、互联网都发展的方兴未艾。互联互通成为人们的普遍诉求。所以,Novell、Sun公司都提出网络操作系统概念。
上节提到,Sun公司的联合创始人Bill Joy也是BSD的核心人物。BSD给Unix业界最重要的贡献就是:TCP/IP的实现,为了解决网络之间的互联互通。现在各大操作系统中的TCP/IP实现代码,根源都来自于此。
Bill Joy太厉害了,他还在Sun公司于1984年搞出了一个新玩意,那就是:PRC(远程过程调用),也用于解决应用程序之间的互联互通。
1986年,IEEE(电气与电子工程师协会)介于Unix版本太多,不好互联互通,于是搞了一个开放作业系统标准,这就是POSIX。但IEEE有点类似学术组织,不是工程组织,制定了标准没人执行。1993年,从AT&T买下Unix资产的Novell也想解决Unix之间在操作系统层面的互联互通,于是Novell联合大家,如买了Unix源代码的HP、IBM等,成立了一个组织——X/Open,专门负责POSIX标准定义和业界推广、落地执行,让各大操作系统厂商都遵守POSIX标准。
这个1993年成立的X/Open组织,后来在1996年和Open Software Foundation合并,成为了The Open Group。Open Software Foundation是IBM和HP这起子购买了Unix商用源代码的厂商们在1986年就成立的一个组织,也是一直试图想在工程界解决POSIX落地的问题。现在Unix的正主Novell领头搞了X/Open,两个组织从职能目标和参加厂商来说大多重叠,所以这两个组织就合并了。
咱们再说一个组织,那就是对象管理组织OMG,它由Sun、IBM、HP等厂商在1989年组建。The Open Group组织是为了在操作系统层面解决互联互通,而OMG组织是为了在应用层面解决互联互通。大家可别忘了,Sun公司这人可是既实现了TCP/IP,也实现了RPC(远程过程调用)。
OMG组织首先在1990年发布了CORBA标准。里面有几个好东西:
1、IDL:中立的文本可描述的接口语言
2、对象请求代理:ORB
3、网络互联互通:RPC、TCP/IP、UDP、IIOP
4、服务:目录服务、注册服务、事务服务、消息服务、事件通知服务、安全服务
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515562.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!