嵌入式作業系統休眠喚醒後自動運行程序的方法

2021-01-04 電子產品世界

為了提高系統的啟動速度,通常採用基於休眠技術的方式來實現嵌入式系統的快速啟動[1]。例如,在一些數位電視中,採用休眠技術以後的啟動時間要比原來的啟動時間約快1/3[2]。但基於休眠技術的啟動方法有其不足之處:在保存內存內容時只能把內存中的信息以快照的形式保存到磁碟或其他外部存儲設備,原來系統內某些正在運行的動態進程及進程本身的執行過程不能被完全保存下來,從而導致系統重新啟動後此部分進程不能正常運行;基於休眠技術的啟動方式一旦以快照的形式保存後其裡面的內容將無法改動。基於此,本文運用一種新方法,實現了基於休眠的嵌入式作業系統啟動後,可自動運行任何形式的目標腳本和應用程式。

本文引用地址:http://www.eepw.com.cn/article/148374.htm


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


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





本文提出一種基於休眠開關如圖3所示的喚醒後程序自動運行方法。此方法的系統整體框架分為自動執行引擎、開關控制進程、休眠開關和配置文件4個部分。


1.1 自動執行引擎


自動執行引擎採用守護進程實現的方式。所謂守護進程就是Daemon進程,是Linux中的後臺服務程序,是一個生存期較長的進程,通常獨立於控制終端並且周期性地執行某種任務或等待處理某些事件的發生[5]。守護進程常常在系統引導裝入時啟動,在系統關閉時終止。把要運行的目標腳本和應用程式放到守護進程中,並定義一個全局變量Autoflg作為標誌位。運用此模塊的目的是讓其在作業系統後臺運行,通過標誌位實時監控目標腳本和應用程式的運行狀態。守護進程的整體結構圖如圖4所示。



linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

linux作業系統文章專題:linux作業系統詳解(linux不再難懂)

linux相關文章:linux教程


