为什么有一个核心一直休眠,内核编程 线程休眠

vivo手机4个核为什么有2个核一直处于休眠状态_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
vivo手机4个核为什么有2个核一直处于休眠状态
我有更好的答案
存储命令、处理数据都由核心执行。CPU中心那块隆起的芯片就是核心,是由单晶硅以一定的生产工艺制造出来的,CPU所有的计算、接受&#47。换句话说,将四个物理处理器核心整合入一个核中。处理器核心,又称为内核,是CPU最重要的组成部分,一般而言,两个核心够用了,当手机玩游戏时,系统会自动开启四个核心。 四核处理器即是基于单个半导体的一个处理器上拥有四个一样功能的处理器核心主要是为了节能和降低功耗和发热量
采纳率:91%
为您推荐:
其他类似问题
休眠状态的相关知识
换一换
回答问题,赢新手礼包Android休眠唤醒驱动流程分析(一)
****************************************************
作者:Sean
修改历史:
****************************************************
标准linux休眠过程:
l&一般有一些的动作进行&
标准linux唤醒过程:
用户可以通过sys文件系统控制系统进入休眠一些的动作进行&
查看系统支持的休眠方式:
#cat&/sys/power/state&
常见有standby(suspend&to&RAM)、mem(suspend&to&RAM)和disk(suspend&to&disk),只是standby耗电更多,返回到正常工作状态的时间更短。
通过&#echo&mem&&&/sys/power/state&&让系统进入休眠。
&&/sys/power/state
&使系统唤醒。
ndroid休眠与唤醒
是在传统的内核电源管理设计的基础上,结合手机设计的实际需求而进化出的一套电源管理系统,其核心内容有:、与late_resume。
。,,,。,。,。
当系统在启动完毕后,会自己去加一把名为“的锁,而当系统有意愿去睡眠时则会先去释放这把“”锁,在android中,在early_suspend的最后一步会去释放“main”锁()。释放完后则会去检查是否还有其他存在的锁,如果没有则直接进入睡眠过程。
它的缺点是,如果有某一应用获锁而不释放或者因一直在执行某种操作而没时间来释放的话,则会导致系统一直进入不了睡眠状态,功耗过大。
:先与内核的睡眠过程被调用。一般在手机系统的设计中对背光的操作等采用此类方法,因为背光需要的能耗过大。当然此操作与是配套使用的。一些在内核中要预先进行处理的事件可以先注册上函数,当系统要进入睡眠之前会首先调用这些注册的函数。
本文中,linux&kernel版本为&linux-2.6.29,android版本为&android&2.1
与android休眠唤醒主要相关的文件主要有:
l&linux_source/kernel/power/process.c
l&linux_source/driver/base/power/main.c
l&linux_source/arch/xxx/mach-xxx/pm.c或linux_source/arch/xxx/plat-xxx/pm.c
Android&休眠过程如下:
当用户读写/sys/power/state时,linux_source/kernel/power/main.c中的()函数会被调用。其中,android的early_suspend会执行&而标准的linux休眠则执行
在函数中,会调用的工作队列,从而进入()函数中。
在early_suspend()函数中,首先要判断当前请求的状态是否还是suspend,若不是,则直接退出了;若是,函数会调用已经注册的early_suspend的函数。然后同步文件系统,最后释放。
,删除链表中wake_lock节点,判断当前是否存在wake_lock,若wake_lock的数目为0,则调用工作队列suspend_work,进入suspend状态。
在suspend()函数中,先判断当前是否有wake_lock,若有,则退出;然后同步文件系统,最后调用pm_suspend()函数。
在pm_suspend()函数中,enter_state()函数被调用,从而进入过程。
在enter_state()函数中,首先检查一些状态参数,再同步文件系统,然后调用()来冻结进程,最后调用()让外设进入休眠。
在()函数中,先通过给suspend分配一个虚拟终端来输出信息,再广播一个系统进入suspend的通报,关闭用户态的helper进程,然后调用suspend_freeze_processes()来冻结进程,最后会尝试释放一些内存。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。为什么 Android 的机器主频和核心数比 iPhone 高,却没有更流畅?<span itemprop="datePublished" content="T05:01:00+-03-01 05:01&&&&【 转载】 &&&&&
网友提问:为什么&&的机器主频和核心数比&iPhone&高,却没有更流畅?以&Nexus&5&和&iPhone&5s&为例,部分硬件对比如下:CPU:Nexus&5&:Krait&400架构&2.3GHziPhone5S&:&Cyclone&架构&1.3GHzGPU:Nexus&5&:Adreno&330iPhone5S&:&PowerVR&6430&GPURAM:Nexus&5&:&iPhone5s&:&---------------------------网友解答1:我们可以从硬件、操作系统、应用软件三方面来回答这个问题。硬件角度CPU方面,两者CPU型号分别为:A7和MSM8974。MSM8974拥有4核,单核频率最高可达2.3GHz,相比A7拥有2核,最高频率为1.4GHz。所以,就单纯的CPU计算能力来讲,MSM8974要优于A7,毕竟它单核频率比A7要高很多。另外,由于MSM8974有4核,因此它处理多线程并发能力要强于A7。工艺方面,两者拥有相同的28nm制程,但MSM8974频率高,核心多,所以密集计算情况下,它的功耗和发热量应该要比A7高。从CPU的Cache方面看,A7拥有64KB+64KB的L1&Cache,1MB&L2&Cache和4MB&L3&Cache;相比较,MSM8974在这方面要差得多,相信是为了节约成本,仅仅配置了16KB+16KB&L1&Cache,&2MB&L2&Cache,且没有L3&Cache。如此小的Cache,在实际运行过程中,肯定会发生大量Cache&Miss,这就会导致CPU常常在“等待”外围IO(如内存),从而白白浪费了CPU的高速计算能力。MSM8974在Cache的配置上,犹如V8引擎的跑车,却配置了一套四速变速箱,让人无语。GPU方面,A7集成PowerVR&G6430&GPU,而MSM8974集成了Adreno&330&GPU。根据资料,G6430的图形处理性能GFLOPS为166.4-249.6,而Adreno&330的图形处理性能GFLOPS仅为129.6-158.4。所以,PowerVR&G6430的图形性能要明显优于Adreno&330。内存(运存)方面,设备配置的内存越大,表示操作系统允许更多的应用程序驻留内存,在不同的应用程序之间切换会更顺畅。而且,每个应用程序允许使用的内存也会越大,相对来说会更流畅。这方面Nexus的要占优。操作系统角度Apple&IOS,apple开发的移动设备操作系统。IOS的内核使用的是darwin&os,该内核与linux的宏内核操作系统不同,是一个类似于windows的混合型内核。有点类型微内核的感觉,不过就性能而言,与Linux相比应该没有什么优势。但是,因为ios的应用程序是使用objective&c编码,最终被直接编译为ARM指令集。因此,在实际设备运行过程中,应用程序相当于直接在CPU上运行,避免了虚拟机的指令翻译开销,所以ios的应用程序执行效率相比android要高。Google&Android,是基于Linux操作系统的一个应用程序框架。它大致由以下几个组件组成:Linux内核、Android运行库、通用组件库、应用程序框架和应用程序本身。最终的用户应用程序均运行在一个个隔离的“沙箱”环境中,彼此隔离。其中,最重要的是,Android应用程序的指令不是机器指令,而是dalvik虚拟机指令。也就是说,Android提供了一个Dalvik虚拟机,将Android应用程序的dalvik指令翻译成最终的arm机器指令。这中间虚拟机的翻译过程是有性能损耗的。应用程序角度IOS禁止应用程序在后台运行,所有切换到后台的应用程序被操作系统自动休眠,只有前台程序可以占用CPU;相比较,Android就开放得多,它运行应用程序任意创建后台服务Service,所有Service都可以在后台任意占用CPU和内存。因此,当Android安装的应用程序越来越多,且应用程序毫无节制地创建后台服务的话,系统前台应用就被迫和越来越多的后台服务共享CPU资源,从而拖慢了整个系统的速度。也不能说Android这种真正的多任务模式不好,它是一把双刃剑,给应用程序更广阔的发挥空间的前提下,也给了应用程序滥用CPU的权限。因此,从这方面讲,IOS更有利于应用程序发挥流畅性,但代价是应用程序无法再后台工作;Android更有利于发挥应用程序功能,例如后台收离线消息,后台下载等应用。从屏幕分辨率来看,IOS只有有限几种分辨率,最高也就,都没有达到1080P全高清的级别。比较而言,Nexus5的分辨率达到了全高清级别。为此,应用程序需要更多资源来渲染图像,比较而言,IOS的应用程序就可以更容易达到流畅的帧数;但Nexus5的屏幕则可以达到更锐利,更清晰的图像。总结硬件方面,Apple&iPhone5s的主频较低,但cache很大,且拥有更高性能的GPU;Nexus5的CPU主频很高,但Cache较小,且GPU相对较弱。所以,iPhone5s更适合表现图像或动画;Nexus5的高主频和更多核心,更适合高密集计算工作和并行计算。但就题主所说的流畅性,iPhone5s更胜一筹;操作系统方面,IOS没有虚拟机开销,性能相比需要dalvik虚拟机转换的Android,也是胜了一筹;应用程序角度,由于iPhone5s的屏幕分辨率较低,且没有后台应用程序干扰,所以iPhone5s更容易达到流畅的效果。综上,iPhone&5S更容易给用户流畅的感觉。-----------------------------------------网友解答2:&小米3&:&MSM8274ab&=&2.3GHz&Krait&400&cpu&+&Adreno&330&gpuiPhone5s&:&Apple&A7&=&1.3GHz&Clyclone&cpu&+&PowerVR&6430&四核&gpu&让我们更详细的比较一下两个&CPU&吧:Krait&400:ARMv7指令集,总共&32k&一级缓存,2M&二级缓存,无三级缓存,需&CPU&自行处理传感器Clyclone:ARMv8-A指令集,每核心&128k&一级缓存,1M&二级缓存,4M&三级缓存,配备了&M7&协处理器处理传感器用户对速度的主观感受来自于CPU的单核性能。多核在多数情况下只是个添头。iPhone&cpu&指令集更先进,寄存器比米&3&多一倍。不同架构的&CPU&无法直接用参数衡量。而更新的架构往往具有决定性优势。容量八倍的一级缓存,以及更大的三级缓存,都显著的存在优势。2.3G&的负荷不是一直满载的,平时的正常运转在&400-500MHz&的水平。另外&CPU&的总线带宽,二级三级缓存大小等参数都会影响&CPU&性能,iPhone&的&CPU&性能在浏览器&js&解析方面的跑分评测不输于主流&android&机型。然后,iPhone&的四核&GPU&是目前手持设备中最逆天的一款,这个最逆天的&GPU&配合,加上分辨率更低的屏幕(小米三比&iPhone5s&多&58%&的像素点数量,也就是说每一帧的渲染都要多渲染&58%&的像素数量),导致了&GPU&跑分的「碾压式秒杀」。主流手机中没有一款能比得上&iPhone&5s&的&GPU&全屏跑分性能。所以对题主的问题,直观的回答为:不是。iPhone&的硬件配置(无论是&CPU&还是&GPU&配置)全面超越了大多数&android&机型,因而可以得到比多数&android&更流畅的画面效果。Android&阵营不是太拼硬件了,而恰恰是硬件配置不足。
授人以鱼不如授人以渔
喜欢并收藏到个人中心
精彩内容推荐相关文章推荐
一、对于休眠(suspend)的简单介绍
在Linux中,休眠主要分三个主要的步骤:
1) 冻结用户态进程和内核态任务
2) 调用注册的设备的suspend的回调函数, 顺序是...
这里以内核usb gadget driver中f_mass_storage驱动为例子进行说明。static int sleep_thread(struct fsg_common *common)
一、对于休眠(suspend)的简单介绍
在Linux中,休眠主要分三个主要的步骤:
1) 冻结用户态进程和内核态任务
2) 调用注册的设备的suspend的回调函数, 顺序是按照注册顺...
Linux Suspend主要有以下三步:
1) 冻结用户态进程和内核态任务
2) 调用注册的设备的suspend的回调函数,顺序是按照注册顺序
3) 休眠核心设备和使CPU进入...
三、pm_test属性文件读写int pm_test_level = TEST_NONE; static const char * const
pm_tests[__TEST_AFTER_LAST...
如何进入休眠
1. 当所有wake_lock被释放,自动进入休眠;
2. echo mem > /sys/power/state;(也需要等待wake_lock全部释放才能进入suspend)...
五、suspend和resume代码走读
下面对suspend分的几个阶段都是按照pm test的5中模式来划分的:freezer、devices、platform、processors、...
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务;(2)调用注册的设备的suspend的回调函数;(3)按照注册顺序休眠核心设备和使CPU进入休眠态。
冻结进程是内...
转文地址:/jiaguang/blog/static/3/
系统挂起(Susp...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 内核休眠 的文章

 

随机推荐