物聯網操作系統HelloX V1.81發佈公告

物聯網操作系統HelloX V1.81發佈公告

經過HelloX開發團隊近半年的努力,在HelloX V1.80版本基礎上,增加許多功能特性,並對V1.80版本的一些特性進行了進一步優化之後,正式形成HelloX V1.81測試版本。經相對充分的測試和驗證之後,現正式發佈。相關代碼,已全部上載到github上(github.com/hellox-project/HelloX_OS),歡迎對HelloX感興趣的朋友下載測試和試用,並進一步反饋問題。

除繼續保持V1.80所有特性之外,V1.81版本主要對下列特性進行了支持或優化:

1.        成功移植Samsung的JavaScript引擎-JerryScript。這使得HelloX可以支持JavaScript編程,而JavaScript被認爲是物聯網時代的主要應用編程語言;

2.        優化了HelloX的外部執行模塊加載功能,當前可以加載PE格式的可執行文件,這樣的結果就是,HelloX的內核與外圍模塊或者應用程序可以完全解耦,內核與外部模塊之間採用系統調用進行通信。比如,在x86平臺上,HelloX的內核採用Visual Studio編譯開發,而應用程序完全可以採用GCC等編程環境進行開發;

3.        優化並豐富了C運行庫(C Library)的功能,增加了諸如浮點運算支持,時間支持等等基礎功能。同時把C運行庫從內核中剝離出來,作爲公共模塊存在,可以供內核調用,也可以供應用程序使用;

4.        內核功能的進一步優化。

在HelloX V1.81版本的開發過程中,我們始終堅持“穩定可靠,不留問題死角,可直接應用”爲原則,所有代碼都經過了詳細深入的內部測試。在移植JerryScript的時候,發現並修補了JerryScript的多個問題或BUG。比如:

1.   在把浮點數字轉換爲字符串時,Jerry定義了一個固定的字符串緩衝區(64字節)。這在一些浮點數小數比較多的情況下(超過64位),會導致緩衝區溢出。在HelloX上,我們對此做了優化,避免了緩衝區溢出問題;

2.   在移植過程中,發現JerryScript的源代碼缺少了很多內置對象(built-in objects)的支持函數。我們根據JerryScript的其它內置對象的實現,補充了這些支持函數;

3.   還有一些其它相關的修訂或代碼修改,在此不做贅述。

HelloX V1.81的內核,與JavaScript引擎打包在一起,可執行代碼的總大小可控制在600K左右,可滿足大多數嵌入式硬件的要求。

爲了便於體驗和測試HelloX最新版本的功能,我們專門製作了一個虛擬硬盤文件(/bin目錄下,vdisk.vhd壓縮文件)。感興趣的朋友可以直接把這個虛擬硬盤掛接到虛擬機上(比如VirtualBox),引導運行即可。下圖示意了一個簡單的JavaScript開發截屏:

 

在V1.81的實現中,JerryScript解釋引擎被編譯成一個外部可執行模塊,並保存在外部存儲介質中。需要時,通過loadapp命令,加載到內存中執行。

我們編寫了一個簡單的JavaScript執行shell,執行”loadapp jerryvm.exe”之後,即可加載JerryScript並啓動這個shell。程序員可以編寫JavaScript腳本,完成之後,按下“Ctrl + Z”組合鍵,即可執行剛剛編寫的代碼。要退出這個shell,只需按下”Ctrl + C”組合鍵即可。

需要說明的是,對JavaScript的支持,只是HelloX支持物聯網應用開發的手段之一。並不是所有的物聯網應用都適合用JavaScript開發,畢竟這是一種解釋型語言,執行效率和實時性是期軟肋。作爲一個全棧的操作系統,HelloX可以提供多層次的API或者機制,來滿足幾乎所有物聯網應用的開發。比如,爲了適應實時性開發的要求,HelloX可以直接提供C語言開發接口。而僅僅提供JavaScript語言開發的環境,顯然無法具備這種能力。

作爲物聯網操作系統,HelloX將始終聚焦物聯網領域的應用,爲物聯網量身定製一套最優的系統軟件解決方案。我們認爲,只有一個內核的支撐,是遠遠不夠的。物聯網和智能硬件的有效發展和壯大,需要更多技術的支持,比如人工智能,分佈式計算,機器學習,等等。但一個穩定可靠和可擴展的物聯網操作系統,是這些技術的最好生存土壤。後續我們在進一步完善內核的同時,將在這些領域進行探索和研究,並依託HelloX進行落地實現,真正構築一套支撐未來網絡的軟件數字神經。

物聯網操作系統HelloX的功能已逐漸完善,但是距離我們構想的目標,仍有一定的距離。下面是我們後續的開發及擴展計劃:

1.   進一步移植三星的IoT.js物聯網開發環境,支持類似Node.JS一樣的物聯網應用開發。JerryScript只是一個執行引擎,具體物聯網相關的功能,都是在IoT.js中實現的;

2.   開發一個包括智能手機客戶端,後臺APP Store等在內的通信框架,使得智能手機客戶端可以直接控制運行HelloX的物聯網設備,從APP Store上下載應用(JavaScript腳本)並執行。這與智能手機的應用市場功能是類似的。我們認爲,“系統軟件與應用軟件分離”,“軟件與硬件分離”,是物聯網領域的開發特點。而物聯網APP Store就是支撐第一個特點的基礎;

3.   構築一個與HelloX配套的大數據平臺。缺省情況下,運行HelloX的物聯網設備,會把相關數據存儲在這個大數據平臺下。當然,應用HelloX的物聯網設備開發商也可以改變這種默認行爲;

4.   對HelloX內核和外圍輔助功能進行進一步的開發和優化。比如對C運行庫(Library)的進一步豐富和擴展,對HelloX內核系統調用機制的進一步優化和擴展等;

5.   尋求硬件合作伙伴:目前,HelloX已具備應用能力。歡迎硬件開發商與我們合作,一起在實際產品中應用HelloX操作系統。HelloX社區將提供技術支持。

歡迎有志於物聯網和系統軟件開發的人士加入加入我們,進一步開發和優化HelloX操作系統。具體的細節,歡迎加入QQ羣討論:38467832

對HelloX和物聯網操作系統的進一步信息,請關注blog:blog.csdn.net/hellochina15

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章