www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式操作系統(tǒng)休眠喚醒后自動運行程序的方法

為了提高系統(tǒng)的啟動速度,通常采用基于休眠技術(shù)的方式來實現(xiàn)嵌入式系統(tǒng)的快速啟動[1]。例如,在一些數(shù)字電視中,采用休眠技術(shù)以后的啟動時間要比原來的啟動時間約快1/3[2]。但基于休眠技術(shù)的啟動方法有其不足之處:在保存內(nèi)存內(nèi)容時只能把內(nèi)存中的信息以快照的形式保存到磁盤或其他外部存儲設(shè)備,原來系統(tǒng)內(nèi)某些正在運行的動態(tài)進程及進程本身的執(zhí)行過程不能被完全保存下來,從而導(dǎo)致系統(tǒng)重新啟動后此部分進程不能正常運行;基于休眠技術(shù)的啟動方式一旦以快照的形式保存后其里面的內(nèi)容將無法改動。基于此,本文運用一種新方法,實現(xiàn)了基于休眠的嵌入式操作系統(tǒng)啟動后,可自動運行任何形式的目標腳本和應(yīng)用程序

 

1 休眠喚醒后程序自動運行的方法

 

最新的Linux2.6內(nèi)核都支持休眠和待機機制,PC系統(tǒng)中的實現(xiàn)方式有suspend2、swsusp、TuxOnIce等技術(shù),既可以把鏡像文件保存到交換分區(qū),也可以保存到一個文件[3]。Linux中這些休眠的具體實現(xiàn)方式有內(nèi)核方式和軟件方式兩種,但兩種方式都把休眠過程分為兩個階段:(1)SUSPEND階段:保存當前系統(tǒng)各種狀態(tài)到非易失性存儲設(shè)備并關(guān)機;(2)RESUME階段:系統(tǒng)重新啟動,引導(dǎo)后恢復(fù)已保存的狀態(tài)[4]。一般嵌入式操作系統(tǒng)的休眠過程如圖1所示,休眠后恢復(fù)過程如圖2所示。

 

 


 

 

本文提出一種基于休眠開關(guān)如圖3所示的喚醒后程序自動運行方法。此方法的系統(tǒng)整體框架分為自動執(zhí)行引擎、開關(guān)控制進程、休眠開關(guān)和配置文件4個部分。

 

1.1 自動執(zhí)行引擎

 

自動執(zhí)行引擎采用守護進程實現(xiàn)的方式。所謂守護進程就是Daemon進程,是Linux中的后臺服務(wù)程序,是一個生存期較長的進程,通常獨立于控制終端并且周期性地執(zhí)行某種任務(wù)或等待處理某些事件的發(fā)生[5]。守護進程常常在系統(tǒng)引導(dǎo)裝入時啟動,在系統(tǒng)關(guān)閉時終止。把要運行的目標腳本和應(yīng)用程序放到守護進程中,并定義一個全局變量Autoflg作為標志位。運用此模塊的目的是讓其在操作系統(tǒng)后臺運行,通過標志位實時監(jiān)控目標腳本和應(yīng)用程序的運行狀態(tài)。守護進程的整體結(jié)構(gòu)圖如圖4所示。

 

 

[!--empirenews.page--]
 

 

1.2 開關(guān)控制模塊

 

此模塊的功能是控制守護進程中的Autoflg標志位,此標志位是在守護進程中的主調(diào)函數(shù)程序中設(shè)置的,用來控制目標腳本和應(yīng)用程序的運行狀態(tài)。其具體程序框圖如圖6所示。

 

1.3 休眠模塊

 

此模塊實現(xiàn)守護進程和控制模塊之間的通信,采用系統(tǒng)調(diào)用的方式,目的是通過控制模塊的執(zhí)行來控制守護進程中標志位的變化,而這種控制是通過在內(nèi)核中插入信號傳遞模塊來實現(xiàn)。

 

1.4 配置文件

 

配置文件(即方法執(zhí)行)過程:

 

(1)執(zhí)行時首先運行守護進程,但要通過Autoflg標志位保證目標腳本和應(yīng)用程序處于不運行狀態(tài)。

 

(2)運行控制標志位函數(shù)修改Autoflg,讓其保證目標腳本和應(yīng)用程序可以運行。

 

(3)執(zhí)行快速啟動,系統(tǒng)執(zhí)行快速啟動程序同時確保保存到磁盤或其他存儲設(shè)備中的標志位是處于可以使目標腳本和應(yīng)用程序運行的狀態(tài)。

 

