Wakeup events framework
系統(tǒng)處于 suspend 狀態(tài),可通過 wakeup events 喚醒。具體的 wakeup events 可以是按鍵按下,可以是充電器插入等。但是,如果在 suspend 的過程中,產(chǎn)生了 wakeup events,怎么辦?答案很肯定,“wakeup”系統(tǒng)。由于此時(shí)系統(tǒng)沒有真正 suspend,所以這的“wakeup”是個(gè)假動(dòng)作,實(shí)際上只是終止 suspend。
但由于系統(tǒng)在 suspend 的過程中,會(huì)進(jìn)行 process freeze、 device suspend 等操作,而這些操作可能導(dǎo)致內(nèi)核或用戶空間程序不能及時(shí)獲取 wakeup events,從而使系統(tǒng)不能正確 wakeup,這就是 wakeup events framework 要解決的問題:system suspend 和 system wakeup events 之間的同步問題。
同步問題包括兩種情況:
情況1:內(nèi)核空間的同步
wakeup events 產(chǎn)生后,通常是以中斷的形式通知 device driver。driver 會(huì)處理events,處理的過程中,系統(tǒng)不能 suspend。
情況2:用戶空間的同步
一般情況下,driver 對 wakeup events 處理后,會(huì)交給用戶空間程序繼續(xù)處理,處理的過程,也不允許 suspend。這又可以分為兩種情況:
1)進(jìn)行后續(xù)處理的用戶進(jìn)程,根本沒有機(jī)會(huì)被調(diào)度,即該 wakeup events 無法上報(bào)到用戶空間。
2)進(jìn)行后續(xù)處理的用戶進(jìn)程被調(diào)度,處理的過程中(以及處理結(jié)束后,決定終止 suspend 操作),系統(tǒng)不能 suspend。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
Microsoft .NET Micro Framework 將 .NET 的可靠性和效率與 Visual Studio的高生產(chǎn)率結(jié)合起來,以針對價(jià)格較低、資源受限的小型設(shè)備開發(fā)應(yīng)用程序,可幫助
發(fā)表于 05-27 16:03
一、簡介Microsoft .NET Micro Framework 2001年由微軟研究院開始研發(fā),并隨后在其MSN Direct項(xiàng)目中使用該技術(shù),2007年9月微軟對外發(fā)布2.0,2008年10
發(fā)表于 05-29 10:56
一練]Actor Framework框架(1125-1201)2016-02-28 20:15:20新寫的一篇帖子:sushu---Actor Framework一種使用方式主貼里面循序漸進(jìn)的介紹了一些信息。現(xiàn)在
發(fā)表于 01-03 20:05
我用Actor Framework架構(gòu)做了個(gè)程序,在生成exe文件后,雙擊exe,啟動(dòng)文件“Launch.vi”能夠啟動(dòng),閃爍了一下,然后就沒反應(yīng)了,無法調(diào)用出UI界面(VI測試的時(shí)候都是正常
發(fā)表于 06-29 13:59
MICROSOFT 軟件補(bǔ)充程序許可條款MICROSOFT .NET FRAMEWORK 2.0(適用于 MICROSOFT WINDOWS OPERATING SYSTEM)
Microsoft Corporation(或 Microsoft Corporation 在您所在地的分公司)現(xiàn)授予您本補(bǔ)充程
發(fā)表于 06-25 09:51
?65次下載
.NET Framework 高級編程詳細(xì)講述了.NET Framework,是一本極具參考價(jià)值的.NET Framework編程大全。本書從.NET Framework最基本的概念到
發(fā)表于 01-08 11:04
?40次下載
介紹了OPC (OLE for Process Control) Data Access 規(guī)范基本內(nèi)容Microsoft .NetFramework 特點(diǎn)?;贛icrosoft .Net Framework 2.0 介紹了托管代碼和本地代碼之間互操作的方法,用C#給出了實(shí)現(xiàn)OPC 客戶端軟件
發(fā)表于 05-25 13:57
?22次下載
A proposed framework for measuring, identifying, and eliminating clock and data jitter
發(fā)表于 03-04 08:45
?1732次閱讀
and polyphase residential energy-metering SoCs that cope with sag and power-failure events. The sample code discussed in this application note was w
發(fā)表于 02-06 10:42
?23次下載
suspend過程中,有可能會(huì)發(fā)生wakeup events,所以某些時(shí)間點(diǎn),會(huì)調(diào)用接口(pm_wakeup_pending),檢查是否有wakeup需要處理
發(fā)表于 09-14 17:00
?4679次閱讀
專題分綱目錄 均為索引,本綱為:Android Framework 電源子系統(tǒng) 系列文章目錄Android Framework 電源子系統(tǒng)(01)PowerManagerService啟動(dòng)分析
發(fā)表于 01-11 12:07
?0次下載
系列文章解讀&說明:Android Framework 電源子系統(tǒng) 的分析主要分為以下部分:Android Framework 電源子系統(tǒng)(01)PowerManagerService啟動(dòng)
發(fā)表于 01-11 14:58
?1次下載
首先,第一次使用Reply Msg時(shí),繼承關(guān)系中是沒有Reply Msg的,因?yàn)槟J(rèn)Reply Msg不包含在Actor Framework.lvlib中的,需要手動(dòng)添加。
發(fā)表于 11-04 10:33
?3691次閱讀
本文講一下SystemVerilog的time slot里的regions以及events的調(diào)度。SystemVerilog語言是根據(jù)離散事件執(zhí)行模型定義的,由events驅(qū)動(dòng)。
發(fā)表于 07-12 11:20
?1455次閱讀
wakeup events framework 就包括 3 大功能: 1. 解決內(nèi)核空間同步問題(framework 的核心功能) ? ?
發(fā)表于 09-11 16:21
?603次閱讀
評論