第(3/3)页 但所谓窥一斑而知全豹,作为行内人,他们都有自己的眼力眼光和判断标准,是可以有相应的评判资格的。 这里面最高兴的,莫过于南广义了。 但要说最震惊的,那就要算许忠信教授了。 他一脸不可思议的指着电脑屏幕。 眼睛却死死的盯着陈哲,“这个调度系统的算法,也是你自己写的?” 要知道,一款操作系统的内核,在调度系统上的算法,是相当复杂的。 虽然90年代的时候,情况还远没有后来发展的那么变态,但也不是一般人就可以玩得转的。 内核的调度系统,是综合了各种算法和tradeoff,并涉及到了吞吐量、响应时间、公平性、调度引起的额外开销等各个方面上的权衡。 而这其中,也有先进先出算法、任务优先算法、时间片轮转算法、最大最小公平性算法等各种不同的算法。 每一种算法,都有各自的优劣。 比如先进先出算法,虽然能保证最少的任务切换开销、最大的吞吐量以及最朴实的公平性,但它的响应时间却很高,只能适用于队列中任务的耗时差不多的场景。 再比如时间片轮转算法,它虽然能保证公平性,让耗时短的任务即使落在后面,也能较快的得到调度执行。 但是,任务切换引起的调度开销,就会相应的变大,需要多次切换任务上下文,时间片也不太好设置。 只能适用于队列中耗时差不多的任务,比如多路视频流处理。 最不适合的,则是计算性任务和i/o型任务混合的队列。 而陈哲,却在其中加入了另一个新型算法,也正是这个算法,引起了许忠信的惊叹,进而忍不住开口询问。 陈哲呵呵一笑,“这应该可以叫做多级反馈队列调度算法吧,这种算法,可以兼顾响应时间、低调度开销、饥饿避免、公平性等。” 这种算法,后来也是公认为比较好的一种进程调度算法,可以满足各类进程的需要。 陈哲知道,后来的windows、macosx、linux内核调度系统中,都会加入这种算法。 尤其是后来的多cpu核场景中,这种算法是最适合的。 许忠信就很意味深长的看了他一眼,心里已经拿定了主意,这小子就像是个宝藏,绝对不能光看着却不动手去挖,那纯粹就是一种浪费。 这个目光,也让陈哲心里一哆嗦。 他不怕才怪呢,玩点儿应用还可以,真要让他去搞什么纯数,那可就要了老命了。 搞纯数的,哪一个不是变态中的妖孽。 第(3/3)页