2021-10-08

为什么要学Linux

在讲课时,我经常会问同学们一个问题:“为什么学习Linux系统?”很多学生会脱口而出:“因为Linux系统是开源的,所以要去学习。”其实这个想法是完全错误的!开源的操作系统少说有100个,开源的软件至少也有10万个,为什么不去逐个学习?所以上面谈到的开源特性只是一部分优势,并不足以成为您付出精力去努力学习的理由。

对普通用户来讲,开源共享精神仅具备锦上添花的效果,我们更加看重的是,Linux系统是一款优秀的软件产品,具备类似UNIX系统的程序界面,并继承了其良好的稳定性。而且,开源社区也在源源不断地提供高品质代码以及丰富的第三方软件支持,能够在高可用性、高性能等方面较好地满足工作需求。

当然,大多数读者应该都是从微软的Windows系统开始了解计算机和网络的,因此肯定会有这样的想法“Windows系统很好用啊,而且也满足日常工作需求呀”。客观来讲,Windows系统确实很优秀,但是在安全性、高可用性、高性能方面却难以让人满意。您应该见过下面这张图片。虽然蓝屏不是经常可以看到的,但若这样的“事故”发生在生产环境中则是绝对不敢想象的。

第0章 咱们先来谈谈为什么要学习Linux系统第0章 咱们先来谈谈为什么要学习Linux系统

大家可以讨论一下,为什么要在需要长期稳定运行的网站服务器上、在处理大数据的集群系统中,以及需要协同工作的服务器环境中采用Linux系统呢?

还有一个更极端的应用场景—全球超级计算机竞赛。每年全球会评选出计算峰值速度最快的500台超级计算机,其中包括美国的Summit、Sierra和中国神威·太湖之光、天河二号等超级计算机。截至本书写作时,这些超级计算机无一例外采用的都是Linux操作系统。

为了能更清晰地比较Linux和Windows具体的差别,我们进行了简单归纳,如下图所示。这些差别是由刘遄老师凭借工作经验总结出来的,或许您现在不完全认同,但没关系,您可以在学习中慢慢感受。

第0章 咱们先来谈谈为什么要学习Linux系统第0章 咱们先来谈谈为什么要学习Linux系统

坦白来讲,每位投身于Linux行业的技术人或者程序员只要听到开源项目就会由衷地感到自豪,这是一种从骨子里带有的独特情怀。开源企业不单纯是为了利益,而是互相扶持,努力服务好更多的客户。开源社区更是与全球用户唇齿相依,任何人都可以贡献自己的代码与灵感,任何人也都可以从开源社区中受益。如此良性循环下来,开源软件便具备了4大关键性优势。

低风险:使用闭源软件无疑把命运交付给他人,一旦封闭的源代码没有人来维护,您将进退维谷。而且相较于商业软件公司,开源社区很少存在倒闭的问题。并且,源代码一旦公布于世,任何人或组织都可以接手进行新的维护工作。

高品质:相较于闭源软件产品,开源项目通常是由开源社区来研发及维护的,参与编写、维护、测试的用户数量众多,一般的bug还没有等暴发就已经被修补。另外,在灵感不断碰撞、代码不断迭代的交流氛围中,程序员也不可能将“半成品”上传到开源社区中。

低成本:开源工作者大多都是在幕后默默且无偿地付出劳动成果,为美好的世界贡献一份力量,因此使用开源社区推动的软件项目可以节省大量的人力、物力和财力。

更透明:没有哪个笨蛋会把木马或后门代码放到开源项目中,这样无疑是把自己的罪行暴露在阳光之下,很容易被他人发现。

读到这里,相信大家已经基本熟悉了刘遄老师的写作特点(但不是讲课特点)—能用一句话讲清的事情,绝不会造出一段话。这样的好处非常明显:首先是找出重点逐个讲解,这样使得段落不再冗长;其次是配上了大量相关的图片,看起来非常有乐趣,并且能够让您一眼就找到最重要的知识和干货。接下来,我将用几段话来总结Linux系统的发展历程,不会赘述太多,请大家留心每个时间点即可。

我们从1965年开始讲起。当时,为了解决服务器的终端连接数量的限制和处理复杂计算的问题,贝尔(Bell)实验室、通用电气(GE)公司以及麻省理工学院(MIT)决定联手打造一款全新的操作系统—MULTICS(多任务信息与计算系统)。但由于开发过程不顺利,遇到了诸多阻碍,后期连资金也出现了短缺现象,最终在1969年,随着贝尔实验室的退出,MULTICS也终止了研发工作。而同年,MULTICS的开发人员Ken Thompson使用汇编语言编写出了一款新的系统内核,当时被同事戏称为UNICS(联合信息与计算系统),在贝尔实验室内广受欢迎。

