簡體   English   中英

如何修改android內核進程調度程序?

[英]How to modify android kernel process scheduler?

我想自己修改android調度程序“ CFS”。

我想為以啟發式或其他方式區分的用戶交互任務分配實時優先級。

因此,我只想修改android內核,構建修改后的內核並研究性能。

我怎樣才能做到這一點?

從安全的角度來看,修改Android的內核調度策略是不太可能的。 但是基於“實時”的各種功能,您始終可以使程序滿足以下要求:

一種。 響應速度:通過確保輸入回路盡可能高效,並始終盡可能快地響應輸入。 在Linux內核中,這是通過“自願搶占”完成的。

b。 低延遲:通過將每個作業盡可能細地拼湊在一起,以便可以將控制傳遞回去以響應輸入,或者在音頻的情況下,可以在時鍾的精確開始時發出控制(SCHED_DEADLINE調度)。 Android確實為此提供了一些API:

http://source.android.com/devices/audio/latency_design.html

通常,改變優先級並不是解決實時需求的理想選擇(例如,給一個進程更高的優先級可能會導致另一個進程的性能下降)。 實際完成的操作(例如,LynxOS,這是一種用於導彈系統的實時操作系統,不是Linux,但是其某些組件(如TCP / IP來自FreeBSD))是為了對系統進行調整,以使其在許多備用硬件容量。 因此,在LynxOS中,許多系統閾值限制都非常低,因此硬件總是足夠自由以對輸入事件做出快速響應。

https://github.com/keesj/gomo/wiki/AndroidScheduling

使用SoundPool的Android低延遲音頻

Android上的低延遲音頻播放

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM