经过HelloX开发团队近半年的努力,在HelloXV1.79版本基础上,增加许多功能特性,并对V1.79版本的一些特性进行了进一步优化之后,正式形成HelloX V1.80测试版本。经相对充分的测试和验证之后,现正式发布。相关代码,已全部上载到github上(github.com/hellox-project/HelloX_OS),欢迎对HelloX感兴趣的朋友下载测试和试用,并进一步反馈问题。
相比V1.79,最新发布的V1.80版本主要具备了如下特性:
增加了SSH和Telnet客户端的支持
可以通过HelloXV1.80版,作为SSH的客户端,来远程登录支持SSH或Telnet服务的服务器,进行远程管理和控制。如下是一个截图:
SSH客户端代码直接调用了HelloX的TCP/IP协议栈(基于lwIP),在此基础上通过实现加密和报文验证功能,实现了完整的SSH安全连接。可以通过SSH这个基本的安全连接能力,实现多种多样的应用侧安全功能。这在物联网领域是必须的。
增加了UVC支持
最新版本的HelloX,增加了对UVC(USB VideoClass)的支持,能够自动识别基于USB接口的视频设备,并对视频设备进行控制,启动录像,抓取图片等功能。由于V1.80版的GUI功能尚未得到进一步增强,因此当前版本的UVC,只能通过文本界面来操作USB摄像头设备,无法查看具体的视频信息。
在后续的版本中,会进一步增加GUI的支持,这样就可以实现本地化的视频解码和显示功能。
内核得到了进一步的增强
具备弹性可伸缩的内核,是物联网操作系统的最基本特性。V1.80 Beta版本的HelloX的内核机制,得到了进一步的加强,主要是面向物联网应用。主要增强的内核机制和特性如下:
1. 内核异常机制得到进一步增强,可以通过异常信息,判断出导致异常的指令码,源代码文件,代码行数,等等。这样就有助于问题的快速定位;
2. 通过对象签名技术,进一步增强了内核的安全和可靠。很多情况下,如果使用一个非法的指针调用操作系统的API,如果操作系统内核不对这个指针进行合法性检查,那么可能会导致内核崩溃。而对象签名就是一种内核对象指针检查技术。内核通过检查指针所指向的内核对象的数字签名,判断该指针是否是一个合法内核对象指针。如果是,则进行下一步操作,否则直接忽略掉,甚至引发一个异常。这个机制是在HelloX的应用程序开发过程中识别和实现的;
3. 增加了内核中断统计功能。可以实时的统计系统中所有中断的发生次数和频率,对于异常的中断(比如因为硬件故障而导致的频繁中断),直接扼杀掉,确保了内核的整体安全性;
4. 系统时钟周期降低为5ms,同时可支持动态系统时钟周期调整。一般的操作系统的系统时钟,都是在10ms或20ms上下,HelloX把系统时钟调整为5ms,可以使得系统对外部事件的反应更加实时,对网络报文的处理更加准确。但是过高的系统时钟频率会导致电量的消耗,这在很多物联网应用中是不允的,因此HelloX V1.80版本又增加了系统时钟动态调整机制,可以根据需要,实时调整系统时钟的频率。比如为了节约电量,可以把系统时钟周期由5ms调整为100ms,这样会大大降低系统能耗。
除此之外,还有其它一些内核层面的增强和优化。
HelloX后续开发计划
V1.80版只是HelloX开发过程中的一个小小的里程碑,我们不会有任何停顿,继续瞄准物联网操作系统方向,继续对HelloX做进一步深入的开发和应用推广。在短期内,我们初步计划在下列两个方面进行进一步的增强:
1. 高度安全的客户端。随着云计算的发展,越来越多的应用和服务将构筑在云上,人们通过客户端来访问云资源。在一些安全要求极度苛刻的场景下,采用通用操作系统作为客户端,存在很大的安全隐患。因此我们将以自主可控的HelloX内核为基础,增强其安全能力,来打造高度安全可靠的云终端。对于安全保证机制,除了基本的数字证书,生物识别等等加密和认证技术外,我们还计划纳入“行为识别”技术,在操作系统内核层面识别使用者的行为习惯(比如敲键速度,关机习惯,等等),来对使用者进行识别。如果发现异常,则会引发不同级别的处理措施,来保证极端需求情况下的安全性;
2. 通过引入一个物联网系统框架,并在智慧家庭中应用和推广。下图示意了物联网操作系统的整体框架。物联网操作系统内核和外围功能组件(比如TCP/IP协议栈,SSH安全支持,文件系统,USB支持等等)都已经具备了,后续将考虑移植业界流行的IoTivity物联网协同框架,形成一个完整的物联网操作系统平台,并在智慧家庭中进行推广和应用。
特别感谢
特别感谢飓风同学(QQ:370543742),独立实现了SSH和Telnet客户端到HelloX内核的移植和调试工作,同时优化了基于PC的字符显示功能,实现了支撑Linux输出的彩色文本显示方式,为V1.80的开发做出了重要贡献。
同时感谢广东物联网协会,中科院软件研究所,北京大学等单位给予的鼓励,以及对HelloX开发方向的建议和指导。
最后,为HelloX V1.80取了一个nickname,叫做babygirl,原因如下(算是夹了点私货:-)):
感谢所有关注和支持HelloX项目的朋友和同仁,可通过下列方式,了解和参与物联网操作系统HelloX项目:
QQ群:38467832,QQ/微信:89007638
物联网操作系统HelloX V1.80测试版发布的更多相关文章
-
物联网操作系统HelloX V1.78测试版正式发布
经过HelloX开发团队近四个月的努力,在HelloX V1.77版本基础上,增加许多功能特性,并对V1.77版本的一些特性进行了进一步优化之后,正式形成HelloX V1.78测试版本,经相对充分的 ...
-
物联网操作系统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移植mile stone之一:移植基础版本V1.76发布
Hello China V1.76版发布,这是向ARM系列CPU移植的基础版本.相对V1.75版,该版本主要做了如下的一些调整: 1. 通过宏定义的方式对内核实现了模块化,开发者可以通过开启或关闭预 ...
随机推荐
-
AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面。。。
SPA(Single Page Application)指的是通单一页面展示所有功能,通过Ajax动态获取数据然后进行实时渲染,结合CSS3动画模仿原生App交互,然后再进行打包(使用工具把Web应用 ...
-
从零开始用gulp
gulp是基于流的前端构件化工具.目前比较火的前端构建化工具还是挺多的,grunt gulp fis3等等. 这个鬼东西有什么用?请参考https://www.zhihu.com/question/3 ...
-
[转载]python gevent
原地址: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001407503089 ...
-
Javascript 笔记与总结(2-16)事件对象
事件对象:事件发生的瞬间,发生位置.时间.鼠标按键.触发的节点等信息,被打包成一个对象,此对象,系统自动传递给事件函数的第一个参数. [例]记录 鼠标划过图片时的事件对象 <!DOCTYPE h ...
-
MVC&;&;MVP
Classic MVC Classic MVC 大概上世纪七十年代,Xerox PARC的Trygve提出了MVC的概念. 并应用在Smalltalk系统中,为了和其它类型的MVC加以区分,历史上习惯 ...
-
弹出窗口内嵌iframe 框口自适应
说一下,弹出窗口还有内嵌一个iframe 这种模式应该是不科学的,但是公司项目里面就偏偏用到了,它这高低还不能只适应,所以我痛苦的日子来了 分析一下: 首先window.showDialog 方法的时 ...
-
OC语言(二)
十.匿名对象 即不将对象赋给指针,而是直接使用 注意new对象的时候要用[ ]嵌套 例如:[[Car new] run]; 十一.枚举书写规范 注意空格 //注视 typedef enum { } X ...
-
Redis主从+读写分离中可以在从机读取到过期数据
参考链接: https://mp.weixin.qq.com/s?__biz=MzIyNzUwMjM2MA==&mid=2247483696&idx=1&sn=c69e364b ...
-
1 Servlet 简介
1 Servlet是sun公司提供的一门用于开发动态web资源的技术.用户若用Java技术开发一个动态web资源或者网页,需要完成以下2个步骤:① 编写一个Java类,实现servlet接口② 把开发 ...
-
从Zero到Hero,OpenAI重磅发布深度强化学习资源
https://zhuanlan.zhihu.com/p/49044306 https://spinningup.openai.com/en/latest/