1995之未来不是梦

1995之未来不是梦 > 第八十三章 系统内核和调度算法(周末加…

第八十三章 系统内核和调度算法(周末加…

    南广义不知道陈哲的心里,会有这么多的戏。

    他只是很惊奇于对方,竟然早就在做内核了,“怎么没直接带过来让大家看看?”

    陈哲就笑了笑,“这个不急,反正我对这个内核,还是颇有点儿信心的,等咱们讨论完了,再过去看也不迟。”

    南广义也没有坚持,却追问了一句,“你这个内核是怎么构建的?”

    所谓构建,也就是体系结构了。

    陈哲也交代的很痛快,“应该算是类unix吧,和linux也有点儿像,兼具稳定与安全可靠的特性。

    “它的底层是图形化的,我认为除了编程设计、商务办公之外,视频、游戏或其它多媒体应用程序等,会在未来有更大的市场需求。”

    说实话,在陈哲的眼里,windows后来越来越庞大臃肿的体积,是无法规避越来越多的系统漏洞的。

    而这会儿苹果的macos,还在死守着自己完全封闭,不带别人一起玩的固执。

    就算是后来的osx,虽然快速又稳定,占用的系统资源也很少,外部驱动的退出也很稳妥。

    但是,不能对系统进行深层次的改造,也使得它自定义程度并不高。

    这一点相当可惜。

    而陈哲之所以选择这样的一款内核,就是综合了这两者的优缺点,而搭建出来的。

    简单、快捷、方便,再加上从底层就开始的图形化设计,让硬件与软件的集成,使它在增添外设、运行应用程序、故障排除以及维护方面,都相对的更加突出。

    南广义眼神很亮。

    心里也跟猫抓似的,“这样的话,会不会在处理底层任务,如内存管理、进程调度、文件管理上有所影响?毕竟,内核是直接与硬件交互的。”

    陈哲很自信地一笑,“放心,多用户、多任务的属性,还是保持的很好的,不但有强大的网络功能,还兼具良好的移植性。”

    说白了,就是可以支持多种硬件平台的操作系统。

    无论是台式机、服务器、超算,还是手机、平板、路由器以及视频游戏控制台,它都可以适用。

    只要你能遵循相应协议下,做好系统软件和工具,并提供相应的系统设定和管理工具,就能形成一款真正的操作系统。

    说白了就是shell、命令和工具、文件和目录。

    而这些,就需要南老和他的团队,围绕着陈哲做出来的那款内核架构,去进行开发了。

    所以,听到陈哲能有这样的自信,南广义更加心动了。

    别说他了,在场的有一个算一个,其实都有些心有期待的。

    毕竟,如果真像陈哲说的那样,那无疑对于整个项目的研发,等于是一下子推进了一大截。

    这和从无到有,是完全的两码事儿。

    就像是你要建一栋大楼,从无到有的话,那就要经过选址、设计、打地基、建造、装修等一系列的流程。

    但是,如果现在有一栋烂尾楼,无论是地段、整体构造、施工质量什么的都符合你的心理预期。

    那么,这样可以节省了多少时间,就是显而易见的事情了。

    现在陈哲给出的内核架构,就等于这栋烂尾楼。

    而南老他们需要做的,就是完成整个工程项目的施工。

    当然了,这只是一个比喻。

    毕竟,陈哲正在做的那个内核,也不是就可以直接拿过来用的。

    因为南老他们要做的,同样是一个繁琐的工程。

    所以,底层源码肯定是不能完全一样的,但是却又必须保证两者之间,在结构体系上的一致,

    这里面,就需要考教陈哲的能力了。

    而在这方面,却恰恰就是陈哲最适合开挂的领域。

    毕竟,他熟悉未来各种操作系统的发展趋势,也熟知在这种发展中,所出现的各种需求。

    所以,他就能最大限度的,做出一款极其精简,优化到了极致,甚至能让你改无可改的程度。

    这种超前的设计理念和通用调度算法,再加上那种洞悉未来的领先思维,是完全可以保证他去实现这一点的。

    举个最简单的例子。

    如果这款内核看作是一种碳元素,它可以自然形成钻石、炭、石墨,也可以成为无数的化合物,比如尼龙、汽油、香水、塑料、炸药等。

    你可以把它应用到很多场景中,但却很难改变碳元素本身。

    别较真,就是表达那么个意思。

    不得不说,陈哲的想法是很好的。

    但是在没有见到真实的东西之前,与会的众人,还是难免会在心里打个问号。

    而这个问号,在下午见识到陈哲的那款半成品内核后,就很快烟消云散了。

    事实胜于雄辩。

    这些人可都是识货的人,有见识、有能力,完全可以大致判断出一个产品的好坏。

    虽然陈哲拿出来的,还仅仅只是一个半成品。

    但所谓窥一斑而知全豹,作为行内人,他们都有自己的眼力眼光和判断标准,是可以有相应的评判资格的。

    这里面最高兴的,莫过于南广义了。

    但要说最震惊的,那就要算许忠信教授了。

    他一脸不可思议的指着电脑屏幕。

    眼睛却死死的盯着陈哲,“这个调度系统的算法,也是你自己写的?”

    要知道,一款操作系统的内核,在调度系统上的算法,是相当复杂的。

    虽然90年代的时候,情况还远没有后来发展的那么变态,但也不是一般人就可以玩得转的。

    内核的调度系统,是综合了各种算法和tradeoff,并涉及到了吞吐量、响应时间、公平性、调度引起的额外开销等各个方面上的权衡。

    而这其中,也有先进先出算法、任务优先算法、时间片轮转算法、最大最小公平性算法等各种不同的算法。

    每一种算法,都有各自的优劣。

    比如先进先出算法,虽然能保证最少的任务切换开销、最大的吞吐量以及最朴实的公平性,但它的响应时间却很高,只能适用于队列中任务的耗时差不多的场景。

    再比如时间片轮转算法,它虽然能保证公平性,让耗时短的任务即使落在后面,也能较快的得到调度执行。

    但是,任务切换引起的调度开销,就会相应的变大,需要多次切换任务上下文,时间片也不太好设置。

    只能适用于队列中耗时差不多的任务,比如多路视频流处理。

    最不适合的,则是计算性任务和i/o型任务混合的队列。

    而陈哲,却在其中加入了另一个新型算法,也正是这个算法,引起了许忠信的惊叹,进而忍不住开口询问。

    陈哲呵呵一笑,“这应该可以叫做多级反馈队列调度算法吧,这种算法,可以兼顾响应时间、低调度开销、饥饿避免、公平性等。”

    这种算法,后来也是公认为比较好的一种进程调度算法,可以满足各类进程的需要。

    陈哲知道,后来的windows、macosx、linux内核调度系统中,都会加入这种算法。

    尤其是后来的多cpu核场景中,这种算法是最适合的。

    许忠信就很意味深长的看了他一眼,心里已经拿定了主意,这小子就像是个宝藏,绝对不能光看着却不动手去挖,那纯粹就是一种浪费。

    这个目光,也让陈哲心里一哆嗦。

    他不怕才怪呢,玩点儿应用还可以,真要让他去搞什么纯数,那可就要了老命了。

    搞纯数的,哪一个不是变态中的妖孽。