资讯详情

野火i.MX Linux开发实战指南

本章主要从Linux应用场景、程序员技能学习、职业方向 讨论为什么需要学习Linux如何学好发展和发展Linux对开发提出了一些建议。

服务器是指提供网页服务器、文件等计算服务的设备 服务器、数据库服务器、电子邮件服务器、域名服务器和代理服务 器等。可以说我们在互联网上的所有操作,背后都是在跟服务 处理工具。例如,我们访问网页、网上购物、微信聊天、运行网络 所有需要网络才能正常进行的应用,如游戏、观看在线视频等。 以服务器为支撑。

从单板电脑到计算机集群,服务器电脑到计算机集群。事实上,你 正在使用的个人电脑,安装相应的服务软件,通过网络提取其他计算机 为了提供资源,它变成了服务器。服务器的本质也是计算机,只是通过 它们通常没有显示器,也不需要鼠标键盘

在商业应用中,服务器运行的操作系统主要包括Linux、Windows和UNIX,其中 由于Linux系统开源,使用成本低,安全稳定Linux在服务器使用的系统中占据了绝大多数。

感兴趣的读者可以访问Netcraft 网站 http://www.netcraft.com,可以查询 在其他网站上运行的操作系统如下图所示。

未找到图片<img src='https://web.ruidan.com/images/aritcle/20220728/94d6b79c38bb4dae4891ccd72a3f83f1.png' alt='未找到图片</p>    <p>特别是,超级计算机也是全球特殊服务器TOP计算机运行的操作系统为500Linux。</p>    <h3><a id='112__241.1.2. 嵌入式设备</h3>    <p>嵌入式设备是Linux该系统的另一个主战场也是本书的主战场 要讲解的Linux应用方向。嵌入式设备的定义模糊,但基本上是PC、集群 排除服务器和超级计算机后,如果有处理器(包括<a target=微控制器等),则按设定程序运行 大多数电子设备可分为嵌入式设备。

嵌入式设备种类繁多,包括日常生活中的手机、智能手表和各种设备 工业应用包括电力系统监控、环境 监控、工业机器人、智能快递柜、手持POS机器、地铁门系统、停车场管理、卫星、月球车等。

从嵌入式设备的类型可以看出,它们的应用场景是碎片化的,它们的内部 部门的电子系统通常对设备的功能进行特殊控制。不使用部分嵌入式设备 操作系统;部分使用freeRTOS实时操作系统;其他高性能嵌入式设备 使用Linux系统。使用Linux系统的嵌入式设备,往往是Linux系统的以下特点:

  • 嵌入式设备使用各种处理器,Linux系统支持运行x86、ARM、PowerPC、MIPS在不同平台的处理器上等待。
  • 由于代码开源,可切割,非常适合定制特定场景。Linux内核和文件系统可以实现50MB这可以节省硬件资源和成本。
  • 支持各种编程语言、类库、编程框架,如python、java、C 编程语言言,Opencv、TensorFlow使用等级库和框架freeRTOS直接支持实时操作系统往往很困难。
  • 可直接使用音乐播放器、数据库等现成应用。
  • 强大的网络功能使编写需要网络的应用程序非常方便。

服务器运维工程师主要负责在服务器上建立运行环境,使服务器应用程序更高效、稳定、安全地运行。如安装操作系统、部署代码操作环境、修复漏洞、监控服务器压力、分析日志等。

设备驱动,其本质也是软件程序,但它介于硬件与操作系统之间的层次,是硬件与操作系统之间的桥梁,具体见下图。

不使用操作系统或小型实时操作系统(如freeRTOS)对于与硬件相关的设备驱动 程序和应用程序往往混合在一起,所以驱动程序和应用程序往往没有严格的区别,这也导致了 在更换硬件平台时,很难移植应用程序。

使用了Linux操作系统将接管系统设备的硬件。Linux哲学系统的重要设计 学习是一切文件。包括硬件设备在内的系统也是一个文件,因此系统应用于上层 序提供open、write、read、close对于统一的文件操作接口,应用程序可以使用这些接口 访问设备文件,实现硬件设备的初始化和写作 入、读、关等操作。

当系统收到应用程序的这些访问请求时,它会向下查询相应设备的具体操作函数,然后调整 对不同设备的具体操作函数采用相应的函数处理请求。因此,设备驱动 移动是将硬件与操作系统连接起来的程序,Linux系统将提供统一的格式,并由设备驱动 工程师根据具体设备的系统格式要求实现相应的 设备操作函数。

本书主要讲解嵌入式设备驱动开发。对于志于应用软件开发的工程师,也可以通过本书 内容掌握Linux对应用开发也有很大的好处。

Next Previous

我们立足于树莓派的开发方式,借鉴其一系列先进的设计理念和软件架构,力求为电子爱好者提供强大、好用的DIY平台, 各种无拘无束的想法都很容易实现。同时,所有的软件和芯片手册都将被开源,对嵌入式感兴趣linux业内人士对各种软件架构和驱动程序进行了深入研究,以清除障碍。