听一个内行人讲云原生简史

作者 | 吕建伟

责编 | 寇雪芹

头图 | 下载于视觉中国

引子

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,一经查实,立即删除!

相关文章

一个连续创业者的不破不立——对话阿里云MVP蒋烁淼

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 他是公认的“湖畔第一大脑”,被王坚院士称为“云计算的试飞员”。跟他聊下来,仿佛上…

node+express项目链接MySQL数据库(最简单版)

nodeexpress项目链接MySQL数据库(最简单版) (假定你nodeexpress项目已创建完成,可参照这里) 第一步、安装mysql驱动 npm install mysql --save-dev第二部、创建数据库表 第三部、连接数据库 在app.js下写入以下代码…

阿里云量产50家独角兽前夜

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 在阿里云SaaS加速器出现前后,中国的IT史上其实出现过各式各样的加速器、训练营。究竟在加速什么?怎么…

企业微信_H5应用如何真机调试_host配置及代理相关

文章目录三、手机调试3.1. 代理软件3.2. 安装,启动3.3. 连接无线网3.4. 代理端口3.5. 手机连接无线网3.6. 设置代理3.7. 代理允许3.8. 手机企微登录3.9. 效果图3.10. 代理监控三、手机调试 手机电脑需要连接同一个无线网或者局域网 3.1. 代理软件 下载代理软件 cha…

关于容器底层,超详细的 Namespace 机制讲解

来源 | 多选参数责编 | 寇雪芹头图 | 下载于视觉中国NamespaceLinux Namespace 是 Linux 提供的一种内核级别环境隔离的方法。这种隔离机制和 chroot 很类似,chroot 是把某个目录修改为根目录,从而无法访问外部的内容。Linux Namesapce 在此基础之上&…

从零入门Serverless|一文搞懂函数计算及其工作原理

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 什么是函数计算? 大家都了解,Serverless 并不是没有服务器,而是开发者不再需要关心服务器…

在线视频面试业务融合阿里云,助您找到心仪好工作

“您好,可以听到吗?“ “……. 您…好,我…这里画面卡顿….了!” “…..不好意….思,能重复一下您刚才的描述吗吗吗,没听太清….楚…………..” “哎,感觉这次又糊了,这已经是我的第…

HbuilderX中 真机调试 Android IOS

文章目录一、Android二、IOS2.1. 运行到IOS2.2. 打开调试模式一、Android HbuilderX中 Android 真机调试 二、IOS 2.1. 运行到IOS 2.2. 打开调试模式

终于有人把Python讲清楚了!!

从事Python开发的这些年中,我见过很多相关的教程和书籍,他们大都这样讲 :先介绍 Python 的基本语法规则、list、dict、tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等IO操作.... 就这样一点一点往下说…

浪迹天涯的骨灰级开源爱好者——对话阿里云MVP吴晟

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 吴晟是我见过最“浪”的程序员,喜欢买买买,热爱公路自驾。格子间拘不住他向往自由的…

2019-12-31

2019.12.31 天气:晴 地点:杭州 今天是2019年的最后一天,就用这篇博客来记录一下这一年的历程吧。 时间很快,它从指缝中悄悄划过的时候,我们好似毫无感觉,突然又一年就过去了,大学四年的生活也随…

高科技护航“史上最严”高考

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 人脸识别验证身份、无线电测控车上街、无人机高空巡考……这些平时人们生活中的高科技,将使用到即将到来的高考中…

腾讯云~安装MinIO

文章目录1. 下载安装2. 安全策略组3. 访问控制台https://docs.min.io/docs/minio-quickstart-guide.html1. 下载安装 wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod x minio vim start-minio.sh# 这个是新版的,把后台管理设置为9111端口&…

一文详解Serverless架构模式

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 什么是 Serverless 架构?按照 CNCF 对 Serverless 计算的定义,Serverless 架构应该是采用 FaaS&#…

0 改造,让单体/微服务应用成为 Serverless Application

作者 | 陈涛(毕衫)责编 | 寇雪芹头图 | 下载于视觉中国天然云原生的 Serverless1. 云原生时代随着 2013 年以 Docker 为代表的容器技术、CNCF 基金会以及 K8s 的发展等,云原生开始被广大开发者所熟知。云原生时代之前还有两个阶段&#xff1a…

vmware虚拟机为何和主机网段不一样 电脑 虚拟机 手机同一网段

NAT 改为“桥接”,即直接连接到物理网络,这样虚拟机和物理主机就处于在同一网段了 电脑ip 虚拟机 手机网络

汽车产业云上多地域高可用消息系统构建

汽车产业互联网平台大搜车由姚军红创立于2012年12月,先后获得阿里巴巴集团、蚂蚁金服、晨兴资本、华平投资、春华资本等机构超过12亿美元融资。2017年12月,大搜车列入由硅谷全球数据研究机构PitchBook评选的“2017年全球新晋独角兽”名单。 目前&#x…

一文带你初识---虚拟dom

好久没有来博客了,疫情期间3月中旬从杭州实习公司辞职,在杭州的出租房呆了两个月,准备毕设和毕业相关的材料,顺便找新的工作。最终还是留在了魔都这座城市。现在也算稳定下来了,准备以后好好维护一下博客。第一篇文章就…

漫画通信:一图看懂通信发展史

原文链接 本文为云栖社区原创内容,未经允许不得转载。

为什么要使用 Kubernetes 准入控制器

Kubernetes 准入控制器是什么?为什么要使用准入控制器?如何使用?本文对 Kubernetes 准入控制器进行了详细解释。来源 | K8sMeetup作者 | Arun Prasad头图 | 下载于视觉中国Kubernetes 控制平面由几个组件组成。其中一个组件是 kube-apiserver…