• 物联网操作系统HelloX V1.78测试版正式发布


    经过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


  • 相关阅读:
    LC.225. Implement Stack using Queues(using two queues)
    LC.232. Implement Queue using Stacks(use two stacks)
    sort numbers with two stacks(many duplicates)
    LC.154. Find Minimum in Rotated Sorted Array II
    LC.81. Search in Rotated Sorted Array II
    LC.35.Search Insert Position
    前后端分离:(一)
    Redis基本使用(一)
    GIT篇章(二)
    GIT篇章(一)
  • 原文地址:https://www.cnblogs.com/new0801/p/6176031.html
Copyright © 2020-2023  润新知