国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式linUX多進程應用程序的設計與實現(xiàn)

2018-04-15 11:07:28楊明東
電子測試 2018年8期
關鍵詞:線程進程嵌入式

楊明東

(廣州海格通信集團股份有限公司,廣東廣州,510663)

0 引言

嵌入式產(chǎn)品領域中,linux自身具有良好的優(yōu)勢,所以在嵌入式開發(fā)的操作系統(tǒng)中具備更好的應用。實施linux系統(tǒng)下的高級編程,不能忽略的一項內(nèi)容就是進程。其屬于一個運行的過程,即能夠并發(fā)執(zhí)行的以及具有良好獨立功能的程序,在數(shù)據(jù)集合上面實施運行所產(chǎn)生的過程,作為一種基本單位,進程實施分配以及保護操作系統(tǒng)資源。相較于傳統(tǒng)常規(guī)的程序而言,進程是針對系統(tǒng),并非跟用戶產(chǎn)生一定的聯(lián)系。進程屬于動態(tài)的實體,存在生命周期。

1 linux作為嵌入式操作系統(tǒng)的重要優(yōu)勢

嵌入式linux為遵循嵌入式操作系統(tǒng)要求標準的小型操作系統(tǒng),其能夠在很多的硬件平臺實施應用。在很多年前,便已經(jīng)把linux移植到多種硬件平臺中,并且對于受到各種因素影響的研究以及開發(fā)項目具備更高的吸引力。原型能夠于標準的平臺進行開發(fā),之后在具體的硬件設備上進行移植,也相對的推動開發(fā)軟件以及硬件的過程。linux應用統(tǒng)一框架管理硬件,在硬件平臺向著其他硬件平臺實施改動時,不會關聯(lián)于上層的應用情況。另外,linux能夠進行隨意的配置,能夠免費的獲得到源代碼。因此,linux做操作系統(tǒng)不會產(chǎn)生版權糾紛等問題,大大的減少開發(fā)費用。嵌入式系統(tǒng)對于網(wǎng)絡支持所提出的要求標準不斷的提升,linux高度模塊化能夠讓添加的部件也相對容易。

2 多進程與多線程介紹

大部分人在進行l(wèi)inux編程的學習時,具有認知上面的誤差問題,往往具有采取多線程更具有優(yōu)勢的觀點,認為多線程更迅速于多進程,具備較高的準確度,但是這種觀念是明顯不正確的。當前網(wǎng)絡上普遍的將多進程比喻為立體交通系統(tǒng),盡管具有高昂的價格,同時具有上坡下坡多耗點油的情況,但是不會出現(xiàn)堵車的弊端問題。多線程為一種平面交通系統(tǒng),具有較低的成本支出,但是也具有紅綠燈較多以及常常產(chǎn)生堵車的問題。根據(jù)實際的情況來看,這一比喻具有一定的恰當性。線程以及進程分別存在不同的優(yōu)勢、缺陷問題。

在多線程中,彼此會應用同樣地址空間,對于諸多的數(shù)據(jù)信息實施共享,所以啟動一個線程應用的空間,通常會比啟動一個進程應用的空間要小的多。同時線程之間進行相互的切換時間,也相對更短,同進程間切換應用到的時間相比具備明顯的差異性。而且線程之間通信機制良好,具備便捷、通常的通信。但是,不能忽略的問題就是,線程具有一定的限制性,即僅能在2GB地址空間內(nèi),而且線程之間具有相對繁瑣的同步和加鎖控制情況,一個線程一旦產(chǎn)生故障問題,則也許能夠?qū)τ谌窟\行程序的平穩(wěn)性構(gòu)成嚴重的影響;在多進程中,進程間是不會進行數(shù)據(jù)信息的共享的,無鎖問題,而且擁有更加簡單的結(jié)構(gòu)。如果一個進程出現(xiàn)了故障,則不會對于全部的程序運行構(gòu)成影響以及威脅,所以具備良好的可靠性。另外,各進程存在2GB地址空間以及有關的資源,可以獲得最佳的性能。并且經(jīng)有效的將CPU增加以后,會將性能進一步的擴充以及施展。所以,通過進行嚴密的分析之后,顯示出實施編程期間,需要嚴格的遵循實際情況,科學的判斷各方面內(nèi)容,最終評估應用哪一種方法是最佳的方案。

