简述Linux内核和Linux发行版的区别.DNY版

  做服务器运维工作,要经常和Linux的版本号打交道,但一直搞不明白Linux内核和Linux发行版到底是个啥东西。其实要理解Linux内核和Linux发行版之间的关系,只要能理解下面的关系就可以了:

  1.类似于游戏引擎《虚幻4》和游戏《绝地求生》之间的关系。没有虚幻4这款引擎,就没有绝地求生的游戏,但是有了虚幻4这款引擎,可以开发各种各样的游戏。

  2.类似于汽车的核心三大件(发动机、变速箱、底盘)和宝马汽车之间的关系。汽车最重要的东西就是发动机、变速箱、底盘,宝马汽车和奔驰汽车可能用的都是同样的发动机,但是宝马汽车和奔驰汽车的外观是完全不一样的。

  3.类似于电脑的核心硬件(CPU、内存、硬盘、主板、显卡)和戴尔电脑之间的关系。不管是联机的电脑,还是戴尔的电脑,CPU都是Intel或者AMD的。

  4.类似于安卓系统和华为手机或者说和华为手机操作系统之间的关系。三星、华为、小米、Vivo这些手机的操作系统都是安卓的操作系统,除去手机硬件的外观不说,在操作使用上就存在差异。并且同是华为的品牌,手机型号不同,使用的安卓的内核版本号也不相同。

  简单的说,内核就是内部的核心的东西,大家的内核都是一样的,发行版对应的则是外部的东西,例如功能、特性、外观、操作啊,大家的发行版都是不一样的。

  Linux内核是Linux操作系统创始人主持的网站www.kernel.org上发布的操作系统的最基本的那些东西。Linux发行版则是在前述那些东西的基础上添加了一些工具、软件,构成的一套庞大复杂的操作系统。虽然内核都是一样的,但添加部分各不相同,这就构成了不同的发行版本。Linux本身指的是一个操作系统内核,只有内核是无法直接使用的。我们需要的是可以使用的操作系统,是一个包含了内核和一批有用的程序的一个集合体,这个就是Linux发行版。其中,Ubuntu、RedHat就是Linux的不同的发行版。


外延1:既然内核这么牛逼,那么Linux的内核长啥样儿,干啥的?

参考1:https://www.cnblogs.com/yuanqiangfei/p/10225202.html

  文中给出了Linux内核的整体架构。根据内核的核心功能,Linux内核提出了5个子系统,分别负责如下的功能:1. Process Scheduler,也称作进程管理、进程调度。2. Memory Manager,内存管理。3. VFS(Virtual File System),虚拟文件系统。4. Network,网络子系统。5. IPC(Inter-Process Communication),进程间通信。

  到此打住,不再继续研究Linux内核了,否则偏离了文章的主题,而且Linux内核这方面的知识也不是一两天就能掌握的。

外延2:既然Linux有内核,那么Windows有内核么?

参考2:https://www.cnblogs.com/skyer/p/8608113.html

  Windows显然也是有内核的说法的,只不过一个内核版本对应一个发行版本。说到这我真要吐槽一把Linux的版本问题,做服务器运维,经常遇到因为Linux的版本不同,导致应用程序死活装不上,库文件版本号死活对不上,依赖包死活找不到......这些一提起来就让人恶心的问题。

外延3:Linux内核版和发行版之间大致是怎么一种联系?

参考3:https://www.jianshu.com/p/f96880637e42

  通过上面的解释,当我们的头脑里能区分出内核版和发行版的概念之后,再看两者之间的关系,就很清晰了。

外延4:如何查看Linux内核版本号和发行版本号?

参考4:https://blog.csdn.net/haiziccc/article/details/90203967

  查看操作系统版本一般有三个命令:

  1. lsb_release -a,适用于所有Linux发行版

  2. cat /etc/redhat-release,适用于Redhat

  3. cat /etc/issue,适用于所有Linux发行版

  查看系统内核版本一般有两个命令:

  1. cat /proc/version

  2. uname -a

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容