应用程序和内核之间的典型android cpu分割

时间:2012-10-26 22:55:13

标签: android kernel cpu

在执行典型的cpu绑定应用程序时,Android上的内核CPU时间和UserMode CPU时间之间的典型划分是什么?

典型的双核ARM安卓手机,在执行常用应用程序时,不等待来自用户或网络的i.o

更有帮助的是,如果系统库的usermode部分之间的cpu时间分割有任何数据,那么在app实际代码中花费的时间

(我意识到这是一个非常主观的问题,由jvm / jit和其他函数复杂化,但任何指针(ha!;)都会有所帮助。)

1 个答案:

答案 0 :(得分:2)

嗯,这实际上取决于应用程序。在受I / O限制的应用程序中,时间将花费在readwrite等系统调用中。在计算绑定的应用程序中,CPU时间几乎都是用户空间。在RAM绑定的应用程序(对RAM中的数据进行大量操作)中,由于缓存未命中,CPU将花费大部分时间等待RAM(我不认为ARM处理器具有非常大的缓存)。

另一方面,如果您的应用程序执行了大量UI工作,而所有图形处理都在用户空间中完成,则仍有许多I / O绑定操作等待帧缓冲区和输入设备。