首页

都市情缘

重生八七之传奇

设置

字体样式
字体大小

重生八七之传奇: 第165章 minvm和minide(1/3)

    说到虚拟机,甚多人肯定会想到云计算,确实云计算中的虚拟服务器也是一种虚拟机。只是更早以前还有一种应用级的虚拟机,主要用于托管应用程序和操作系统的交互。比如后世的Java、.Net等都是有名的应用级虚拟机。

    MinVM也是一款应用级的虚拟机,它主要把一种字节码程序实时翻译成操作系统能识别的机器指令,用以代替应用程序直挥计算机硬件来执行机器指令。袁明这个C和Java双料程序员不是吃素的,上辈子他参与过OpenJDK的开源项目,自己写JVM核心代码,也研究过整个JVM的项目代码。OpenJDK是后世JavaVM的开源版本,由Java所有者Sun公司在2006年推出,并负责维护。

    初始的MinVM不需要多大,因为它和历史上的JavaVM不一样,它不是为一个新的语言而定制的,所以无需重新做编译器,袁明利用GNU的GCC编译器源码改造后,去除内存管理和指针后,增加了堆栈管理作为原来的内存管理替代品。另外取消了GCC的词法和语法分析器,改为字节码分析器。这等于定制化GCC后,在外部套了一个解释器的壳子,所以代码量小了不是一点点。

    主要的困难在于从未有过的内存垃圾回收器,这个在后世JavaVM中也是核心技术。幸好袁明看过这个垃圾回收器的源代码,所以他很容易就把这个内存垃圾回收器的设计给复制出来,甚至核心的代码都自己写了。

    另一项困难不是技术难度,而是工作量大。MinVM需要提供MSDos、MinOS、Win等主流操作系统的支持,所以适配开发的工作量非常大。袁明把MinVM为每一种操作系统,发布一个分支版本,这些分支版本最终合成一个大的发布版本。用户可以根据自己的操作系统有选择的下载相应操作系统版本的MinVM。所以这部分的开发人员最多,测试的复杂度也最高。

    MinVM这个项目主要由袁明自己负责,除了核心代码,他只负责给开发人员讲解设计,review他们的代码,具体的开发工作都是由项目小组自己完成。其实如果袁明自己写,也不是不可以,甚至能更快些完成。

    袁明本质上还是一个程序员,这一点无论他赚多少钱,有了多大的事业,都未曾变过。每一行代码的敲击,会让他无比投入;每次调试,都会让他无比激动;每次抓虫子,都会让他彻夜难眠。自从他开始Min软件平台项目,就百分之一万的投入了进去,就连陆倩都有被冷淡的感觉了,也许程序员们谈恋爱难的主要原因就在于此吧。幸好陆倩是个懂事的,她看得出袁明最近很忙,所以就没有过多打搅他。

    考虑到锻炼项目组成员地能力,以及未来这个项目需要更多人参与进来,让MinVM不断地扩充和升级。而且袁明也不想完全绑定在这个项目上,他还有很多大事情要做,没那么多时间和精力来关注具体地软件开发。所以他在完成了最初的设计,和一些核心代码之后,更多的是以指导那些开发人员为主,甚至会给他们开一些分享课程,让他们尽快提高能力。

    这个时代还是有热血的,很多人充满了对知识、自由、爱情和高尚情操的向往,所以那是才会有北岛、芒克、三毛、王朔这些文学巨子,也有崔健、窦唯、黑豹这样热血摇滚。

    在《十三邀》里,马东反问许知远:“你说现在的文化粗鄙了,那我们曾经精致过吗?”而这些人每一个都可以回答:“当然,我们曾经无比向
本章还未完,点击下一页继续阅读>>>