3 linux下的多進程程序設計方案

發(fā)出linux系統(tǒng)命令的基礎上,依照要求輸入進相關的內(nèi)容,主要包括以下的幾方面:#cd /home、#mkdir process、#vi process.c;將vi編輯器打開,將以下的幾項程序進行輸入:#include 、#include //標準庫的頭文件、#include 、#include //等待進 程中斷或結(jié)束、int main(void)、{、intpid;、int status;int c;、pid = fork();//fork()函數(shù)經(jīng)系統(tǒng)調(diào)用形成同原有進程基本上具有一致性的進程,pid表示fork函數(shù)返回的值。之后,輸入 進 if(pid< 0)、{printf("fork error! ");、exit(1);//exit(0)表示進程正確返回值}、else if(pid == 0)、{for(;;)、{ printf("hello! ");、sleep(3);//進程等待時間函數(shù)、}、}else、{ for(;;)、{ c = getchar();、if(c =='q')、{ kill(pid, SIGKILL);//終止pid進程、break;、}、else if(c != ' ')、printf("The key %c is pressed ",c);、}、printf("wait child process ");、waitpid(pid,&status, 0);、}、return 0;、}。這種程序是采取C語言進行編寫的一種基于linux形式下的多進程程序。

4 多進程實驗的結(jié)果情況

將#gcc-o process process.c、#./process命令輸入到linux系統(tǒng)的命令中,最終得到的結(jié)果為:[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于平穩(wěn)順利運行期間,從linux新建標簽,采取ps aux 命令觀察,結(jié)果顯示在窗口內(nèi)存在兩個進程同一時間在一起運行。所以,此種程序能夠做到模擬多進程程序,而且建立在 linux基礎上。

5 結(jié)語

本研究提出的linux下多進程程序設計方案具有良好的實用性,得到理想的運行成效。在研究linux 系統(tǒng)中編程時,應用多進程具有重要的意義。在未來的研究中,會獲得更多先進、科學的結(jié)論。

參考文獻

[1]李長才.基于嵌入式Linux視頻圖像采集及其無線傳輸?shù)难芯縖D].蘇州科技大學,2017.

[2]張錯玲,孫寶法.嵌入式linux多進程應用程序的設計與實現(xiàn)[J].電腦知識與技術,2017,13(14):81-82.

[3]桑耀輝.面向應用程序運行時行為的Android惡意應用檢測系統(tǒng)的研究與實現(xiàn)[D].北京郵電大學,2017.

[4]屈鵬.基于ARM和Linux的嵌入式智能家居網(wǎng)絡視頻監(jiān)控[D].天津理工大學,2017.

猜你喜歡
線程進程嵌入式
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
搭建基于Qt的嵌入式開發(fā)平臺
淺談linux多線程協(xié)作
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
Altera加入嵌入式視覺聯(lián)盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
我國高等教育改革進程與反思
Linux僵死進程的產(chǎn)生與避免
Linux線程實現(xiàn)技術研究
阳信县| 萍乡市| 通州区| 长治市| 海原县| 红河县| 越西县| 泗洪县| 阜康市| 吴川市| 天气| 揭西县| 精河县| 崇仁县| 铜梁县| 工布江达县| 仙游县| 株洲县| 平武县| 当雄县| 岳池县| 嘉鱼县| 遂平县| 涟源市| 醴陵市| 扎赉特旗| 彭州市| 开化县| 克山县| 太保市| 仙桃市| 太谷县| 江油市| 通化县| 龙陵县| 运城市| 娄底市| 合作市| 镇远县| 晋宁县| 台南县|