杨明东
(广州海格通信集团股份有限公司,广东广州,510663)
嵌入式产品领域中,linux自身具有良好的优势,所以在嵌入式开发的操作系统中具备更好的应用。实施linux系统下的高级编程,不能忽略的一项内容就是进程。其属于一个运行的过程,即能够并发执行的以及具有良好独立功能的程序,在数据集合上面实施运行所产生的过程,作为一种基本单位,进程实施分配以及保护操作系统资源。相较于传统常规的程序而言,进程是针对系统,并非跟用户产生一定的联系。进程属于动态的实体,存在生命周期。
嵌入式linux为遵循嵌入式操作系统要求标准的小型操作系统,其能够在很多的硬件平台实施应用。在很多年前,便已经把linux移植到多种硬件平台中,并且对于受到各种因素影响的研究以及开发项目具备更高的吸引力。原型能够于标准的平台进行开发,之后在具体的硬件设备上进行移植,也相对的推动开发软件以及硬件的过程。linux应用统一框架管理硬件,在硬件平台向着其他硬件平台实施改动时,不会关联于上层的应用情况。另外,linux能够进行随意的配置,能够免费的获得到源代码。因此,linux做操作系统不会产生版权纠纷等问题,大大的减少开发费用。嵌入式系统对于网络支持所提出的要求标准不断的提升,linux高度模块化能够让添加的部件也相对容易。
大部分人在进行linux编程的学习时,具有认知上面的误差问题,往往具有采取多线程更具有优势的观点,认为多线程更迅速于多进程,具备较高的准确度,但是这种观念是明显不正确的。当前网络上普遍的将多进程比喻为立体交通系统,尽管具有高昂的价格,同时具有上坡下坡多耗点油的情况,但是不会出现堵车的弊端问题。多线程为一种平面交通系统,具有较低的成本支出,但是也具有红绿灯较多以及常常产生堵车的问题。根据实际的情况来看,这一比喻具有一定的恰当性。线程以及进程分别存在不同的优势、缺陷问题。
在多线程中,彼此会应用同样地址空间,对于诸多的数据信息实施共享,所以启动一个线程应用的空间,通常会比启动一个进程应用的空间要小的多。同时线程之间进行相互的切换时间,也相对更短,同进程间切换应用到的时间相比具备明显的差异性。而且线程之间通信机制良好,具备便捷、通常的通信。但是,不能忽略的问题就是,线程具有一定的限制性,即仅能在2GB地址空间内,而且线程之间具有相对繁琐的同步和加锁控制情况,一个线程一旦产生故障问题,则也许能够对于全部运行程序的平稳性构成严重的影响;在多进程中,进程间是不会进行数据信息的共享的,无锁问题,而且拥有更加简单的结构。如果一个进程出现了故障,则不会对于全部的程序运行构成影响以及威胁,所以具备良好的可靠性。另外,各进程存在2GB地址空间以及有关的资源,可以获得最佳的性能。并且经有效的将CPU增加以后,会将性能进一步的扩充以及施展。所以,通过进行严密的分析之后,显示出实施编程期间,需要严格的遵循实际情况,科学的判断各方面内容,最终评估应用哪一种方法是最佳的方案。
发出linux系统命令的基础上,依照要求输入进相关的内容,主要包括以下的几方面:#cd /home、#mkdir process、#vi process.c;将vi编辑器打开,将以下的几项程序进行输入:#include
将#gcc-o process process.c、#./process命令输入到linux系统的命令中,最终得到的结果为:[root @loca lhos jsj]#./process、hello!、hello!、t、the key t is a process.、hello!、hello! 、e、the key e is a process.、hello!、hello!、q、wait child process [root @loca host jsj]#。充分的确保程序./process于平稳顺利运行期间,从linux新建标签,采取ps aux 命令观察,结果显示在窗口内存在两个进程同一时间在一起运行。所以,此种程序能够做到模拟多进程程序,而且建立在 linux基础上。
本研究提出的linux下多进程程序设计方案具有良好的实用性,得到理想的运行成效。在研究linux 系统中编程时,应用多进程具有重要的意义。在未来的研究中,会获得更多先进、科学的结论。
参考文献
[1]李长才.基于嵌入式Linux视频图像采集及其无线传输的研究[D].苏州科技大学,2017.
[2]张错玲,孙宝法.嵌入式linux多进程应用程序的设计与实现[J].电脑知识与技术,2017,13(14):81-82.
[3]桑耀辉.面向应用程序运行时行为的Android恶意应用检测系统的研究与实现[D].北京邮电大学,2017.
[4]屈鹏.基于ARM和Linux的嵌入式智能家居网络视频监控[D].天津理工大学,2017.