给Linux内核加AI助理,智能调度资源这个建议值得搞
所有的操作系统都有内核,尽管内核不同,但都是整个系统中最为关键的地方。一切任务都要经过内核来处理,内核也是最累的组件了。Linux的内核首发于1991年,这个软件在30多年发展过程中,从一个简单的结构,已经成长为了一个庞大的代码怪兽。四千多万行的代码,可能不完全体现其真实的强大,因为大部分是驱动代码,但是依然能够Linux内核为整个系统的流畅稳定运行,而做出的进步。现如今,人工智能的出现,虽然距离全智能模式还有一段距离,但是各行各业都在被智能助理的集成,大大加快了原有任务的处理模式。那么如果给Linux内核配置一个智能助理,能不能进一步释放Linux系统的性能并提升使用体验呢?有Linux内核开发软件工程师已经对此作出了提议,他建议创建一个Linux子系统来实现一个服务于用户空间的人工智能助理。而Linux的子系统就是Linux内核中的各个下属,要知道Linux内核管理所有的系统和硬件任务处理,分门别类是最好的处理方式。这里有进程调度子系统用于决定软件进程使用哪个CPU核心,能用多长时间,谁该用CPU,谁要让出CPU;内存管理子系统决定哪些内存让哪个程序使用多少的问题;虚拟文件子系统抽象了硬盘U盘CD等存储设备的读写等操作;硬件驱动子系统在鼠标键盘显示器打印机这些硬件和系统内核之间来回传话实现操作;如果有需要,还可以自己写一个子系统来实现和内核的交互。不难看出,Linux内核的子系统,都是要和内核交互的,最大的任务处理决定权依然在内核。用户空间,从字面意思理解就可以,这是Linux系统中用户的使用空间,这里是用户使用的所有软件程序,比如浏览器、编辑器、图片查看器、Word软件。当用户打开一个自己日常使用的软件程序,这个软件程序就运行在用户空间。那么给Linux内核配置的智能助理,在用户空间工作,就是服务于用户空间的这些程序的调度和梳理,也就避免对Linux内核的直接集成和干预。我们都知道直接集成到内核中,让人工智能做决策,有两个问题,一是难度太多,Linux的内核极其复杂,长期以来各种算法就是为了让调度任务更优雅,而实现了太多的代码机制。另一个是现在的人工智能依然会偶尔“智障”,但是这在系统层面是不允许的,就如同我们能够接受一台电脑运行的慢,但是不能接受动不动就崩溃死机。那么一旦这个智能助理被实现了之后,就出现了这样的使用场景。智能助理说:“我发现word程序中某个文件这会总被重复打开,先把它缓存起来,能打开更快”。智能助理说:“每天5点多,这个电脑会把打开的文件逐个写入硬盘,提前准备好写入的IO”。等等。这样一来,从内核层面,让硬件的准备和调度工作,变得更加智能。而且注意这些都是子系统的建议,不会干预正常的内核调度,内核依然保持严格的控制和实现。这个建议从长远来看,是非常有价值的,但是确定一个好的模型或者机器学习算法来实现,仍要Linux内核开发者去决定,最终实现的模式可能不尽如建议中,在用户空间中做文章,但是智能的任务调度是刻不容缓的趋势。