Wakeup events framework
系統(tǒng)處于 suspend 狀態(tài),可通過 wakeup events 喚醒。具體的 wakeup events 可以是按鍵按下,可以是充電器插入等。但是,如果在 suspend 的過程中,產(chǎn)生了 wakeup events,怎么辦?答案很肯定,“wakeup”系統(tǒng)。由于此時系統(tǒng)沒有真正 suspend,所以這的“wakeup”是個假動作,實(shí)際上只是終止 suspend。
但由于系統(tǒng)在 suspend 的過程中,會進(jìn)行 process freeze、 device suspend 等操作,而這些操作可能導(dǎo)致內(nèi)核或用戶空間程序不能及時獲取 wakeup events,從而使系統(tǒng)不能正確 wakeup,這就是 wakeup events framework 要解決的問題:system suspend 和 system wakeup events 之間的同步問題。
同步問題包括兩種情況:
情況1:內(nèi)核空間的同步
wakeup events 產(chǎn)生后,通常是以中斷的形式通知 device driver。driver 會處理events,處理的過程中,系統(tǒng)不能 suspend。
情況2:用戶空間的同步
一般情況下,driver 對 wakeup events 處理后,會交給用戶空間程序繼續(xù)處理,處理的過程,也不允許 suspend。這又可以分為兩種情況:
1)進(jìn)行后續(xù)處理的用戶進(jìn)程,根本沒有機(jī)會被調(diào)度,即該 wakeup events 無法上報到用戶空間。
2)進(jìn)行后續(xù)處理的用戶進(jìn)程被調(diào)度,處理的過程中(以及處理結(jié)束后,決定終止 suspend 操作),系統(tǒng)不能 suspend。
-
嵌入式
+關(guān)注
關(guān)注
5096文章
19193瀏覽量
308094 -
內(nèi)核
+關(guān)注
關(guān)注
3文章
1384瀏覽量
40447 -
Linux
+關(guān)注
關(guān)注
87文章
11353瀏覽量
210565 -
按鍵
+關(guān)注
關(guān)注
4文章
223瀏覽量
57675
發(fā)布評論請先 登錄
相關(guān)推薦
.NET Micro Framework簡介
.Net Micro Framework 快速入門
sushu---Actor Framework基本介紹
Actor Framework 生成exe,啟動文件“Launch.vi”無法調(diào)用出UI界面,請問這是為什么?如何解決?
net framework 2.0 下載
.NET Framework 高級編程
![.NET <b class='flag-5'>Framework</b> 高級編程](https://file.elecfans.com/web2/M00/48/8E/pYYBAGKhtA6AcJBRAAAfd0XT9pA441.jpg)
基于Microsoft .NET Framework的OPC
A proposed framework for measu
![A proposed <b class='flag-5'>framework</b> for measu](https://file1.elecfans.com//web2/M00/A5/7D/wKgZomUMOKiANA0ZAAAtefPa2hE700.gif)
Meter Design for Power Failure Events
Linux電源管理總體框架及實(shí)現(xiàn)原理
![Linux電源管理總體框架及實(shí)現(xiàn)原理](https://file.elecfans.com/web1/M00/C6/E8/pIYBAF9fMOeAEHoWAADmjD8FSWs630.png)
專題分綱目錄 Android Framework 電源子系統(tǒng)
![專題分綱目錄 Android <b class='flag-5'>Framework</b> 電源子系統(tǒng)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Android Framework 電源子系統(tǒng)(06)電池管理
![Android <b class='flag-5'>Framework</b> 電源子系統(tǒng)(06)電池管理](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
在LabVIEW中創(chuàng)建Actor Framework的同步消息
SystemVerilog里的regions以及events的調(diào)度
![SystemVerilog里的regions以及<b class='flag-5'>events</b>的調(diào)度](https://file1.elecfans.com/web2/M00/8C/8B/wKgZomSuG9qAb0B5AATgYbhqfs4735.jpg)
評論