1973年时,C语言之父Dennis M. Ritchie了解到UNICS系统并对其非常看好,但汇编语言有致命的缺点—需要针对每一台不同架构的服务器重新编写汇编语言代码,才能使其使用UNICS系统内核。这样不仅麻烦而且使用门槛极高。于是Dennis M. Ritchie便决定使用C语言重新编写一遍UNICS系统,让其具备更好的跨平台性,更适合被广泛普及。开源且免费的UNIX系统由此诞生。

但是在1979年,贝尔实验室的上级公司AT&T看到了UNIX系统的商业价值和潜力,不顾贝尔实验室的反对声音,依然坚决做出了对其商业化的决定,并在随后收回了版权,逐步限制UNIX系统源代码的自由传播,渴望将其转化成专利产品而大赚一笔。崇尚自由分享的黑客面对冷酷无情的资本力量心灰意冷,开源社区的技术分享热潮一度跌入谷底。此时,人们也不能再自由地享受科技成果了,一切都以商业为重。

第0章 咱们先来谈谈为什么要学习Linux系统第0章 咱们先来谈谈为什么要学习Linux系统

面对如此封闭的软件创作环境,著名的黑客Richard Stallman在1983年发起了GNU源代码开放计划,并在1989年起草了著名的GPL许可证。他渴望建立起一个更加自由和开放的操作系统和社区。之所以称之为GNU,其实是有“GNU’s Not Unix!”的含义,这暗戳戳地鄙视了一下被商业化的UNIX系统。但是,想法和计划只停留在口头上是不够的,还需要落地才行,因此Richard便以当时现有的软件功能为蓝本,重新开发出了多款开源免费的好用工具。在1987年,GNU计划终于有了重大突破,Richard和社区共同编写出了一款能够运行C语言代码的编译器—gcc(GNU C Compiler)。这使得人们可以免费地使用gcc编译器将自己编写的C语言代码编译成可执行文件,供更多的用户使用,这进一步发展壮大了开源社区。随后的一段时间里,Emacs编辑器和bash解释器等重磅产品陆续亮相,一批批的技术爱好者也纷纷加入GNU源代码开放计划中来。

在1984年时,UNIX系统版权依然被AT&T公司死死地攥在手里,AT&T公司明确规定不允许将代码提供给学生使用。荷兰的一位大学教授Andrew(历史中被遗忘的大神)为了能给学生上课,竟然仿照UNIX系统编写出了一款名为Minix的操作系统。但当时他只是用于课堂教学,根本没有大规模商业化的打算,所以实际使用Minix操作系统的人数其实并不算多。

芬兰赫尔辛基大学的在校生Linus Torvalds便是其中一员,他在1991年10月使用bash解释器和gcc编译器等开源工具编写出了一个名为Linux的全新的系统内核,并且在技术论坛中低调地上传了该内核的0.02版本。该系统内核因其较高的代码质量且基于GNU GPL许可证的开放源代码特性,迅速得到了GNU源代码开放计划和一大批黑客程序员的支持,随后Linux正式进入如火如荼的发展阶段。Linus Torvalds最早发布的帖子内容的截图如下。

第0章 咱们先来谈谈为什么要学习Linux系统第0章 咱们先来谈谈为什么要学习Linux系统

  Hello everybody out there using minix -

  I'm doing a (free) operating system (just a hobby, won't be big and
  professional like gnu) for 386(486) AT clones.  This has been brewing
  since april, and is starting to get ready.  I'd like any feedback on
  things people like/dislike in minix, as my OS resembles it somewhat
  (same physical layout of the file-system (due to practical reasons)
  among other things).

  I've currently ported bash(1.08) and gcc(1.40), and things seem to work.
  This implies that I'll get something practical within a few months, and
  I'd like to know what features most people would want.  Any suggestions
  are welcome, but I won't promise I'll implement them :-)

                Linus torvalds

Linux系统的吉祥物名为Tux,是一只呆萌的小企鹅。相传Linus Torvalds在童年时期去澳大利亚的动物园游玩时,不幸被一只企鹅咬伤,所以为了“报复”就选择了这个物种作为吉祥物。这个故事是否可信无从考证,但万幸是只企鹅,而不是老虎或者狮子,否则就不是换个Logo这么简单的事了。

1994年,红帽(Red Hat)公司创始人Bob Young在Linux系统内核的基础之上,集成了众多的常用源代码和程序软件,随后发布了红帽操作系统并开始出售技术服务,这进一步推动了Linux系统的普及。1998年以后,随着GNU源代码开放计划和Linux系统的继续火热,以IBM和Intel为首的多家IT巨头企业开始大力推动开放源代码软件的发展,很多人认为这是一个重要转折点。2012年,红帽公司成为全球第一家年收入10亿美元的开源公司,后来是20亿、30亿……不断刷新纪录。

时至今日,Linux内核已经发展到5.6版本,衍生系统也有数百个版本之多,它们使用的都是Linus Torvalds开发维护的Linux系统内核。红帽也成为开源行业及Linux系统的领头羊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值