树莓派开始,玩转Linux12:Linux真身

树莓派开始,玩转Linux12:Linux真身

我们经常用”Linux”来指代整个Linux操作系统。但对于不同人来说,”Linux”指代的含义又有所区别。说到托瓦兹写了Linux系统,意思是说他写了Linux的内核。而说到安装Linux系统,大多数时候是指安装了Linux的一个厂商版本。首先来区分描述Linux的几个关键名词:内核、GNU和厂商版本。

1.什么是内核:

Linux系统有狭义和广义两种定义。
狭义来说,Linux实际上指Linux内核(kernel)。
广义来说,Linux是指以内核为基础的,包括了各种应用软件在内的Linux发行版(Distribution)。如果不加区分地说Linux系统,就很容易造成混淆。
Linux系统可以简单地区分为内核程序和应用程序两个部分。

内核程序在Linux启动后就一直运行着。这个程序有权调配所有的计算机资源:运算资源、存储资源、接口资源等。内核会根据应用程序的需求,提供实现应用程序所需的资源。从这个角度看,内核就好像服侍应用程序的”大内总管”。当然,内核也不是一味迎合,它还有一套调配资源的规则。如应用程序提出无理需求,那么内核也会毫不犹豫地拒绝。托瓦兹编写的Linux系统,实际上只有Linux内核。他所开源的,也正是Linux内核的代码。

内核程序之外的就是应用程序。应用程序只有在内核启动后才会运行。大多数的应用程序必须经用户调用才可以启动。当然,用户不一定要手动调用。就拿开机时来说,内核启动后会运行一个初始化脚本,调用常用的应用程序,比如bash或图形化桌面。每个应用程序都能实现某用户需要的功能,比如作为网络浏览器的Firefox、作为邮件客户端的Thunderbird、作为多媒体播放器的VLC。一个运行中的Linux系统,往往同时运行着多个应用程序。内核管理着这些应用程序。内核会给每个应用程序独立的内存空间和运算时间,从而让应用程序可以同时运行。不同的应用程序有不同的权限,以便调用不同级别的内核功能。当多个应用程序调用同一个硬件设备,如打印机时,内核必须决定其优先级,以免出现多个应用程序同时打印在一张纸上的混乱情况。无论如何,没有任何应用程序可以像内核一样全面掌控计算机资源。

内核程序和应用程序的区分并非Linux独有的,大多数现代的操作系统都会有此结构。当然,我们也可以制作一个操作系统,允许应用程序直接调用计算机资源。这样还可以省去运行内核程序的开销,应用程序甚至可以达到更高的运行效率。很多功能简单的嵌入式系统,如智能手环等硬件设备,就是这么做的。
但在一个多用户多应用程序的复杂系统中,内核的缺失会带来很多问题。一个应用程序对计算机资源的调用很可能影响到其他的程序。缺了内核的中心调度,程序之间会相互干扰,整个系统混乱不堪。内核与应用程序的关系,如图1所示。

树莓派开始,玩转Linux12:Linux真身
按照创始人理查德·斯托曼(Richard Stallman)的计划,GNU系统应该包括内核和应用程序。当托瓦兹写出Linux内核时,GNU已经孵化了很多好用的开源应用程序,并且已经在多个UNIX平台上得到广泛使用。这些应用程序包括了C语言编译器gcc、作为Shell的bash、文本编辑器nano等。因为这些应用程序都是按照UNIX接口编写的,所以很容易移植到Linux系统上。因此,托瓦兹在发布Linux内核时,也在Linux环境下编译了GNU的应用软件,来提高Linux系统的可用性。在绝大多数Linux系统上,GNU软件都成了一个必不可少的组成部分。
另一方面,Linux内核的迅速流行,也让GNU放弃了自己的内核开发计划。不过,尽管Linux内核和GNU关系密切,但两者并没有真正合为一体。
因为主导内核开发的Linux基金会,和主导GNU开发的自由软件基金会,是两个独立的组织。Linux内核和GNU对开源软件的态度,也有不小的差异。不少GNU阵营的程序员认为,GNU软件对Linux贡献巨大,因此Linux应改名为GNU/Linux但托瓦兹认为,内核程序和GNU应用程序是两个不同层面上的独立产物,没有必要混为一谈
但这种闹哄哄的吵嚷并不影响Linux内核和GNU程序在用户那里实质性的共存。
这也正是开源运动的魅力所在。尽管整个开源运动分裂为数不清的软件项目,
但用户总可以根据自己的需要来组合使用。

3.Linux的发行版本:

