1.为什么学习Linux开发¶

admin 1232 2026-06-17 01:54:57

1.1. Linux的应用场景¶

对于一般用户来说,哪怕经常接触PC电脑、手机,也可能只知道Windows、iOS、Andorid系统。

对Linux系统却知之甚少,主要原因为Linux的应用场景主要是服务器和嵌入式设备。

Linux系统在直面消费者的桌面系统领域中并不占据优势。不过,从某种程度来说,

Android系统也属于Linux的一种,毕竟它是基于Linux内核进行开发的,

只是由于它规避了Linux的开源协议,所以不被Linux社区接纳。

Linux的应用场景主要是由其特点所决定的,其特点主要有:开源、安全、稳定、网络功能强大、

支持多种不同平台的处理器。

1.1.1. 服务器¶

服务器是指提供计算服务的设备,如网页服务器、文件服务器、数据库服务器、邮件服务器、

域名服务器和代理服务器等。可以说我们在互联网上的所有操作,背后都是在跟服务器打交道。

例如我们访问网页、网上购物、微信聊天、运行网络游戏、观看在线视频等一切需要联网才能正常运行的应用,

其背后都是由服务器作为支撑。

服务器的实体各种各样,小到单板电脑,大至计算机集群。实际上你所使用的个人电脑,

在安装上对应的服务软件后,通过网络给其它计算机提供资源时,它也可以变身成为一个服务器。

服务器的本质也是计算机,只是通常来说它们没有显示器,也不需要鼠标键盘。

在商业应用中,在服务器运行的操作系统主要有Linux、Windows及UNIX,其中由于Linux系统开源、

使用成本低且安全稳定,所以大多数企业都会选择Linux来进行服务器的开发工作。

感兴趣的读者可以通过访问Netcraft网站(https://sitereport.netcraft.com)

查询到其它网站是运行在什么操作系统上的,具体见下图。

可以查询到绝大部分知名网站都运行在Linux系统之上,包括微软官网:www.microsoft.com。

而国内的一些银行官网则通常使用的是Windows Server系统。

特别地,超级计算机也是特殊的服务器,目前全球TOP500的计算机运行的操作系统几乎都是Linux。

1.1.2. 嵌入式设备¶

嵌入式设备是Linux系统的另一个主战场,本书主要讲解其Linux应用方向。

嵌入式设备的定义比较模糊,不过基本上只要把PC、集群服务器、超级计算机排除后,

具有处理器(包括微控制器、微处理器等)的,按设定程序运行的电子设备大都可以归类为嵌入式设备。

嵌入式设备种类非常丰富,包括日常生活中的手机、智能手表、各种家电、玩具、路由器、车载电子系统,

工业应用中的电力系统监控、环境监测、工业机器人、智能快递柜、手持POS机、

地铁闸机系统、停车场管理、卫星、月球车等。

从嵌入式设备的种类就可以知道它们的应用场景是碎片化的,

它们内部的电子系统一般会针对设备的功能做专用的控制。部分嵌入式设备不使用操作系统;

部分使用freeRTOS等实时操作系统;而另一部分高性能的嵌入式设备则使用Linux系统。

使用Linux系统的的嵌入式设备,往往是看中Linux系统的如下特性:

嵌入式设备使用的处理器多种多样,而Linux系统支持运行在x86、ARM、PowerPC、

MIPS等不同平台的处理器上。

代码开源,可裁剪,非常适合针对特定场景进行定制,裁剪后的Linux内核加上文件系统可以做到50MB以内,

这能够节省硬件资源和成本。

能够良好的支持各种编程语言、类库、编程框架,如python、java、C/C++等编程语言,

以及Opencv、TensorFlow等类库和框架,使用freeRTOS等实时操作系统往往很难做到直接支持。

应用程序丰富,如音乐播放器、数据库等现成的应用可以直接使用。

网络功能强大,使得编写需要联网的应用程序非常方便。

上一篇
下一篇
相关文章