物联网操作系统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
物联网操作系统HelloX V1.78测试版正式发布的更多相关文章
- 物联网操作系统HelloX V1.80测试版发布
经过HelloX开发团队近半年的努力,在HelloXV1.79版本基础上,增加许多功能特性,并对V1.79版本的一些特性进行了进一步优化之后,正式形成HelloX V1.80测试版本.经相对充分的测试 ...
- 物联网操作系统HelloX V1.77(beta)版本发布
物联网操作系统HelloX V1.77发布 经过近半年的努力,物联网操作系统HelloX V1.77版本正式完成,源代码已上载到github(github.com/hellox-project/Hel ...
- 物联网操作系统HelloX V1.79发布公告
经过HelloX开发团队近半年的努力,在HelloX V1.78版本基础上,增加许多功能特性,并对V1.78版本的一些特性进行了进一步优化之后,正式形成HelloX V1.79测试版本.经相对充分的测 ...
- 基于物联网操作系统HelloX的智慧家庭体系架构
基于物联网操作系统HelloX的智慧家庭体系架构 智慧家庭是物联网的一个分支应用,是一个被广泛认同的巨大IT市场空间.目前市场上已经有很多针对智慧家庭的产品或解决方案,但与移动互联网不同,智慧家庭至今 ...
- 物联网操作系统HelloX已成功移植到MinnowBoard MAX开发板上
在HelloX开发团队的努力下,以及Winzent Tech公司(总部在瑞典斯德哥尔摩)的支持下,HelloX最新版本V1.78已成功移植到MinnowBoard MAX开发板上.相关源代码已经发布到 ...
- 物联网操作系统HelloX开发者入门指南
HelloX开发者入门指南 HelloX是聚焦于物联网领域的操作系统开发项目,可以通过百度搜索"HelloX",获取详细信息.当前开发团队正在进一步招募中,欢迎您的了解和加入.如果 ...
- 物联网操作系统HelloX开发人员入门指南
HelloX开发人员入门指南 HelloX是聚焦于物联网领域的操作系统开发项目,能够通过百度搜索"HelloX".获取具体信息. 当前开发团队正在进一步招募中,欢迎您的了解和添加. ...
- 物联网操作系统HelloX应用编程指南
HelloX操作系统应用编程指南 HelloX应用开发概述 可以通过三种方式,在HelloX操作系统基础上开发应用: 1. 以内部命令方式实现应用,直接编译链接到HelloX的内核she ...
- 让我们共同构筑物联网起飞的平台:物联网操作系统Hello China寻求应用合作伙伴
经过几天的努力,终于把Hello China V1.76版的内核移植到基于Cortex-M3内核的STM32 chipset上.因为还希望进一步写一个USART驱动程序,因此详细的移植文档,预计一周之 ...
随机推荐
- 【DP/二分】BZOJ 1863:[Zjoi2006]trouble 皇帝的烦恼
863: [Zjoi2006]trouble 皇帝的烦恼 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 465 Solved: 240[Submit][ ...
- Machine Learning Done Wrong
Machine Learning Done Wrong Statistical modeling is a lot like engineering. In engineering, there ar ...
- SQLServer 触发器 同时插入多条记录有关问题
由于 SQL Server 的触发器, 没有 FOR EACH ROW (ORACL中有)的选项, 有时候不正确的使用 inserted 与deleted 可能会有点麻烦. 下面来一个简单的例子 -- ...
- [设计模式] 20 状态模式 State Pattern
在GOF的<设计模式:可复用面向对象软件的基础>一书中对状态模式是这样说的:允许一个对象在其内部状态改变时改变它的行为.对象看起来似乎修改了它的类.状态模式的重点在于状态转换,很多时候,对 ...
- java基础知识回顾之---java String final类普通方法的应用之字符串数组排序
/* * 1,给定一个字符串数组.按照字典顺序进行从小到大的排序. * {"nba","abc","cba","zz", ...
- java基础知识回顾之---java String final类构造方法
/** * String 构造方法学习 * String(byte[ ] bytes):通过byte数组构造字符串对象. * String(byte[] bytes, int offs ...
- POJ2418Hardwood Species
题意 : 输入若干个树木品种,里边有的是重复的,让你统计每个品种占输入的总数量的百分比,最后按字典序输出 思路 : 本题数量很大,所以采用直接统计的方式会超时,而采用的方法可以用二叉搜索树,或者用ma ...
- Python新式类和旧式类的区别
新式类是为了统一**而在2.2中开始引入的. 代码讲解 上面的例子比较明白的说明了问题. B是定义的新式类.那么输入b的时候,不论是type(b),还是b.__class__都是输出的<clas ...
- IOS 开发中判断字符串是否为空字符的方法
NSUInteger是无符号的整型, NSInteger是有符号的整型,在表视图应用中常见 NSUInteger row= [indexPath row];因为这是显示tableViewCell有多少 ...
- python各种类型转换-int,str,char,float,ord,hex,oct等
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到 ...