毕竟,他熟悉未来各种操作系统的发展趋势,也熟知在这种发展中,所出现的各种需求。
所以,他就能最大限度的,做出一款极其精简,优化到了极致,甚至能让你改无可改的程度。
这种超前的设计理念和通用调度算法,再加上那种洞悉未来的领先思维,是完全可以保证他去实现这一点的。
举个最简单的例子。
如果这款内核看作是一种碳元素,它可以自然形成钻石、炭、石墨,也可以成为无数的化合物,比如尼龙、汽油、香水、塑料、炸药等。
你可以把它应用到很多场景中,但却很难改变碳元素本身。
别较真,就是表达那么个意思。
不得不说,陈哲的想法是很好的。
但是在没有见到真实的东西之前,与会的众人,还是难免会在心里打个问号。
而这个问号,在下午见识到陈哲的那款半成品内核后,就很快烟消云散了。
事实胜于雄辩。
这些人可都是识货的人,有见识、有能力,完全可以大致判断出一个产品的好坏。
虽然陈哲拿出来的,还仅仅只是一个半成品。
但所谓窥一斑而知全豹,作为行内人,他们都有自己的眼力眼光和判断标准,是可以有相应的评判资格的。
这里面最高兴的,莫过于南广义了。
但要说最震惊的,那就要算许忠信教授了。
他一脸不可思议的指着电脑屏幕。
眼睛却死死的盯着陈哲,“这个调度系统的算法,也是你自己写的?”
要知道,一款操作系统的内核,在调度系统上的算法,是相当复杂的。
虽然90年代的时候,情况还远没有后来发展的那么变态,但也不是一般人就可以玩得转的。
内核的调度系统,是综合了各种算法和tradeoff,并涉及到了吞吐量、响应时间、公平性、调度引起的额外开销等各个方面上的权衡。
而这其中,也有先进先出算法、任务优先算法、时间片轮转算法、最大最小公平性算法等各种不同的算法。
每一种算法,都有各自的优劣。
比如先进先出算法,虽然能保证最少的任务切换开销、最大的吞吐量以及最朴实的公平性,但它的响应时间却很高,只能适用于队列中任务的耗时差不多的场景。
再比如时间片轮转算法,它虽然能保证公平性,让耗时短的任务即使落在后面,也能较快的得到调度执行。
但是,任务切换引起的调度开销,就会相应的变大,需要多次切换任务上下文,时间片也不太好设置。
只能适用于队列中耗时差不多的任务,比如多路视频流处理。
最不适合的,则是计算性任务和i/o型任务混合的队列。
而陈哲,却在其中加入了另一个新型算法,也正是这个算法,引起了许忠信的惊叹,进而忍不住开口询问。
陈哲呵呵一笑,“这应该可以叫做多级反馈队列调度算法吧,这种算法,可以兼顾响应时间、低调度开销、饥饿避免、公平性等。”
这种算法,后来也是公认为比较好的一种进程调度算法,可以满足各类进程的需要。
陈哲知道,后来的windows、macosx、linux内核调度系统中,都会加入这种算法。
尤其是后来的多cpu核场景中,这种算法是最适合的。
许忠信就很意味深长的看了他一眼,心里已经拿定了主意,这小子就像是个宝藏,绝对不能光看着却不动手去挖,那纯粹就是一种浪费。
这个目光,也让陈哲心里一哆嗦。
他不怕才怪呢,玩点儿应用还可以,真要让他去搞什么纯数,那可就要了老命了。
搞纯数的,哪一个不是变态中的妖孽。