经过HelloX开发团队近四个月的努力,在HelloX V1.77版本基础上,增加许多功能特性,并对V1.77版本的一些特性进行了进一步优化之后,正式形成HelloX V1.78测试版本,经相对充分的测试和验证之后,现正式发布。相关代码,已全部上载到githu上(github.com/hellox-project/HelloX_OS),欢迎对HelloX感兴趣的朋友下载测试和试用,并进一步反馈问题。

除继续保持V1.77所有特性之外,V1.78版本主要对下列特性进行了支持或优化:

1.        移植了一个被业界广泛接受,面向嵌入式应用的Java虚拟机JamVM。在字符界面下,输入“jvm”命令,即可查看JamVM的相关版本信息和帮助信息;

2.        专门开发了一个制作引导介质的工具,通过该工具,可以创建虚拟硬盘,用于引导虚拟机,也可以创建USB引导盘,用于引导实际的计算机;

3.        对文件系统进行了进一步的优化,现在可以比较完善的支持FAT32文件系统,包括物理硬盘或虚拟硬盘的读写及控制;

4.        改进了GUI功能,把GUI模块正式作为一个组件进行发布。可以在shell模式下,输入“gui”命令,进入图形模式。如果希望从图形模式退出,可以按下“ctrl+alt+del”组合键;

5.        对于开发工具,V1.78正式迁移到MicrosoftVisual Studio Community版。该版本的VS是面向开源社区的免费版本,功能特性和用户体验更加完善;

6.        为了支撑JamVM的移植,实现了一个符合POSIX标准的C语言支持库。通过对HelloX的内核功能进行封装,实现了诸如线程控制,同步,文件访问,时间管理等等常用功能的API,后续可以支持更加广泛的开源组件移植;

7.        最后,为了支撑最新的Java虚拟机等特性,对内核功能进行了进一步的丰富,增加了诸如条件等待(Condition Wait),线程的非主动挂起和恢复,初步的进程模型等功能。

开发团队中的Mr. Tywind Huang充分发挥其高超的编程技术和丰富的经验,独立开发了引导介质制作工具,优化了文件系统,实现了部分的POSIX支持库,并做了其它一些测试或优化工作,在整个HelloX V1.78版本的开发中做出了突出贡献。Mr. Erwin Wang则在FAT32长文件名的支持,内核性能提升,USB启动广泛性测试,以及GUI的优化上,做出了大量工作。同时,HelloX讨论群组中的很多朋友,都对最新的版本进行了实际测试和试用,给出了很多改进优化建议,在此统一表示感谢。

作为物联网操作系统,HelloX后续将继续聚焦物联网“三大难题”,持续开发和优化:

1.        解决物联网面临的“软硬件不分离”问题,实现物联网软件和硬件的分离。目前“烟囱式”的物联网商业模式,导致物联网服务提供商,物联网设备提供商,以及链接平台提供商紧密耦合在一起,要介入物联网领域,必须”一竿子插到底“,从上到下面面俱到,严重分散了资源投入,弱化了自身优势领域。或者组成封闭的联盟,形成一个一个的”孤岛“,不能形成一个开放的体系。通过软硬件分离,可以解决这个问题。物联网服务商只需要开发一个或者一类应用程序,即可对此类物联网终端进行统一管理,无需考虑底层硬件的多样性,也无需考虑多厂商终端设备的适配,只要聚焦提供优势的服务即可。同样地,对物联网设备提供商来说,也无需考虑上层的服务平台,只需要实现基本的硬件功能,把自身优势充分发挥出来即可。这样一种模式,不但可以大大降低物联网领域参与者的成本,也很容易形成一个开放的生态环境,有效促进整个行业的发展。具体的实现上,就是基于HelloX的Java虚拟机,建立一个面向物联网的应用框架和支持类库;

2.        解决物联网面临的“碎片化“问题,统一开发平台,降低设备厂商的开发成本。由于物联网硬件碎片化,配置多样性的存在,导致物联网设备厂商不得不选择多个开发平台和多套工具,比如针对低端的传感器,需要选择资源占用率低的嵌入式操作系统,而对于配置较高的智能家电,又不得不选择架构和API完全不同的另外一套操作系统和开发工具。这样导致的结果就是,人员技能不能复用,产品维护经验库不能共享,大大增加了开发和维护成本。HelloX则充分考虑这种场景,通过灵活的伸缩性配置,并配合定制化的开发工具,可以实现”一个操作系统“,”一套API”,“一套开发工具”,“一种管理平台”的效果,大大降低物联网设备厂商的开发成本;

3.        实现物联网的“有效协同“。目前的物联网终端之间,不同系统之间,由于缺乏一个统一的平台支持,无法进行有效协同。通过构筑一个统一的协同框架,HelloX可以实现物联网的多层面”有效协同“,比如在终端层面,不同领域的终端,可以直接在本地进行协同,实现本地局域网的智能化。举一个例子,智能汽车和智能路灯之间,可以通过本地协同,来实现最短的红灯等待时间。

同时,由于HelloX架构本身伸缩性较强,而且一开始就是以通用计算机作为应用对象,后续将探索向通用操作系统发展的可行性。

最后,还是要重复一下几乎在每篇文章中都强调的话,就是我们在做的是一种探索,一种有利于行业发展,有利于促进人类与自然更加和谐共存,从而提升人们生活质量的尝试。这种尝试的过程和结果都充满了不确定性和未知因素,但是也充满了挑战和乐趣。不论结果如何,我相信对整个行业的发展,对我国系统软件的发展,甚至对人类与自然更加有效统一的目标,都是有促进作用的,哪怕这种促进作用非常微不足道。这是支撑我们努力向前走的精神动力。

