首页   注册   登录
 iwtbauh 最近的时间轴更新

iwtbauh

  •   V2EX 第 257571 号会员,加入于 2017-10-02 17:25:21 +08:00,今日活跃度排名 2192
    No such file or directory :-)
    iwtbauh 最近回复了
    20 小时 20 分钟前
    回复了 mkfsmkfs 创建的主题 程序员 MSYS2、Babun、Cmder 你选择哪个?
    我选择 Ubuntu + wine + qemu win7
    2 天前
    回复了 GLee9507 创建的主题 Android Android 面试奇怪问题
    @enenaaa
    @mashiro233

    的却是我的错,抱歉了。

    另外,WFI 与 HLT 相近但并不完全一样。

    顾名思义
    HLT ( halt )是“保证” CPU 进入休眠模式
    WFI ( wait for int )是等待中断,让 CPU 进入睡眠模式是平台的“实现细节”,而不是标准和保证,对于有的 arm 平台,这个指令相当于一直执行 NOP
    2 天前
    回复了 GLee9507 创建的主题 Android Android 面试奇怪问题
    @enenaaa 拜托,hlt 是 x86 汇编指令。对于 ARM 而言,据我所知并没有等价指令存在。(其实是否在 x86 上使用我感觉也是存疑的,毕竟这个指令很早就有了,wikipedia 上说 8086 就有了,如果确实可行没道理早期时代的 Linux 内核不用它用死循环,现在不清楚),Android 设备几乎没有用 x86 CPU 的吧

    操作系统确实会去执行死循环,Linux 4.6 版本(现在 Android 似乎还在大批使用 3.x 内核?懒得找旧内核源码了),https://github.com/torvalds/linux/blob/v4.6/kernel/sched/idle.c,在 202 行执行 cpu_idle_loop 函数,这个函数就是一个死循环。

    另外我什么时候说过“主动检查各种中断”了,,中断要是主动去检测还是中断么,当然是中断产生时 cpu_idle_loop 被打断,CPU 去执行中断处理函数了,如果需要调度自然会调度。

    另外也不是满负荷运转,原因就是上面说的,基本上绝大部分设备上 CPU 频率可以调整。只是在当前频率下 CPU 并没有停止,还是一直在执行一个又一个指令。
    2 天前
    回复了 GLee9507 创建的主题 Android Android 面试奇怪问题
    @enenaaa “进入 idle 后是等待中断, 不是正常运行状态。” 惊了,CPU 使用状态还有正常不正常的区别。同样是代码,你凭什么说 idle 里的代码就不是正常使用 CPU,非 idle 里的代码就是正常使用?莫非你以为编译后的内核中 idle 里的汇编机器指令和其他地方的汇编机器指令有区别?还是 CPU 能自己分辨出来代码是 idle ?等待中断不假,其实是内核用一个死循环等待中断的啊,和其他死循环编译出来的机器指令一样,对于 CPU 而言,它就是当“普通代码”一样执行 idle 里的代码而已。都是对 CPU 的“正常使用”

    另外上文的却有容易混淆的地方,占用率指的是总占用率,我表达的意思是 CPU 在指定频率下(不管多低)都是 100%使用的。
    2 天前
    回复了 GLee9507 创建的主题 Android Android 面试奇怪问题
    @enenaaa 调整的是频率,而不是占用率,占用率是没法调整的,CPU 通电以后就会一直转,频率是可以由 CPU 驱动程序管理。但是占用率你没有办法调整,不管频率调整得再低,CPU 该转还是转,还是 100%


    这个调度和死循环并不冲突啊,,按你这么说没有中断的时候你让操作系统干什么呢,这个时候是操作系统以 idle “进程”的身份在执行这个死循环,因为 CPU 需要一直运行。
    2 天前
    回复了 alvin666 创建的主题 Linux 为什么 samba 的配置这么蛋疼?
    恰恰说明了微软 SMB 协议设计的臃肿不堪,过度复杂,难怪总是出各种安全漏洞。
    2 天前
    回复了 Antidictator 创建的主题 程序员 以身试微信的“法”,分享一下
    @snw island 不可以,但是你通过系统提供的接口可以自己开发一个可以开很多的。。

    退一步,如果系统接口不支持一个 app 开多个,可以把 app 改包名多编译几个呗
    2 天前
    回复了 liangzi 创建的主题 Android 求个可用的 GMS 安装器
    https://opengapps.org

    Google 服务在 Android 7 以上需要经过修补的系统,主线 aosp 无法运行!!主线 aosp 无法运行!!

    修补主要是修补了 android 的 webview 实现,使用 chromium 替换 Android webview

    如果 ROM 厂商没有进行类似修补是无法使用 Google 服务的。

    另外,非 Google 认证设备,包括使用自定义 ROM 的用户,有可能需要提交 ID 才能使用 Google 服务,认证: https://www.google.com/android/uncertified/
    2 天前
    回复了 Antidictator 创建的主题 程序员 以身试微信的“法”,分享一下
    推荐一种方法,支持任何 android 手机(只要不阉割功能)然后用工作资料

    什么 app 都能多开,想开多少都可以



    但是 Android 只提供接口,也就是说需要你们看 API 自己开发。

    我知道的有: https://play.google.com/store/apps/details?id=com.oasisfeng.island (虽然这个东西初衷不是为了多开)
    2 天前
    回复了 GLee9507 创建的主题 Android Android 面试奇怪问题
    “ CPU 使用率是无法人为干预的”
    从某种意义上就是正确的

    CPU 通电以后,就一直是 100%占用状态。

    windows 用户打开任务管理器,看看所有进程,即使其他进程一共占用了 1%的 CPU,是不是还有一个包含“ Idle ”字样的进程占用了剩余 99%的 CPU。

    这个进程 Linux 也有,叫 swapper,但是不会显示给用户。(但其实是有的,不信去看内核源码)

    从计算机科学上讲,CPU 使用率的却无法人为干预,因为 CPU 一直都是 100%在使用。

    原因在于,操作系统实质上是一个死循环
    while (1)
    {

    }

    内核会在中断时执行其他代码,最终达到一个“安全的任务调度点”时调度执行其他任务。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   616 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 6ms · UTC 21:01 · PVG 05:01 · LAX 14:01 · JFK 17:01
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1