我研究的课题来自一个很普通的问题。我们每天都会用手机。手机里有很多软件。每次打开软件要等一小会儿。有时候等的时间短。有时候等的时间长。为什么会有这样的差别呢。
这个问题很小。小到大家可能都习惯了。但它一直在我脑子里。去年我上了一门课。课程讲计算机怎么处理任务。老师提到了一个词叫“资源调度”。这就像一个大厨房只有一个厨师。很多客人同时点菜。厨师要决定先做谁的菜。做菜的顺序不一样。客人等待的时间就不一样。
我想到了手机软件打开慢的事情。手机就像那个厨房。手机的处理器就像厨师。同时想运行的软件就像客人。它们可能也在排队。这个排队的方法可能不一样。不同的手机用不同的方法。不同的软件也有不同的需要。有的软件急着用。比如有人打电话进来。有的软件可以等一等。比如一个更新天气的程序。
我开始找资料。我发现很多人研究过这个问题。电脑的系统研究得多。手机的系统研究得少。特别是最近几年的手机。手机和电脑不一样。手机用电池。电池的电量有限。手机还要考虑发热问题。太热了手机会变慢。手机也要省电。让电池用得久一点。
我找到一些论文。这些论文是前几年写的。那时候的手机和现在不一样。现在的手机功能更多。软件也更复杂。我觉得可以看看现在的情况。看看现在常用的手机是怎么工作的。我想知道现在的方法好不好。有没有办法让手机反应更快。
我和老师谈了这个问题。老师觉得这个方向可以。问题很具体。研究也有价值。老师提醒我研究要有一个范围。不能太大。手机品牌很多。系统也不同。我决定先看一种系统。这种系统用的人很多。研究起来也方便。我收集了一些工具。这些工具可以记录手机内部的工作情况。
我观察了自己的手机。我装了几个常用的软件。我反复打开和关闭它们。我记录下每次打开的时间。我发现一些规律。刚开机的时候打开软件慢一点。用了一段时间后打开会快一点。开很多软件后手机又会变慢。手机充电的时候速度似乎不一样。电量低的时候好像也不一样。
我设计了一些简单的测试。我让手机做不同的事情。我记录处理器是怎么工作的。我看软件是怎么排队的。我找到了一些联系。软件打开慢的时候。处理器的任务排得很满。有些任务等着没动。排队的方法好像不太公平。有些小任务被大任务卡在后面。但其实小任务很快就能做完。
我想到了一个简单的办法。我修改了一下任务提醒的规则。让那些短时间能完成的任务快点做。不要让它们等太久。我在电脑上模拟了这个过程。电脑模拟的结果不错。等待的总时间变少了。反应速度变快了。我觉得这个方法可能有用。
我的课题就从这个想法开始了。我想把这个方法真的用到手机里。看看实际效果怎么样。研究的过程就是做实验。记录数据。比较结果。这就是我课题的来源。一个日常的小问题。一次课堂的启发。一些自己的观察。一个简单的想法。我想试试看能不能让手机用起来更顺畅一点。