(4)因為基于休眠的快速啟動方法是以快照的方式把內(nèi)存內(nèi)容保存到磁盤或其他存儲設(shè)備中,并且一旦執(zhí)行,里面的內(nèi)容將無法修改,所以以后每次操作系統(tǒng)啟動時都能保證守護進程的正常運行,同時也能保證守護進程中的標志位處于能夠使目標腳本和應(yīng)用程序處于運行的狀態(tài),從而使目標腳本和應(yīng)用程序能夠正常運行。

 

(5)為了提高CPU的運行速度和整個系統(tǒng)的使用效率,本方法設(shè)置守護進程在每次啟動目標腳本和應(yīng)用程序后都自動退出。因為設(shè)置守護進程的目的就是在每次操作系統(tǒng)啟動時,使其啟動目標腳本和應(yīng)用程序,待這項工作完成以后,它的使命也隨之完成(即從系統(tǒng)的運行速度和運行效率角度來看,已沒有其存在的必要性)。

2 實驗分析

 

為了確保本文所提方法的實用性和可靠性,把其應(yīng)用到海爾數(shù)字電視上進行了驗證,并對驗證結(jié)果進行了詳細的分析。

 

實驗環(huán)境如下:

 

(1)硬件環(huán)境:MSTAR 6I98電視主板:主頻為700 MHz,內(nèi)存為512 MB,F(xiàn)lash為256 MB,總線為I2C、PCI。

 

(2)軟件環(huán)境:電視主板中運行Linux-2.6.28.9嵌入式操作系統(tǒng),串口控制臺服務(wù)器為Linux操作系統(tǒng)。

 

首先對海爾數(shù)字電視采用基于休眠的技術(shù)對其操作系統(tǒng)進行改進,實現(xiàn)數(shù)字電視的快速啟動。但當采用休眠方式啟動后,發(fā)現(xiàn)一些應(yīng)用程序(如/applications/df_

logo、/applications/bin/haier_board)都無法正常運行。對此采用ps命令行查看其進程是否存在,發(fā)現(xiàn)某些進程(如df_logo)在控制臺上有顯示,但在實際情況中不能正常運行,而有些進程(如haier_board)根本就沒有顯示。

 

經(jīng)研究表明,這些腳本或應(yīng)用程序不能正常啟動的原因是:logo文件的執(zhí)行過程或haier_board應(yīng)用程序中的一些動態(tài)界面的顯示過程在休眠時不能夠完全保存到休眠文件中,從而導(dǎo)致在休眠啟動后雖然用命令行查看這些程序的進程在控制臺上有顯示,而電視界面不能按正常的方式顯示。為了解決這個問題,把本文方法應(yīng)用到操作系統(tǒng)中,最后結(jié)果顯示:df_logo和haier_board兩個應(yīng)用程序在系統(tǒng)啟動完成后即能正常啟動運行,其效果和采用非休眠方式啟動的效果一樣,而且電視界面也能夠正常顯示。

 

實驗步驟如下:

 

(1)把不能正常運行的應(yīng)用程序和腳本文件(df_logo、haier_board)編寫成目標腳本并把它放到指定目錄下;

 

(2)編寫內(nèi)核模塊,并用系統(tǒng)調(diào)用的方式把模塊插入到內(nèi)核,用交叉編譯生成新的內(nèi)核和模塊的.ko文件;

 

(3)編寫守護進程函數(shù),并用交叉編譯生成可執(zhí)行文件;

 

(4)編寫控制模塊(控制模塊里包含可以使操作系統(tǒng)實現(xiàn)快速啟動的函數(shù)),并用交叉編譯生成可執(zhí)行文件;

 

(5)重新燒寫新的內(nèi)核;

 

(6)在/etc/init.d/文件夾的相應(yīng)文件里加一句加載上述模塊的語句,使其在系統(tǒng)每次啟動時都能夠自動加載到內(nèi)核;

 

(7)為此模塊建立設(shè)備文件;

 

(8)執(zhí)行守護進程可執(zhí)行文件,使其在操作系統(tǒng)后臺運行;

 

(9)執(zhí)行控制模塊的可執(zhí)行文件,使其在改變標志位后立即執(zhí)行快速啟動程序,從而保證系統(tǒng)以后每次重啟后都能夠自動運行目標腳本和應(yīng)用程序。

 

本文提出了一種新的方法,實現(xiàn)了基于休眠的嵌入式操作系統(tǒng)啟動后,自動運行任何形式的目標腳本和應(yīng)用程序

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