对于个人来说,可能不会带来直接的经济回报,但是在精神层面的收获,却异常丰富。最开始开发操作系统的时候,最大的挑战是对自身技能的挑战,随着开发的深入,逐渐转换成对个人毅力的挑战,后来发现,面临的新的问题和局面,对个人的品格,提出了更大的挑战。截至现在,越来越觉得,挑战又慢慢转化到个人胸怀层面。以后呢?或许就是对生命认识的挑战...总之,越来越发现,开发操作系统,已经不像在做事情,而是人生旅程的一个附属表现...

个人观点和感受,有感而发,希望朋友们斧正。另,HelloX物联网操作系统开源社区正在筹建,并取得了一些社会团体和企业的支持,欢迎有志于物联网和系统软件开发的人士加入。具体的细节,欢迎加入QQ群讨论:38467832

物联网操作系统HelloX V1.78测试版正式发布的更多相关文章

  1. 物联网操作系统HelloX V1.80测试版发布

    经过HelloX开发团队近半年的努力,在HelloXV1.79版本基础上,增加许多功能特性,并对V1.79版本的一些特性进行了进一步优化之后,正式形成HelloX V1.80测试版本.经相对充分的测试 ...

  2. 物联网操作系统HelloX V1.77(beta)版本发布

    物联网操作系统HelloX V1.77发布 经过近半年的努力,物联网操作系统HelloX V1.77版本正式完成,源代码已上载到github(github.com/hellox-project/Hel ...

  3. 物联网操作系统HelloX V1.79发布公告

    经过HelloX开发团队近半年的努力,在HelloX V1.78版本基础上,增加许多功能特性,并对V1.78版本的一些特性进行了进一步优化之后,正式形成HelloX V1.79测试版本.经相对充分的测 ...

  4. 基于物联网操作系统HelloX的智慧家庭体系架构

    基于物联网操作系统HelloX的智慧家庭体系架构 智慧家庭是物联网的一个分支应用,是一个被广泛认同的巨大IT市场空间.目前市场上已经有很多针对智慧家庭的产品或解决方案,但与移动互联网不同,智慧家庭至今 ...

  5. 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上

    在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...

  6. 物联网操作系统HelloX开发者入门指南

    HelloX开发者入门指南 HelloX是聚焦于物联网领域的操作系统开发项目,可以通过百度搜索"HelloX",获取详细信息.当前开发团队正在进一步招募中,欢迎您的了解和加入.如果 ...

  7. 物联网操作系统HelloX开发人员入门指南

    HelloX开发人员入门指南 HelloX是聚焦于物联网领域的操作系统开发项目,能够通过百度搜索"HelloX".获取具体信息. 当前开发团队正在进一步招募中,欢迎您的了解和添加. ...

  8. 物联网操作系统HelloX应用编程指南

    HelloX操作系统应用编程指南 HelloX应用开发概述 可以通过三种方式,在HelloX操作系统基础上开发应用: 1.        以内部命令方式实现应用,直接编译链接到HelloX的内核she ...

  9. 让我们共同构筑物联网起飞的平台:物联网操作系统Hello China寻求应用合作伙伴

    经过几天的努力,终于把Hello China V1.76版的内核移植到基于Cortex-M3内核的STM32 chipset上.因为还希望进一步写一个USART驱动程序,因此详细的移植文档,预计一周之 ...

随机推荐

  1. PAT-乙级-1048. 数字加密(20)

    1048. 数字加密(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求实现一种数字加密方法.首先固 ...

  2. 如何用 ANTLR 4 实现自己的脚本语言?

    ANTLR 是一个 Java 实现的词法/语法分析生成程序,目前最新版本为 4.5.2,支持 Java,C#,JavaScript 等语言,这里我们用 ANTLR 4.5.2 来实现一个自己的脚本语言 ...

  3. 如何使用工具进行线上 PHP 性能追踪及分析?

    工作了一两年的 PHPer 大概都多多少少知道一些性能分析的工具,比如 Xdebug.xhprof.New Relic .OneAPM.使用基于 Xdebug 进行 PHP 的性能分析,对于本地开发环 ...

  4. change Username for SVN(Subclipse) in Eclipse

    Subclipse does not own the information about users and passwords (credentials), so there is no way f ...

  5. MonthPicker

    可以只选择MMM-yyyy的样式,而不需要确定day. http://lucianocosta.info/jquery.mtz.monthpicker/

  6. 2013山东省ICPC结题报告

    A.Rescue The Princess 已知一个等边三角形的两个顶点A.B,求第三个顶点C,A.B.C成逆时针方向. 常规的解题思路就是用已知的两个点列出x,y方程,但这样求出方程的解的表达式比较 ...

  7. 暑假集训单切赛第一场 UVA 1737 Mnemonics and Palindromes 3

    题意:求由a,b,c三个字母组成的长度为n的字符串,其任意连续的至少长度大于等于2的子字符串都不是回文,问这个字符串有多少种?并字典序输出 如果所有种类的字符串总长度大于100000个字符,就输出TO ...

  8. JsRender系列-11

    <!DOCTYPE html> <html> <head> <script type="text/javascript" src=&quo ...

  9. lintcode:Fibonacci 斐波纳契数列

    题目: 斐波纳契数列 查找斐波纳契数列中第 N 个数. 所谓的斐波纳契数列是指: 前2个数是 0 和 1 . 第 i 个数是第 i-1 个数和第i-2 个数的和. 斐波纳契数列的前10个数字是: 0, ...

  10. 7、SpringMVC源码分析(2):分析HandlerAdapter.handle方法,了解handler方法的调用细节以及@ModelAttribute注解

    从上一篇 SpringMVC源码分析(1) 中我们了解到在DispatcherServlet.doDispatch方法中会通过 mv = ha.handle(processedRequest, res ...