1.为什么学习Linux开发¶

1.为什么学习Linux开发¶

1.1. Linux的应用场景¶

对于一般用户来说,因为经常接触PC、手机,可能会知道Windows、iOS、Andorid系统,

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

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

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

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

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

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

1.1.1. 服务器¶

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

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

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

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

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

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

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

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

使用成本低而且安全稳定,所以Linux在服务器使用的系统中占据了绝大多数。

感兴趣的读者可以访问Netcraft 网站 http://www.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++等编程语言,

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

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

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

相关推荐

人民日报:考古实证:中华文明五千年!
哪个电影卡套餐价格更实惠?
媲美的近义词是什么
纹身贴怎么快速去除
EarthRoamer LTi超级房车👉EarthRoamer以将大
优酷app循环播放怎样设置
汽车之家2000万先生撞死人被刑拘,曾将女员工“上墙”
iphone5手机内屏多少钱
【问问神父】224