即使有了内核和GNU软件,Linux的安装和编译并不是简单的工作此外,对于商用的Linux来说,后期维护也让人头疼。所谓的厂商就是一些Linux服务商。
他们提供Linux运行所需的额外服务,从而让客户可以更容易地使用Linux系统。
Linux操作系统在很多专业领域应用广泛,这些厂商基于其提供的服务可以赚取丰厚的利润。
Linux厂商一般都提供咨询和维护服务。
咨询服务可以帮你分析Linux是否适合你的业务和应用,以及如何更好地在你的工作流程中使
用Linux。
维护服务则包括了安装、故障排查、升级等,从而让Linux系统可以长期稳定运行。为了便于服务这些厂商会在Linux内核和GNU的基础上,开发自己的软件并调整配置,以便更好地进行客户支持。
最终,厂商会把软件和配置整合在一起,形成发行版
大部分用户使用的都是厂商提供的发行版。这些发行版极大地提高了系统的易用性。
Linux服务市场有不少大玩家。
红帽早已是上市公司。IBM是Linux设备最大的供应商,同时它的咨询业务很大一部分也来源于提供Linux相关的支持。
我们所熟知的Android操作系统是Google提供的一个发行版。
树莓派的Raspbian,也是由树莓派官方提供的一个发行版。

这里主要介绍在PC上比较流行的Linux发行版。首先是三大家族。
1.红帽家族
红帽公司自20世纪90年代创立以来一直是最重要的Linux厂商之一。1999年,红帽公司上市,成为Linux的著名商业案例。直到今天,红帽依然是Linux厂商中规模最大的一家。
· Red Hat Linux:大名鼎鼎的红帽Linux,现在已经完结,其后的几个Linux版本都以此为基础。
· Red Hat Enterprise:企业级的红帽Linux,主要面向服务器。作为商业版,它有比较好的配套软件和技术支持。它的教材也堪称经典。
· Fedora:由社区维护,去除了一些商业软件。红帽实际上赞助了这个项目,以便以此作为技术测试平台。
· CentOS:这个版本虽然不来自红帽公司,但它由红帽公司公开的源码组成。CentOS是免费版本,由社区维护,和红帽完全兼容。
CentOS版本升级较慢,所以适合不愿意频繁升级的情况。因此,
CentOS在多用户服务器上应用较广。

2.SUSE家族
SUSE由德国公司SUSE Linux推出。由于最初服务于德国市场,所以SUSE在欧洲比较流行。SUSE系列比较有特色的是YaST2软件。YaST2有图形化界面,主要用于设置和管理SUSE系统,对初级的Linux用户来说比较方便。
· SUSE Linux Enterprise:商业版本,和红帽商业版类似。
· openSUSE:SUSE的免费版本。以前SUSE不是很重视这个免费版本,支持不好。现在SUSE官方对该版本的态度大大转变,支持力度增加了很多。但就笔者个人的使用体验来说,还是觉得社区支持不足。
3.Debian家族
Debian是最早的Linux发行版本之一。这个家族的Linux版本都以社区维护为基础,具有非盈利的倾向。其中的Ubuntu等已经开始了一些商业尝试,但并没有因此影响到免费用户的体验。
· Debian:完全免费,社区维护的Linux版本,有很大的用户群,所以遇到问题,基本都可以找到社区用户的支持。
· Ubuntu:由一个基金提供支持的免费Linux版本。它继承自Debian,界面友好。对于初次在PC上安装Linux的用户来说,这是最适于安装的版本。
· Mint:基于Ubuntu。它提供了更加丰富的预装应用,以减少用户搜索并安装应用的麻烦。其使用的应用版本比较新,可能不是很稳定。
· Raspbian:和Ubuntu一样,Raspbian继承自Debian。它是由树莓派官方推出的发行版,对树莓派有很好的支持。
除了上面提到的三大家族外,Linux还有如下版本。
· Gentoo:基于源码的版本,给用户很大的自由度。为用户提供大量应用程序的源码,可以在用户的系统上重新编译建造,需要一定的系统配置知识。
· ArchLinux:推崇简洁,避免不必要和复杂的修改,是一个轻便灵活的版本,其配置文件有良好的注释。
· Mandriva:一个很方便用户使用的版本,其目标是使新用户更容易使用Linux。
· Slackware:它的特点是稳定。它只包含稳定版本的应用程序,对于初级用户不是很友好。
· TurboLinux:在亚洲比较流行。它是商业版本,提供技术支持和咨询服务。
Linux发行版本数目众多,这里介绍的只是市面上常见的版本。如果想了解更多,可以在DistroWatch网上查询。该网站不但提供了各个发行版的介绍,还会发布它们的最新消息。
本章区分了Linux经常与混用的几个名词:内核、GNU和发行版本。尽管人们有时不加区分地把它们统称为Linux,但这三者的含义差别很大。了解了三者的区别,才能听明白别人说的是哪一个Linux。

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux24881 人正在系统学习中

来源:哒宰的自我修养

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月25日
下一篇 2021年3月25日

相关推荐