楊明東
(廣州海格通信集團股份有限公司,廣東廣州,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.