作者 | 吕建伟

责编 | 寇雪芹

头图 | 下载于视觉中国

引子

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.taodudu.cc/news/show-1096843.html

相关文章:

  • 终于有人把Python讲清楚了!!
  • 0 改造,让单体/微服务应用成为 Serverless Application
  • 为什么要使用 Kubernetes 准入控制器
  • 一目了然的 Docker 环境配置指南
  • 深度思考 Spring Cloud + Alibaba Sentinel 源码原理
  • 俯瞰云原生,这便是供应层
  • 小困惑,关于 Serverless 函数计算的字体安装
  • 13种重要的云原生工具,让交付过程更快
  • 云原生安全厂商小佑科技完成数千万Pre-A轮融资
  • 到底谁在使用低代码?钉钉低代码用户画像:非IT人员占8成
  • 从开源视角分析,搞定边缘计算云原生方案选型
  • 征战云时代,如何捍卫企业数据安全?
  • 携程发布2020年财报:四季度营业利润率10% 疫情以来连续两季度盈利
  • 未来,边缘计算的功能支柱是 Kubernetes
  • Mendix:低代码平台四大常见用例开发
  • 三探云原生全景图,这次聊聊运行时层
  • 妥了!微服务治理的困难,用 Serverless 来解决
  • 上手 Docker 容器,不应该是个问题
  • 锐捷发布极简以太全光解决方案 打造“不一样”的全光网
  • 无法恢复,欧洲云服务巨头数据中心起火
  • 128核云原生新力作:Ampere® Altra® Max性能参数公布,提升50%!
  • Kubernetes 稳定性保障手册(极简版)
  • 一招上手!这样设计扛住亿级流量活动系统
  • 三个月前被 K8S 弃用,Docker 火了!获 2300 万美元融资
  • 《2021中国数据资产化工具市场研究报告》隆重发布
  • 从程序员到上市公司合伙人,怎么少踩坑?
  • 干货!Redis集群工作原理解析
  • 万字长文梳理:从0开始,步入Service Mesh微服务架构的世界
  • 上市之后,青云存储平台QingStor也要“进军”云原生
  • 一文看懂5G射频的“黑科技”

听一个内行人讲云原生简史相关推荐

  1. 如何开发一个标准的云原生应用?

    从几个数字开始说 IDC 预计到 2024 年,由于采用了微服务.容器.动态编排和 DevOps 等技术,新增的生产级云原生应用在新应用的占比将从 2020 年的 10% 增加到 60%,其中微服务的 ...

  2. NeuVector 会是下一个爆款云原生安全神器吗?

    近日一则<SUSE 发布 NeuVector:业内首个开源容器安全平台>的文章被转载于各大 IT 新闻网站.作为 SUSE 家族的新进成员,在 3 个月后便履行了开源承诺,着实让人赞叹.那 ...

  3. 云原生人物志 | Pulsar翟佳:社区的信任最重要

    云原生已无处不在,<云原生人物志>是CSDN重磅推出的系列原创采访,我们关注云原生中每一个技术人.公司的身影.知微见著,窥见云原生价值与趋势. 编辑 | 宋 慧 出品 | CSDN云计算 ...

  4. 乱中有变,云原生从“大爆发”说起 | CSDN人物志

    [编者按]云原生已无处不在,<云原生人物志>是CSDN重磅推出的系列原创采访,我们关注云原生中每一个技术人.公司的身影.知微见著,窥见云原生价值与趋势. 2021新年之初,来听听Tetra ...

  5. 疫情中的2021,云原生会走向哪里

    头图 | 付费下载于视觉中国 翻译 | Daixiang(华为云原生团队) 查看全文 http://www.taodudu.cc/news/show-1096860.html 相关文章: " ...

  6. KubeVela 正式开源:一个高可扩展的云原生应用平台与核心引擎

    [来源:阿里巴巴云原生公众号] 美国西部时间 2020 年 11 月 18 日,在云原生技术"最高盛宴"的 KubeCon 北美峰会 2020 上,CNCF 应用交付领域小组(CN ...

  7. 每一个企业都能成为新云原生企业

    点击上方关注我们! 互联网企业一定是云原生企业吗? 不一定! 生于云.长于云的企业就一定是云原生企业吗? 并不完全! 那么,什么样的企业才能称之为云原生企业呢?云原生的概念一直处于不断变化.演进之中, ...

  8. 袜子商店应用:一个云原生参照应用

    本文要点 袜子商店应用始于一个简单的演示应用,之后发现它十分有用,最终演化成一个完全容器化的.云原生参照应用. 该应用混合使用了Go.Java.Spring以及Node.js.它拥有完整的持续集成和发 ...

  9. 什么是云原生?有哪些发展方向?终于有人讲明白了

    导读:Cloud Native:云原生.我们今天一起来聊一下,到底什么是云原生?以及这个领域的一些发展方向.此文来自陈耿老师的视频文字整理.(视频见文末) 作者:陈耿 来源:大数据DT(ID:hzda ...

最新文章

  1. 移位操作提高代码的可读性_本地记录或类,以提高流操作的可读性
  2. c# 字节十六进制转十进制_用C中的十进制,八进制和十六进制数字初始化字节数组...
  3. spring----注解
  4. Alibaba Sentinel 限流与熔断初探
  5. kafka消息确认机制
  6. 小米:近期发现5件恶意抢注批量申请Redmi商标事件
  7. 【Elasticsearch】Elasticsearch filter和query的不同
  8. 常用的系统架构 web服务器之iis,apache,tomcat三者之间的比较
  9. 23. 客户默认选项(Default Customer Options)
  10. linux下重启tomcat,日志查看
  11. 【SQL】Case语句的用法实例
  12. 什么是web app
  13. windows同步linux用户,用winbind实现windowsPDC和linux系统的帐号同步
  14. 双排四点接触球转盘轴承的有限元分析
  15. 导出CAD文件的几种方法
  16. 排序算法分析归纳总结
  17. 苹果换芯简史:芯片如何改变苹果的电脑产品线?
  18. 什么是“ parentalcontrolsd”,为什么它在我的Mac上运行?
  19. [JZOJ1901] 【2010集训队出题】光棱坦克
  20. 机器学习入门案例:鸢尾花数据集分类 绘制PR曲线

热门文章

  1. leetcode45 --- jump
  2. leetcode 112 --- 二叉树根节点到叶子节点和为指定值的路径
  3. minitab怎么算西格玛水平_16:三因子二水平全因子实验设计和MINITAB应用训练
  4. android与web服务器建立连接失败,Android websocket连接失败
  5. bootstraptable导出excel独立使用_使用 EasyPOI 优雅导出Excel模板数据(含图片)
  6. php箱子,webshell箱子php版本.rar
  7. 中英翻译机c语言实验报告引言,课程设计--C语言关键字中英翻译机.doc
  8. windows 映射文件会释放内存吗_Windows系统共享内存管理
  9. 这回真要涨工资了!国务院教育督导办:2020年把义务教育教师平均工资收入水平不低于当地公务员作为督导检查重点...
  10. AI算法连载10:统计之k 近邻法