相關焦點

  • 怎樣解決Win10系統休眠喚醒變自動重啟問題
    Win10系統電腦在長時間無人使用的情況下,會自動進入休眠狀態。而在休眠喚醒後,我們仍可以保留原來打開的程序。不過,有時用戶也會遇到Win10系統休眠喚醒變自動重啟問題,在重啟後我們原來打開的程序(比如網頁、QQ)就會被關閉,感覺很是不便。這該怎麼辦呢?下面,小編就分享解決Win10系統休眠喚醒變自動重啟問題的具體方法。
  • 電腦休眠與喚醒故障診斷
    喚醒時啟動  現象:進入休眠狀態後,使用鍵盤或滑鼠喚醒時,機器隨即重新啟動。  方法:正確設置CMOS參數,修正Win 98,解決i740顯示卡衝突。  步驟:請做如下檢查與判斷和操作:  COMS參數設置是否適當?一般只需設置成默認狀態即可。
  • 電腦休眠後無法喚醒怎麼辦?win10電腦休眠後無法喚醒的解決辦法
    但有些時候也會出現一些問題,如休眠後無法喚醒,無法移動滑鼠,敲擊鍵盤都無效,最後只能長按電源鍵來強制關機!!!電腦休眠後無法喚醒的因素一般有三個:1、是系統硬體不兼容、不支持;2、是系統設置原因導致。3、是沒有設置混合喚醒造成的。
  • 怎樣設置嵌入式Linux開機自動運行用戶程序?
    本文是Linux嵌入式開發日常記錄,今天和大家分享下如何讓嵌入式Linux系統開機後自動運行用戶編寫的程序?嵌入式系統的目標是要執行用戶編寫的、完成指定任務的程序,並且這個用戶程序應該在系統啟動後自動執行。
  • Win7如何解決休眠後自動重啟的問題
    Win7系統幫助用戶節電的方式是休眠,系統會將當前處於運行狀態的數據保存在硬碟中,整機將完全停止供電,但這也不會影響對電腦的操作,對筆記本來說是更是必不可少的。不過有用戶表示自己的Win7系統電腦經常性的,休眠後會自動重啟,那麼如果遇到這樣的情況改如何解決呢?
  • Win10系統不進行操作很快進入自動睡眠、休眠的解決方法
    在使用Win10系統的時候,大家可能會遇到這樣的問題,無論怎麼設置電源選項,但是電腦在兩分鐘左右不進行任何操作就會自動睡眠、休眠,這是到底是什麼問題呢
  • 電腦休眠後不能喚醒該怎麼辦?
    今天,我們將指導大家如何解決計算機無法從休眠模式中喚醒的情況↓↓↓首先,嘗試更新系統BIOS,主板晶片組驅動和顯卡驅動。登錄戴爾技術支持網站,輸入您的服務標籤 ,選擇驅動程序和下載,選擇您對應的作業系統。接著在類別中,分別點擊BIOS,主板晶片組驅動和顯卡進行下載更新。
  • 教你徹底解決windows自動喚醒
    但是很多人在使用Windows時發現,原本已經進入睡眠狀態的電腦經常在沒有任何操作的情況下竟然自動從睡眠中喚醒了。經常自動喚醒導致在不使用電腦時,機器還在持續運行,白白浪費電、增加噪音,長時間空運行還影響電腦的使用壽命。那麼該如何解決這個問題呢?
  • win7休眠假死!睡眠後無法喚醒怎麼辦?
    後臺有朋友給我留言,問:小強,我的win7電腦休眠假死該咋辦?不難辦,下面,就來給大家分享win7系統休眠假死的情況和處理辦法▼▼▼一、檢查硬體是否支持1.單擊[開始]-[運行],如圖所示:需要把喚醒功能打開。
  • Win10系統下電腦休眠或睡眠無法喚醒屏幕黑屏打不開的解決方法
    經常會遇到有用戶反映,在使用Windows10系統的過程中,離開電腦一段時間,電腦就會自動進入到睡眠的情況,正常情況下,我們敲擊鍵盤滑鼠或者按主機關機鍵可以喚醒電腦
  • 【電腦知識】解決win7系統睡眠後無法喚醒的方法
    win7睡眠狀態,無奈只能重啟電腦才可以,可是每次都這樣子的話顯得很麻煩,那麼要如何設置才可以讓電腦在休眠的時候不讓電腦屏幕直接暗掉而無法喚醒呢?現在小編就為大家介紹一下解決win7系統睡眠後無法喚醒的方法吧。
  • win10電腦休眠後無法喚醒的解決辦法
    但有些時候也會出現一些問題,如休眠後無法喚醒,無法移動滑鼠,敲擊鍵盤都無效,最後只能長按電源鍵來強制關機!電腦休眠後無法喚醒的因素要麼是系統設置原因導致,要麼是沒有設置混合喚醒造成的。1、在開始菜單【運行】對話框中輸入cmd,進入命令提示符對話框2、在命令提示符對話框輸入命令 powercfg -a 回車。
  • Win7系統休眠模式無法喚醒?這招幫你輕鬆解決問題
    為了減少計算機資源的消耗並節省電力,許多用戶在不使用計算機時會打開休眠模式,並且在需要時可以通過移動滑鼠或按下鍵盤輕鬆喚醒它。最近,一些用戶報告說,打開睡眠模式後無法喚醒win7系統,它提示「訪問被拒絕」,只能重新啟動計算機。這會影響正常使用。有什麼解決辦法嗎?
  • Mac自動休眠後繼續保持下載的設置方法
    很多朋友都困擾著一個問題,Mac自動休眠後無法繼續保持下載,今天小編分享的就是Mac自動休眠後繼續保持下載的設置方法。首先系統偏好設置 - 節能 裡按自己需要選擇好,這裡不再贅述,很多帖子解釋都很清楚。
  • Win7系統休眠模式無法喚醒?這招幫你輕鬆解決問題
    為了減少電腦資源消耗節約用電,不少用戶在電腦不使用的時候會開啟休眠模式,等要用的時候移動下滑鼠或者按下鍵盤就可以輕鬆喚起。最近有用戶反饋win7系統開啟休眠模式後無法喚醒,提示「拒絕訪問」,只能重啟電腦,這樣影響了正常使用,有什麼辦法可以解決?下面小編教你一招輕鬆解決Win7系統休眠模式無法喚醒的問題。
  • 功耗和安全性嵌入式系統設計的兩大擔憂
    功耗與安全性是嵌入式系統設計師的兩大重要擔憂,尤其是在 IoT 傳感器命令和控制應用程式中。 對於工業 IoT 設計而言,微控制器不僅要自身的平均功耗儘可能低,還要具備讓設計的其餘部分功耗降至最低的特性,這點非常重要。
  • Win7電腦休眠了卻無法喚醒怎麼辦?學會這招,輕鬆解決問題
    平時我們在使用Win7系統的電腦進行工作或者是娛樂的時候,如果需要長時間離開但你的話,很多小夥伴都會開始電腦的休眠模式,以此來減少電腦資源的消耗的同時,還可以節約用電。  而在想要使用電腦的時候,我們只需要移動一下滑鼠或者是按下鍵盤上的任意按鍵,就可以輕鬆的將電腦喚醒,繼續我們沒完成的工作或繼續娛樂。
  • 如何解決筆記本電腦無法從睡眠或休眠模式喚醒
    為了避免計算機因為沒電而無法喚醒,請先確認計算機已連接至電源且電池充電指示燈亮起,並嘗試點擊開機鍵確認是否可以喚醒計算機。計算機若是長時間放置於睡眠模式將會自動進入休眠模式,此時僅能點擊開機鍵才能喚醒。
  • MacBook Pro休眠後黑屏了不能喚醒怎麼辦
    一直沒有什麼問題,前兩天更新了一下系統是目前最新版本的。休眠後竟然喚醒不了。    搜了一下MacBook Pro休眠後黑屏,看了幾篇基本上都是那些有的說重置系統管理控制器 (SMC) Shift-Control-Option 鍵,然後同時按下電源按鈕
  • 嵌入式作業系統HAL原理及BSP實現方法
    這些設備中通常包含控制用的CPU和相應的作業系統;這類特殊的計算機系統叫做嵌入式實時系統。嵌入式實時系統以其簡潔高效等特點在計算機、通信等領域中廣泛使用。  由於嵌入式實時系統應用環境的特殊性,因此在設計實現過程中存在著許多特殊問題。其中,作業系統及其他系統軟體模塊與硬體之間的接口形式是嵌入式實時系 統的主要特徵和系統設計過程中的必需環節,也是影響嵌入式系統應用前景的關鍵問題。