树莓派开始,玩转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所示。
3.Linux的发行版本:
这里主要介绍在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进行处理,非常感谢!