Linux是操作系统吗?GNU/Linux又是什么?

题记:这篇博文是在阅读Richard Stallman先生的《Linux and the GNU
System》之后,并结合自己目前对Linux的认知写成的。

       相信很多IT界的学习从业者,对Linux系统这个词并不陌生,在初学大数据的时候,我的老师也跟我说Linux和windows一样是一种操作系统。后来当我开始学着用Linux系统的时候,我开始关注Linux的版本,我知道了查看版本命令分内核版本和发行版本,开始了解了我们现在接触的Linux操作界面是Linux发行版本提供的,并且Linux有很多的发行版本,在很多时候,我们不需要关注内核版本,知道发行版本就可以解决一些日常问题了。但是,当我查看Linux内核版本的时候,发现了版本号后面还跟着这样一个版本gcc version,于是我去查看了gcc的含义,了解了gcc(GNU Compiler Collection)是GNU的编译组件,里面包含了我们常用语言(java、C、C++、go等)的前端以及这些语言各自的库。

那么GNU是什么?Linux系统为什么用的是GNU的编译组件?它们有什么关系?

       带着这样的疑问,我开始真正的了解了Linux系统的由来与发展……

       GNU(GNU’s Not Unix)系统是一个类Unix操作系统,但是这个操作系统自成立以来到现在依然没有完善,它是一个完全自由的操作系统,遵循着自由软件哲学理念。
       1984年Richard Stallman先生开始写GNU系统,一个完整的操作系统是一个庞大的工程,它包含很多部分,如内核、驱动程序、支撑库(接口库)、外围(除以上三部分外的)。为了支撑GNU的开发,Stallman先生于1985年成立FSF(Free Software Foundation)自由软件基金会,它的收入来源主要来源于募捐以及对自由软件的拷贝以及服务的提供。到90年代初,GNU操作系统初具雏形,它拥有了除内核外操作系统所应该具备的一切,并且在1990年开始开发自己的内核GNU Hurd,运行在Mach(卡内基·梅隆大学的一个微内核,其衍生版本之一形成了Hurd)上,但是这个内核的开发并不顺利,到2001年才可以稳定的工作,并且还达不到可以发布公用的程度,当然这些都是后话。1991年,Linus Torvalds基于GPL协议(GNU通用公共许可证)发布了类Unix的内核Linux,并且一经发布就广受好评,但是这也仅仅是一个内核,距离成为一个完整可用的操作系统来说还用很长一段路要走。
       说到这,也许有人已经反应过来了,之前说GNU系统已经完善到只剩内核了,Linux只有内核,那么两个结合一下是不是就ok了。没错,当时他们确实也这样干了,遵循着GPL协议开发出来的Linux内核与GNU的理念完全一致,两者相互成就,虽然GNU并没有放弃继续开发其内核的计划,但是也接受了Linux的加入,但是两者的组合并不容易,在FSF的资金支持写,GNU的很多部件围绕Linux内核作了很大修改,当然,除了GNU工程和Linux内核这两个核心部分外,还有很多其他的基础性部件、程序共同组成了我们现在所熟知的Linux系统,更准确的说是GNU/Linux系统,这是一个完全自由的操作系统。之后基于这个操作系统有了很多的GNU/Linux的发行版本,这些发行版本并不都是完全由自由软件组成的,很多知名的发行版本RHFL、Centos、Fedora都包含了非自由软件。(以贡献来看,两者都很重要;以源代码的组成比例来看,GNU工程占比近30%,Linux内核3%,无可否认,GNU工程完成了大部分基础性工作)

       说到这里,相信大多数人已经明确了Linux系统的来源与发展了,我觉得在我们技术学习中,并不需要对每个知识点都“知根知底”,但有些东西如果自己有时间,也可以深入了解一下,它对于我们对这个技术的掌握、延伸是有着很大的帮助的,具体看个人啦!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值