firemail
标题: deepin 前世今生(内核) [打印本页]
作者: Qter 时间: 2023-1-24 09:20
标题: deepin 前世今生(内核)
一、缘起Linux
在了解Linux的发展史之前,先明确一下 Linux发行版的概念:
上世纪60年代,美国军方由通用电气和麻省理工合作开发一套单任务系统。1965年贝尔实验室加入后,开始研发多用户、多任务系统。1970年,Unix操作系统于贝尔实验室诞生,Unix 最初免费发布并因此在大学里受到欢迎。
然而,AT&T发现了其中的商业价值,为了私有化Unix,AT&T开始起诉其他Unix发行商,要求其他Unix新内核里面,不能有与AT&T占有的Unix相同的C语言代码,并因此发起Unix版权大战。
科研机构一直在尝试写一套不受AT&T代码控制的方法,直到Minix成功。Minix是由Andrew Tanenbaum教授开发的,一款用于教学目的的类Unix操作系统。虽然Minix打破了AT&T的垄断,但是由于Minix被用于教学,Andrew 教授为了保持简单优雅,拒绝添加额外的功能,并且性能低下(微内核),很多人尝试修改Minix内核。
1991年,Linus(Linux之父)在赫尔辛基大学接触 Unix,他也想在自己的电脑上运行Unix,以Minix为原型,开发出了Linux的内核。1991年10月5号,Linus将内核源代码发布到社区。由于采用开放源代码的方式,使得黑客们(hacker)可以修改源代码,引得众多高水平黑客的加入,使得Linux迅猛发展。
Linux祖师爷,Git发明者--linus,图源:TED
然而,操作系统的运行只有一个内核是远远不够的,这就不得不提到Linux历史上另一个项目--Richard M.Stallman领导的GNU计划(The GNU Project):旨在开发一个类似Unix 并且是自由软件的完整操作系统。
GNU领袖Richard M.Stallman,图源百度
Stallman也想打破AT&T的垄断,领导GNU尝试打造一个完全自由的操作系统。到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。一系列运行环境开发出来,但是内核却一直难产--直到Linux内核横空出世。Linux内核与GNU计划一拍即合:将GNU的运行环境搭载到Linux内核上。因此,Linux操作系统又被称为 GNU/Linux 操作系统。
此消彼涨。Unix深陷版权大战,Linux却在迅猛发展,导致了Unix的没落。(见拓展阅读3)
有了内核和运行环境,Linux的才得以施展魅力,吸引全球开发者定制发行版。
Linux发行版简史:
1992,世界上第一个Linux发行版--MCC Interim Linux 在英国诞生,解决了fdisk和统一的软件安装来源的问题。同年,Softlanding Linux System(SLS)诞生,绑定了TCP/IP协议和X窗口。
1993年,众多发行版鼻祖--Debian诞生,是一个秉承Linux和GNU的开放精神的发行版。
1994年,德国数学系大学生开发出本土Linux发行版--S.u.S.E,后发展为OpenSUSE。同年,Red Hat在美国诞生,一个为企业提供服务的付费发行版。
1999,完全中文内核的发行版--蓝点,由中国程序员邓煜、廖生苗和李凌开发。同年,一个没有预编译的二进制包的发行版在美国诞生--Enoch Linux,即后来的Gentoo。也在1999年,自主产权的国产操作系统--红旗Linux有中科院软件研究所开发。
2002年,一个更轻量,更简单的发行版--Arch Linux在美国诞生.
2003年,CentOS发布,一个基于红帽的给系统管理员使用的免费发行版。同年,红帽的社区版发布--Fedora。
2004年,专门针对桌面的Debian衍生版--Ubuntu,由南非程序员Mark Shuttleworth开发。
。。。
为了捋清各大发行版之间的关系,我特意制作了一个思维导图:
linux就像星星之火,很快燎遍了全球。
2004年一颗火种落在了中国,一个叫冷罡华的手中。从此,长出了中国最大的发行版--Deepin。
二、deepin壮大
在开始正式聊Deepin之前,先来简单了解一下Deepin的发展史:
Deepin项目分为两个阶段:Hiweed阶段(04-08年)和Deepin阶段(09年至今),而这两个阶段分别对应两位创始人的名字:Hiweed--冷罡华,Deepin--刘闻欢。
是的,深度的名字就是两位创始人的英文名。
注:以下英文名以首字母大写表示项目,首字母小写表示创始人
Hiweed时期--星星之火
世纪之交,政府扶持国产操作系统,也鼓励民营企业开发拓展。而刚大学毕业的刘闻欢(Deepin)和冷罡华(Hiweed),也想做出属于国人自己的Linux系统。但刘闻欢认为时机还不成熟,跑到北京参与创建绿盟,为日后积蓄力量。而冷罡华则沉醉其中,工作之余开发出Hiweed。
2004年7月22日,Hiweed Linux发布,它是中国第一个基于 Debian 的本地化版本。
Hiweed早期的 0.x版本都是冷罡华的个人试验作品,2005年3月23日,社区用户@ ericneon 在linuxsir论坛上发帖,正式组建ubuntu中文组。核心成员即为Hiweed小组。标志着Hiweed的发展由冷罡华单打独斗转变到团队协作。
由于Hiweed是一群爱好者开发,即使团队协作,更新仍然很慢,04年到08年只更新了5个版本。兴趣开发和商业化运作,大概是Hiweed和Deepin最大的不同。Hiweed在缓慢演进着,直到那件事发生。
Deepin时期--可以燎原
众所周知,Deepin是一个Linux发行版。然而,Deepin却是做Windows XP精简(盗版)起家。
2001年11月9日,Windows XP中文版 在中国发售,XP带来多项升级。但家庭版1498元的售价(数据来源)让当时的消费者无法承受。借助于Ghost(一款数据备份软件),一些技术人员将win XP精简之后封装到Ghost中,拿到市面上售卖。由于市场需求强烈,形成了专业团队,其中包括番茄花园,萝卜家园,雨林木风和深度。
2008年,微软开始打击盗版XP,番茄花园创始人被抓入狱,其他几家团队纷纷转型。深度选择与 Hiweed合作,推出 Linux Deepin。与深度合作后,Hiweed部分成员退出,Deepin继续探索Linux,研发资金则靠刘闻欢自掏腰包。
Hiweed Linux项目更名为Linux Deepin的原因,其一是因为与深度社区合作,其二是hiweed(冷罡华)听到有人说,在英语里面,weed(雪茄烟)含有毒品的意思。
2011年,武汉深之度科技有限公司(简称:深度科技)成立,组建了专职研发团队进行开发。说到这里,就不得不提深度史上一位极富魅力的开发者--王勇,也被深粉称为老王。
王勇的个人经历很丰富,具体详见他的博客:我人生的前28年。他是深度第一位全职开发者,也是深度科技联合创始人,2016年6月离开深度。另外提一句,我是在简书看了他的博客才了解到Deepin的,除了技术,他的产品能力也很强,对开源世界有很强的预见性。
深度科技刚刚成立的时候,开源社区对中国人做Linux发行版仍然有很大质疑:是不是又一个国外换皮骗政府钱的发行版?深度做个主题能叫发行版吗?
而王勇则是带着团队从头开始做:11年做自己的软件中心(第一个深度软件),为了解决软件的英文介绍,号召网友一段一段翻译。13年为了有自己的技术积累, Deepin12.12搭载自研的深度桌面环境(Deepin Desktop Environment,简称DDE)。从11年开始自造轮子,打造Deepin生态。
为了解决当时Linux下精品应用少的问题,深度采用三种方法解决:
- 自造轮子,深度软件中心,深度截图,深度终端等等
- deepin-wine项目,包括主流应用:QQ,微信,钉钉等等(deepin-wine项目造福整个Linux行业)
- 和国内软件厂商共同开发Linux应用:搜狗输入法(13年),有道词典(15年),网易云音乐(16年)。
深度一步一个脚印,逐渐获得开源社区和用户的认可。
2013年,美国“棱镜门”爆发,系统安全引起政府高度重视。次年,Deepin进入中央政府采购名单。当时资金链面临断裂的 Deepin也获得绿盟和360的8000万注资。
与很多人(我自己)以为的深度顺风顺水不同,在获得8000万注资前,公司一直很拮据。研发资金靠刘闻欢的其他项目维持,团队只有投入没有产出,以至于税务机关一度怀疑他们涉嫌洗钱,而上门检查。王勇也将深度定义为“创业公司”,公司甚至接过外包项目。
15年以后的故事就众所周知了,深度集中精力将Deepin15打磨了5年,体验非常棒,我也是在Deepin15.11入的坑。19年联合 国内其他发行版推出UOS,定位商业用途。
至2020年12月,deepin全球真实用户超过了100万,拥有8个海外社区,在40多个国家拥有135个镜像站点(数据来源)。深度也从冷罡华单枪匹马的星星之火,到如今燎遍世界,为开源世界贡献自己的力量。
三、知识点
Linux的起源史和Deepin发展史讲完了,最后我们来学习一下什么是内核吧?
是什么?
内核:内核是操作系统中应用连接硬件设备的桥梁。
能做什么?
对于一个现代的操作系统来说,它的内核至少应该提供以下 4 种基本能力:
- 管理进程、线程(决定哪个进程、线程使用 CPU);
- 管理内存(决定内存用来做什么);
- 连接硬件设备(为进程、和设备间提供通信能力);
- 提供系统调用(接收进程发送来的系统调用)。
参考资料:
拓展阅读:
拓展视频:
The mind behind Linux|Linus Torvalds --Youtube(科学上网观看)
特别感谢:
社区用户:@ ericneon,作为早期Hiweed成员,向我讲述了那段鲜为人知的历史。
欢迎光临 firemail (http://www.firemail.wang:8088/) |
Powered by Discuz! X3 |