V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  iwtbauh  ›  全部回复第 52 页 / 共 68 页
回复总数  1341
1 ... 48  49  50  51  52  53  54  55  56  57 ... 68  
2018-05-22 16:42:40 +08:00
回复了 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 并没有停止,还是一直在执行一个又一个指令。
2018-05-22 14:50:54 +08:00
回复了 GLee9507 创建的主题 Android Android 面试奇怪问题
@enenaaa “进入 idle 后是等待中断, 不是正常运行状态。” 惊了,CPU 使用状态还有正常不正常的区别。同样是代码,你凭什么说 idle 里的代码就不是正常使用 CPU,非 idle 里的代码就是正常使用?莫非你以为编译后的内核中 idle 里的汇编机器指令和其他地方的汇编机器指令有区别?还是 CPU 能自己分辨出来代码是 idle ?等待中断不假,其实是内核用一个死循环等待中断的啊,和其他死循环编译出来的机器指令一样,对于 CPU 而言,它就是当“普通代码”一样执行 idle 里的代码而已。都是对 CPU 的“正常使用”

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


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

退一步,如果系统接口不支持一个 app 开多个,可以把 app 改包名多编译几个呗
2018-05-22 12:10:57 +08:00
回复了 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/
2018-05-22 12:03:12 +08:00
回复了 Antidictator 创建的主题 程序员 以身试微信的“法”,分享一下
推荐一种方法,支持任何 android 手机(只要不阉割功能)然后用工作资料

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

https://i.imgur.com/z2xVdRs.png

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

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

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

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

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

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

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

}

内核会在中断时执行其他代码,最终达到一个“安全的任务调度点”时调度执行其他任务。
2018-05-21 09:02:13 +08:00
回复了 userlol 创建的主题 全球工单系统 苹果干的这事这事真恶心
@zj299792458 Darwin 不仅是内核啊,它是一个完整的操作系统。。。

OS X 和 iOS 都是在 Darwin 的基础上开发出来的

Darwin 的内核叫 XNU

https://en.wikipedia.org/wiki/Darwin_(operating_system)
https://en.wikipedia.org/wiki/XNU
2018-05-21 08:22:34 +08:00
回复了 userlol 创建的主题 全球工单系统 苹果干的这事这事真恶心
@zj299792458 开源的叫 Darwin,不叫 iOS (虽然 iOS 基于 Darwin )
2018-05-21 08:22:03 +08:00
回复了 userlol 创建的主题 全球工单系统 苹果干的这事这事真恶心
@Building emmm,apple 我不知道,反正 Google Play Store 里买了的 APP,即使商店下架但是东西还是在内容库里可以下载的。
emmm,那种流氓 app 就不要用了不就行了
像 chrome,浏览器这种东西本来就是特别能耗存储空间的了吧,用了一年多才 300M 这样子。

不知道你说的那种上 G 的流氓得流氓成什么样
2018-05-21 07:35:16 +08:00
回复了 woshichuanqilz 创建的主题 硬件 程序有没有办法区分不同的鼠标?
@woshichuanqilz 和其他 USB 设备一样看。Windows 我不知道,Linux 可以用 sysfs
2018-05-20 22:07:32 +08:00
回复了 woshichuanqilz 创建的主题 硬件 程序有没有办法区分不同的鼠标?
USB 鼠标可以看厂商 ID 和设备 ID
2018-05-20 10:13:08 +08:00
回复了 ycfung 创建的主题 Linux Linux 下 C/C++ 程序如何更改终端背景色?
正确的做法是使用 terminfo 数据库
2018-05-20 02:34:37 +08:00
回复了 Baymaxbowen 创建的主题 Linux 请教关于虚拟机桥接模式下的网络连接问题
另外不管你怎么配置,NAT 是必不可少的,因为通常情况下不能桥接 wlan0 和 eth0

除非你启用 WDS 模式
iw dev wlan0 set 4addr on

但这样可能就不符合你的基本要求了
2018-05-20 02:31:40 +08:00
回复了 Baymaxbowen 创建的主题 Linux 请教关于虚拟机桥接模式下的网络连接问题
@iwtbauh #11

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
改为
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -o wlan0 -j MASQUERADE
2018-05-20 02:25:49 +08:00
回复了 Baymaxbowen 创建的主题 Linux 请教关于虚拟机桥接模式下的网络连接问题
我认为你应该桥接虚拟网卡与以太网卡,然后通过 NAT 使虚拟机连接网络

宿主机建议使用 GNU/Linux

宿主机中
sudo tunctl -t tap0 -u 用户名
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo brctl addif br0 tap0
sudo ifconfig eth0 0.0.0.0 up
sudo ifconfig tap0 0.0.0.0 up
sudo ifconfig br0 192.168.1.100 up

虚拟机
启动时要这样设置网络:qemu-system-x86_64 .... -net tap,ifname=tap0,script=no,downscript=no ....

然后虚拟机中
sudo ifconfig eth0 192.168.1.101 up

这样虚拟机和开发板和宿主机应该就能两两互通了

要使虚拟机访问外网,则设置 NAT,把流量从 wlan0 转发出去应该就 OK 了
sudo sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

如果你非要宿主机是 Windows,那么你需要找到上述过程的 windows 设置方法,其实我担心根本不存在有效方法(除非自己开发 Windows 驱动程序)
2018-05-20 01:57:40 +08:00
回复了 moa 创建的主题 Linux 请问下 xfce 下怎么搭建代理
@iwtbauh #1 打错了是 gsettings
2018-05-20 01:56:46 +08:00
回复了 moa 创建的主题 Linux 请问下 xfce 下怎么搭建代理
chrome 有命令行参数设置代理服务器,--proxy-server 什么的
现在的 *nix 用户都不看手册的么
$ man google-chrome

另外要想设置系统代理,gsetting 了解一下
1 ... 48  49  50  51  52  53  54  55  56  57 ... 68  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1597 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 16:46 · PVG 00:46 · LAX 08:46 · JFK 11:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.