你按亮屏幕的那0.1秒,操作系统正在偷偷忙什么

今早赶地铁的时候,我手指按了下手机侧边的电源键。
亮了。
整个过程不到0.2秒。你可能以为这就是块屏幕通了电,实际上藏在芯片里的操作系统,刚才已经接了快二十个系统调用的请求。
它要先判断你按电源键的意图——是要亮屏,还是要关机,还是要触发紧急呼叫;要给触控面板、显示驱动留够刚好的运行内存,多一点都浪费;还要提前把你上次没关的那个外卖App的预览帧,从低速存储挪到显存里,就为了你切回去的时候,不用对着加载圈发呆。

别拿“管家婆”的刻板印象套它

很多人对操作系统的认知,还停留在十几年前攒台式机的记忆里:装完系统要分C盘D盘,要找匹配的驱动光盘,要装个杀毒软件拦弹窗,说白了就是个管硬件、装软件的大管家。
真不是。
它更像你住了五六年的老小区物业。你家水管漏了它要接报修,楼下广场舞吵了你投诉它要协调,甚至你每天几点出门、几点回家,它摸得比你楼下保安还清楚。
就拿亮屏那一下来说,它早就算准了你习惯早上8点15分刷通勤卡,会提前半小时把门禁App的核心进程挪到高速内存区;它记得你上次加班到十点半,会在你连续三天十点后还在刷手机的时候,自动把屏幕色温调暖两度。
我之前换手机的时候,把所有数据都同步过去,结果连续三天我按亮屏幕,它都给我推前手机里常听的深夜emo歌单。我当时真的愣了——合着这玩意儿搬了家,还带着我藏在系统深处的浏览记忆呢?

智能手机亮屏瞬间系统调用流程示意图
智能手机亮屏瞬间系统调用流程示意图


很多人觉得操作系统是个被动的工具,你下指令它才干活。其实它早就有自己的判断逻辑。比如你连续三次在同一个时间段打开导航软件,它会自动在那个时间段给你预留足够的定位模块权限,甚至提前把你常走的那条路的实时路况拉到缓存里。你根本不用开口,它就把事给你办了。
当然,办砸的时候也不少。我上次周末想睡个懒觉,它居然在平时上班的点自动把我手机响铃打开,就因为它检测到我前一天晚上把闹钟关了,但觉得我可能是“手滑关错了”。我当时盯着天花板醒了十分钟,真想把这自作主张的玩意儿拆了。

你以为的“卡顿”,根本不是内存满了那么简单

手机用久了卡,是所有人都遇到过的糟心事。大部分人遇到卡的第一反应:删App、清缓存、卸载不常用的软件,觉得是内存占满了。
真不全是。
我之前做过个小测试,把手机的开发者选项打开,盯着屏幕上的进程列表看。发现我开着导航,切出去回了两条微信,再切回来的时候,导航软件居然要重新加载定位。查了下优先级才知道,操作系统给微信分的内存块太大,直接把导航的核心进程挤到了低优先级的缓存区——等我切回去的时候,它得花时间把进程从低速存储里重新捞回来,自然就卡了那两秒。

安卓系统进程优先级调度分层示意图
安卓系统进程优先级调度分层示意图


操作系统给所有跑在后台的进程排座次的时候,根本不是按你打开的顺序来的。最前面的是你正在盯着的前台App,其次是你能看到的悬浮窗、小窗口,再往下是需要持续运行的后台服务,最底层是你半个月没点开过的“僵尸进程”。这套进程优先级调度的逻辑,是整个系统流畅度的核心。
但架不住有些App太鸡贼。它会反复给自己提优先级,甚至偷偷唤醒同生态的关联App,把内存占得满当当。最后操作系统的调度器忙不过来,就开始掉帧、转圈圈,你以为是手机老了,其实是后台的进程在打架。
说实话我之前为了治这个,把手机里十几个能后台自启的App权限全关了。结果第二天发现我设置的自动打卡软件没启动,扣了50块全勤。害,鱼和熊掌真的没法兼得。
我那个做系统开发的朋友跟我吐槽,说现在的调度逻辑越来越难写。用户既要系统省电,又要App启动快,还要后台消息不延迟——这三个需求天生就是拧巴的。你给后台留足够的内存保消息,就会占前台的资源导致卡顿;你把后台进程全杀了保流畅,又会被用户骂“怎么收不到微信消息”。

那些没写在说明书里的小脾气

现在的操作系统,越来越聪明了。
但聪明的代价,是它越来越有自己的想法。
你有没有遇到过,你只是对着手机咳嗽了一声,它就弹出来“请问你需要什么帮助”;你明明想在浏览器里搜个冷知识,它直接跳出来语音助手,把你话还没说全的内容,给你推荐了一堆根本不相关的商品广告。
之前有个做系统产品的朋友跟我聊,说现在的操作系统为了追求“无感体验”,把太多决策的权限从用户手里收走了。比如你想把一个App的通知全关,它会弹个提示“关闭通知可能会错过重要消息哦”;你想卸载一个预装的App,它要问你三次“确定要卸载吗?卸载后可能会影响系统稳定性”。
没人逼你。
就是想占着位置。
你拿它没办法。
倒也不是说现在的操作系统不好。倒回去四十年,最早的Unix系统连个图形界面都没有,你打个命令它才执行,多一个字的废话都没有。二十多年前的Windows 98,你装个驱动都要自己找光盘,系统才不会主动给你找兼容包。现在呢?你刚按亮屏幕,系统已经把你常看的新闻、常打开的App、甚至你上次没看完的视频片段,都给你摆到桌面上了。
有人问我,那操作系统是不是越做越好用了?
我一般会反问他,你上次遇到系统自动给你升级,把你之前设置的闹钟全重置了的时候,你是不是也骂过一句“什么破玩意儿”?
昨天晚上我写稿写到两点,按亮屏幕想找个备忘录。系统直接给我弹了个“熬夜伤身体,是否开启夜间模式”的提示。
我盯着那行字看了三秒。
没开。
我就想在亮堂堂的屏幕上,把最后一段字敲完。

作者|科技

排版|科技

审核|见微

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:你按亮屏幕的那0.1秒,操作系统正在偷偷忙什么
文章链接:https://www.lfdjt.com/p/keji/a/14000.html