字体:大 中 小
护眼
关灯
上一页
目录
下一章
第457章 毕业设计 (第2/2页)
目被搁置了,项目组也解散了…… 江寒最简单的做法,只要在这个框架的基础上,修修补补,让其能正常跑起来就够了。 但他思量了一下,没有“投机取巧”。 他只参考了一下那个框架的整体架构,至于代码,一行也没沿用。 相比之下,他更信任自己写出来的代码。 时代在发展,江寒现在掌握的知识和技能,是之前那些专家也学不到的。 因此无论设计理念,代码可读性还是鲁棒性,两者都无法相提并论。 江寒正式开工后,进度并不算慢。 先行者的经验、国内外同类系统的完整反汇编代码、详实的硬件手册…… 有这么多可参考的东西,基本不可能“卡关”。 再通过虚拟空间百倍加速,开发进度可以说日新月异。 但在开发“作业和进程调度”、“内存分配”等模块时,还是稍微耽误了一点时间。 主流的cao作系统,不管运行在哪种机型里,在这些部分采用的算法都差不多。 在调度进程时,如果是批处理系统,使用的不外乎FCFS、SJF、高响应比优先等算法。 而在更先进一些的分时系统里,一般采用FPF、时间片轮转、多级反馈队列等方法。 此外还有“彩票法”、“最少裕度法”、限期调度、单比率调度…… 可惜的是,无论哪种策略,都不能一劳永逸,完美适应复杂多变的运行环境。 各种算法都有自身的优势,但也难以避免地各有不足。 能不能搞个新算法呢? 要求不高,在极端情况下,表现不是太差;而在正常情况下,各项指标又足够过硬,这样也就差不多了…… 江寒想到了机器学习。 如果能训练个“神经网络”,来智能地分配内存,调度作业和进程…… 江寒直觉这个思路应该可行。 只是,系统开销是个问题。 就算是巨型计算机,资源也是有限的。 以削弱整个系统的运行效率,来换取稳定性和适应性,似乎有点得不偿失? 江寒计算了一下,根据目标计算机的规模,如果训练一个“人工神经网络”放进去,差不多要增加10%的算力开销! 至于浪费一些内存,倒比较无所谓,哪个大型机也不差这几十G…… 那么,这个问题有没有可能解决呢? 怎么打造cao作系统,才能提高它运行的效率? 江寒想到了一个事实:相比常用的C,汇编才是效率最高的编程语言。 汇编的执行效率,一般要比C语言高上20%~30%! 如果全盘采用汇编开发的话…… 一个降低大约10%,另一个提高20%以上。 里外一抵消,貌似非但不亏,应该还有得赚? 虽然用汇编搞开发,又麻烦又低效,复杂度直接上天。 可自己强化了这么多的大脑,不就是用来解决这种事情的么? 江寒想到这里,顿时豁然开朗。 于是,权衡了一番利弊后,他毅然做出决定。 就用汇编来写整个cao作系统,并在其中内嵌一个“人工神经网络”。 以内存请求、进程申请等参数,作为神经网络的输入,然后输出动态的分配和调度策略…… 说起来简单,实现起来还挺复杂。 仅用基本的“人工神经网络”,效果不算特别理想。 江寒反复思考、测试后,将“人工神经网络”和“遗传算法”结合到了一起。 试了一下,效果赫然不俗。 只是,这么复杂的算法训练起来自然不容易,足足耗费了半个多月。 这还是学校里的大型计算阵列,换成普通超算,只怕得上万个机时…… 学期临近结束的时候,江寒终于完成了这项工作。 他把多达1g的开发文档和源代码,装进U盘送到了张德昭手中。 老张简单翻看了一下,愣了很久,才不着痕迹地抽了下嘴角。 真特么妖孽啊! 还不到三个月,就干完了这样一份大工程…… 老张想了想:“东西先放我这吧,我先分析、测试一下,别有太多bug。” 没BUG是绝对是不可能的。 Windows卖出去10多年,还不定期发布漏洞补丁呢。 关键在于BUG是否严重、致命。 还有,在目标计算机上,到底能不能跑起来,性能怎么样…… 江寒对此自然没意见。 估计再怎么快,这个系统也得明年才能通过鉴定。 望着江寒离去的背影,老张一阵牙疼。 本来想用这个项目,“稳住”这小子至少半年,可现在…… 还有大半年,这日子可怎么过哟! 可惜这个时候,尽管老张已经有了一定的思想准备,也完全预想不到江寒提交的这份“毕业设计”,将给自己带来怎样的震撼! …… 距离寒假还剩没几天。 江寒从“科研任务”中解脱出来后,和普通大一生一样,参加了院里组织的期末考试。 说形式主义也罢,说多此一举也行。 反正该走的程序,一样也不能少……
上一页
目录
下一章