成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

物聯(lián)網(wǎng)操作系統(tǒng)HelloX V1.88版功能描述

Yi_Zhi_Yu / 1972人閱讀

摘要:用戶態(tài)功能得到加強(qiáng)。與之對(duì)應(yīng)的是另一種操作系統(tǒng)體系架構(gòu)微內(nèi)核,在微內(nèi)核架構(gòu)下,即使是操作系統(tǒng)內(nèi)核功能,比如文件系統(tǒng)網(wǎng)絡(luò)協(xié)議棧設(shè)備驅(qū)動(dòng)程序等,也是以進(jìn)程形式實(shí)現(xiàn),每個(gè)功能是一個(gè)獨(dú)立的進(jìn)程,占用獨(dú)立的地址空間。

經(jīng)過HelloX開發(fā)團(tuán)隊(duì)近一年的努力,在HelloX V1.86版本基礎(chǔ)上,增加許多功能特性,并對(duì)V1.86版本的一些特性進(jìn)行了進(jìn)一步優(yōu)化之后,正式形成HelloX V1.88版本。經(jīng)相對(duì)充分的測(cè)試和驗(yàn)證之后,現(xiàn)正式發(fā)布。相關(guān)代碼,已全部上載到github上(github.com/hellox-project/HelloX_OS),歡迎對(duì)HelloX感興趣的朋友下載測(cè)試和試用,并進(jìn)一步反饋問題。

V1.88版本完成時(shí)間較長(zhǎng),主要原因是在過去的一年里,我從事的單位持續(xù)遭受各種外部壓力。這些壓力傳遞到員工身上,導(dǎo)致工作量和壓力倍增,業(yè)余時(shí)間大大壓縮。大多數(shù)時(shí)候都是晚上10點(diǎn)以后才下班,周末基本都要加班。即使在這樣緊張的工作壓力下,HelloX的開發(fā)也沒有中斷,一直持續(xù)。而且對(duì)代碼的質(zhì)量要求更高,因?yàn)橥ㄟ^過去一年多的遭遇,使我認(rèn)識(shí)到基礎(chǔ)軟件的重要和必要性。HelloX屬于基礎(chǔ)軟件,必須夯實(shí)基礎(chǔ),做到最大程度的容錯(cuò)和外部適應(yīng)。

    1. V1.88主要功能簡(jiǎn)介

除繼續(xù)保持V1.86所有特性之外,V1.88版本主要對(duì)下列特性進(jìn)行了支持或優(yōu)化:

  1. 高性能存儲(chǔ)訪問支持。HelloX現(xiàn)有版本已經(jīng)支持相對(duì)完善的文件系統(tǒng),比如FAT,NTFS(read only),裸文件系統(tǒng)等等。但文件I/O的性能還跟不上要求,當(dāng)前文件I/O的吞吐量大約在20M BPS上下,而且對(duì)磁盤的訪問是通過調(diào)用BIOS服務(wù)完成的,涉及到CPU模式的切換,大大影響整體效率。在V1.88版本中,HelloX實(shí)現(xiàn)了一個(gè)完整的基于IDE/AHCI接口的硬盤驅(qū)動(dòng)程序,同時(shí)完整優(yōu)化了FAT文件系統(tǒng),系統(tǒng)的文件I/O吞吐率能夠達(dá)到200M以上。這樣HelloX就具備了做網(wǎng)絡(luò)NAS、文件服務(wù)器等的能力。
  2. 用戶態(tài)功能得到加強(qiáng)。每一個(gè)應(yīng)用程序,都可以為進(jìn)程形式運(yùn)行,有自己獨(dú)立的地址空間(32位),可以在自己的地址空間內(nèi)創(chuàng)建多個(gè)用戶線程實(shí)現(xiàn)并發(fā)。通過系統(tǒng)調(diào)用(system call)陷入內(nèi)核,訪問內(nèi)核功能。不同進(jìn)程之間的數(shù)據(jù)和程序代碼嚴(yán)格隔離,最大限度的保證系統(tǒng)整體安全性。在V1.88版本中增加的TFTP Server功能,就是在用戶態(tài)實(shí)現(xiàn)的一個(gè)應(yīng)用程序,可以按需加載和運(yùn)行;
  3. 實(shí)現(xiàn)相對(duì)完整的用戶態(tài)代碼庫(kù)。引入基于ptmalloc開源代碼的用戶態(tài)堆內(nèi)存管理算法,引入ANSI標(biāo)準(zhǔn)的C語言標(biāo)準(zhǔn)庫(kù),用戶只需要按照通用的開發(fā)方法即可完成HelloX應(yīng)用程序的開發(fā),與開發(fā)Windows、Linux等操作系統(tǒng)應(yīng)用沒有任何不同。V1.88版本引入了開源的CPUID代碼庫(kù),幾乎在沒有修改的情況下編譯成為一個(gè)用戶態(tài)應(yīng)用程序-cpuid.exe,可以在HelloX下查看CPU的各類信息;
  4. 實(shí)現(xiàn)完整的BSD風(fēng)格的socket系統(tǒng)調(diào)用。可以在用戶態(tài)調(diào)用socket API開發(fā)網(wǎng)絡(luò)類應(yīng)用程序,在V1.88版本中,通過socket API函數(shù),實(shí)現(xiàn)了兩個(gè)功能:TFTP服務(wù)器和telnet服務(wù)器。支持TFTP協(xié)議的客戶端,可以與運(yùn)行HelloX操作系統(tǒng)的服務(wù)器,通過TFTP協(xié)議傳輸文件。比如HelloX產(chǎn)生的日志文件,通過TFTP client可以下載到個(gè)人PC上,進(jìn)行分析。在個(gè)人PC上安裝一個(gè)標(biāo)準(zhǔn)的telnet client軟件,即可以telnet到hellox上進(jìn)行遠(yuǎn)程操作,與通過串口線、鍵盤等操作手段完全一致。基于TFTP和Telnet,可實(shí)現(xiàn)對(duì)hellox的遠(yuǎn)程管理維護(hù),大大方便了管理操作;
  5. 增加了更加豐富和完整的調(diào)試與診斷手段,實(shí)現(xiàn)了完善的日志輸出功能。內(nèi)核模塊會(huì)產(chǎn)生日志信息,這些日志信息會(huì)被一個(gè)多帶帶的內(nèi)核線程收集,并統(tǒng)一寫入到日志文件中(syslog/logfile.txt)。如果出現(xiàn)系統(tǒng)崩潰,可以下載日志文件進(jìn)行故障診斷。因?yàn)橄到y(tǒng)中有一個(gè)獨(dú)立的內(nèi)核線程負(fù)責(zé)收集和寫日志,日志信息首先被發(fā)送到日志線程進(jìn)行緩存,在合適的時(shí)機(jī)才真正寫入文件系統(tǒng),因此不論系統(tǒng)的上下文是什么(中斷,系統(tǒng)調(diào)用,…),都可以調(diào)用__LOG函數(shù)來形成日志。

根據(jù)github的統(tǒng)計(jì),HelloX V1.88在原來基礎(chǔ)上總共更新了130多個(gè)源代碼文件,修改或增加了大約3萬行的源代碼。V1.88版本的總代碼行大約為20萬行(不包括用戶態(tài)的應(yīng)用程序代碼)。HelloX V1.88內(nèi)核編譯后的二進(jìn)制文件大小,大約在565K左右。

    1. V1.88用戶態(tài)功能介紹

用戶態(tài)進(jìn)程功能是HelloX V1.85版本新引入的功能,主要目的是為了對(duì)不同的應(yīng)用程序之間,以及應(yīng)用程序、內(nèi)核之間進(jìn)行徹底的隔離,創(chuàng)造一個(gè)安全穩(wěn)定的執(zhí)行環(huán)境。是否具備用戶態(tài)功能,是區(qū)分通用操作系統(tǒng)和嵌入式操作系統(tǒng)的標(biāo)志之一。在HelloX V1.88版本中,用戶態(tài)功能做了較大的增強(qiáng)。但用戶態(tài)功能博大精深,需要考慮的因素不比內(nèi)核本身要少,因此在后續(xù)版本中,還會(huì)進(jìn)一步完善和增強(qiáng)用戶態(tài)功能。

大部分嵌入式的操作系統(tǒng)都不具備用戶態(tài)功能,在嵌入式領(lǐng)域,包括操作系統(tǒng)內(nèi)核,應(yīng)用程序,各種驅(qū)動(dòng)程序,大多數(shù)情況都是一個(gè)解決方案廠商提供,不存在不信任的應(yīng)用程序或設(shè)備驅(qū)動(dòng)。而且引入進(jìn)程之后,頻繁的進(jìn)程間切換會(huì)降低系統(tǒng)整體性能,因此權(quán)衡下來,嵌入式操作系統(tǒng)一般都不實(shí)現(xiàn)用戶態(tài)功能。

但是HelloX定位于物聯(lián)網(wǎng)網(wǎng)關(guān)等復(fù)雜的應(yīng)用場(chǎng)景,需要?jiǎng)討B(tài)加載和執(zhí)行第三方應(yīng)用程序。如果不做安全隔離,程序之間就可以直接訪問對(duì)方數(shù)據(jù),存在巨大安全隱患。同時(shí)第三方應(yīng)用質(zhì)量無法保證,在沒有地址空間隔離的情況下,一旦一個(gè)應(yīng)用程序出問題,很大概率會(huì)導(dǎo)致整個(gè)系統(tǒng)崩潰。因此權(quán)衡下來,HelloX最終在V1.85版本中引入用戶態(tài)進(jìn)程功能。

只是動(dòng)態(tài)按需加載的第三方應(yīng)用,才會(huì)以進(jìn)程形式運(yùn)行。HelloX內(nèi)核本身的功能,比如TCP/IP協(xié)議棧,網(wǎng)卡驅(qū)動(dòng)程序,USB驅(qū)動(dòng)程序,文件系統(tǒng),等等功能還是在內(nèi)核中運(yùn)行。因?yàn)槲覀冋J(rèn)為這些功能是可信任的,而且都是系統(tǒng)必須功能(一項(xiàng)功能缺失,即使操作系統(tǒng)內(nèi)核不受影響,也已經(jīng)無法提供完整的功能),因此與內(nèi)核分離意義不大,這就是典型的“宏內(nèi)核”體系架構(gòu)。與之對(duì)應(yīng)的是另一種操作系統(tǒng)體系架構(gòu):微內(nèi)核,在微內(nèi)核架構(gòu)下,即使是操作系統(tǒng)內(nèi)核功能,比如文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧、設(shè)備驅(qū)動(dòng)程序等,也是以進(jìn)程形式實(shí)現(xiàn),每個(gè)功能是一個(gè)獨(dú)立的進(jìn)程,占用獨(dú)立的地址空間。這種實(shí)現(xiàn)方式可進(jìn)一步確保內(nèi)核的安全,但是由于進(jìn)程間通信(IPC)的低效率問題,會(huì)使得系統(tǒng)性能大打折扣。當(dāng)然,現(xiàn)在有很多技術(shù)手段,來提升微內(nèi)核架構(gòu)下系統(tǒng)的整體性能,但是站在工程角度,筆者還是建議整體上用宏內(nèi)核來實(shí)現(xiàn)操作系統(tǒng)。但是可以充分吸收微內(nèi)核的一些優(yōu)點(diǎn),來改進(jìn)宏內(nèi)核架構(gòu)。比如在HelloX的實(shí)現(xiàn)中,把TCP/IP協(xié)議棧、日志管理、以太網(wǎng)管理等等作為獨(dú)立線程(運(yùn)行于內(nèi)核態(tài))實(shí)現(xiàn),這樣可使得模塊之間更加獨(dú)立,由于不涉及用戶態(tài)上下文切換,IPC性能得以保證,總體上呈現(xiàn)出一種“宏內(nèi)核+微內(nèi)核”結(jié)合的優(yōu)勢(shì)。

HelloX V1.88版本的用戶態(tài)功能主要包含下列這些:

  1. 地址空間獨(dú)立和隔離。每個(gè)進(jìn)程都有自己獨(dú)立的線性地址空間,在32位CPU上是4G大?。ò▋?nèi)核空間)。不同進(jìn)程之間的地址空間完全獨(dú)立,相同的內(nèi)存地址,對(duì)不同的進(jìn)程來說,完全代表不同的物理內(nèi)存位置。進(jìn)程的線性地址空間又進(jìn)一步分為內(nèi)核空間和用戶空間。其中用戶空間范圍為1G到3G之間(共2G),用戶應(yīng)用程序可以自由訪問這部分內(nèi)存空間,前提是明確提出內(nèi)存分配請(qǐng)求之后。內(nèi)核空間被分為了兩部分:0到1G之間,以及3G到4G之間。內(nèi)核空間被映射到每一個(gè)進(jìn)程中,應(yīng)用程序代碼無法直接訪問,必須通過系統(tǒng)調(diào)用陷入內(nèi)核態(tài),才能訪問內(nèi)核空間。但是內(nèi)核卻可以自由訪問用戶地址空間?;诎踩紤],HelloX V1.86版本的內(nèi)核,也不會(huì)直接訪問用戶空間,而是經(jīng)過一個(gè)內(nèi)核交換區(qū)進(jìn)行訪問;
  2. 內(nèi)存保護(hù)。運(yùn)行在用戶態(tài)的應(yīng)用程序,只能訪問1G到3G之間的用戶空間,無法直接訪問內(nèi)核空間。即使是用戶空間,也必須通過一個(gè)系統(tǒng)調(diào)用(VirtualAlloc),預(yù)先分配之后才能訪問,否則仍然會(huì)引發(fā)異常。不同進(jìn)程之間的用戶空間則是完全隔離的,無法相互看到。但是HelloX內(nèi)核也提供一個(gè)叫做VirtualMap的系統(tǒng)調(diào)用,可以把一塊公共的內(nèi)存同時(shí)映射到兩個(gè)進(jìn)程中,實(shí)現(xiàn)高效的進(jìn)程間數(shù)據(jù)共享;
  3. 應(yīng)用程序動(dòng)態(tài)加載。當(dāng)前HelloX可以從外部存儲(chǔ)介質(zhì)上動(dòng)態(tài)加載PE格式的可執(zhí)行文件,并創(chuàng)建一個(gè)進(jìn)程運(yùn)行它。在加載PE格式的應(yīng)用程序時(shí),HelloX會(huì)做一番詳盡的格式檢查,對(duì)于任何有疑問的應(yīng)用程序,都會(huì)拒絕執(zhí)行。一旦通過HelloX的檢查,一個(gè)新的進(jìn)程就會(huì)被創(chuàng)建,并啟動(dòng)運(yùn)行。需要說明的是,從外部介質(zhì)中加載應(yīng)用程序,并對(duì)其進(jìn)行檢查和運(yùn)行,是在用戶態(tài)完成的。HelloX實(shí)現(xiàn)了一個(gè)叫做user agent的模塊,專門加載外部應(yīng)用。內(nèi)核做盡可能少的工作,把盡可能多的工作放在用戶態(tài)完成。Loadapp是HelloX提供的一個(gè)加載和運(yùn)行用戶態(tài)應(yīng)用程序的工具,在shell界面上,輸入loadapp+應(yīng)用程序路徑名,即可加載并運(yùn)行;
  4. 系統(tǒng)調(diào)用功能。系統(tǒng)調(diào)用功能是必須實(shí)現(xiàn)的,在實(shí)現(xiàn)了用戶態(tài)進(jìn)程的前提下。用戶態(tài)的代碼無法直接訪問內(nèi)核,必須通過系統(tǒng)調(diào)用來進(jìn)入內(nèi)核態(tài),才能請(qǐng)求內(nèi)核服務(wù)。系統(tǒng)調(diào)用利用了CPU的硬件機(jī)制,通過一個(gè)固定且統(tǒng)一的接口,進(jìn)入內(nèi)核態(tài)。在執(zhí)行具體的內(nèi)核代碼之前,系統(tǒng)調(diào)用的內(nèi)核態(tài)部分代碼會(huì)對(duì)調(diào)用參數(shù)做詳細(xì)的檢查,確保這個(gè)請(qǐng)求是合法的。比如,對(duì)于用戶指定的內(nèi)存地址,必須位于用戶空間內(nèi),且必須已分配。如果檢查失敗,則系統(tǒng)調(diào)用會(huì)失敗,同時(shí)進(jìn)程會(huì)被認(rèn)為有惡意行為而強(qiáng)制終止掉;
  5. 內(nèi)核對(duì)象的隱藏。在HelloX的內(nèi)核代碼中,都是通過內(nèi)核對(duì)象的指針來訪問內(nèi)核對(duì)象的。比如等待一個(gè)互斥體(Mutex)對(duì)象,傳遞給WaitForThisObject函數(shù)的參數(shù),就是Mutex對(duì)象的指針。但是讓用戶態(tài)也通過指針訪問內(nèi)核對(duì)象,則是非常危險(xiǎn)的。雖然用戶態(tài)不能直接通過指針訪問內(nèi)核對(duì)象,但是應(yīng)用程序可以假造內(nèi)核對(duì)象指針,來發(fā)起系統(tǒng)調(diào)用。這時(shí)候系統(tǒng)內(nèi)核很難檢查這個(gè)指針是否是非法的,如果貿(mào)然去操作,很可能因?yàn)檫@個(gè)內(nèi)核對(duì)象不存在而導(dǎo)致非法操作。這就是大多數(shù)操作系統(tǒng),包括HelloX,都是以handle(句柄)的方式來訪問內(nèi)核對(duì)象的。每創(chuàng)建一個(gè)內(nèi)核對(duì)象,HelloX內(nèi)核會(huì)在進(jìn)程的句柄表里增加一項(xiàng),并把該項(xiàng)的索引值返回給用戶態(tài)。用戶態(tài)通過這個(gè)索引值(句柄)來發(fā)起系統(tǒng)調(diào)用。收到用戶態(tài)的系統(tǒng)調(diào)用請(qǐng)求之后,內(nèi)核會(huì)首先根據(jù)這個(gè)索引值查詢句柄表,看看是否有對(duì)應(yīng)的內(nèi)核對(duì)象存在。如果沒有,說明是一個(gè)非法的系統(tǒng)調(diào)用。如果有對(duì)應(yīng)的內(nèi)核對(duì)象,則進(jìn)一步檢查內(nèi)核對(duì)象的狀態(tài),類型,等等。確認(rèn)無誤之后才會(huì)真正操作內(nèi)核對(duì)象;
  6. 用戶態(tài)應(yīng)用開發(fā)庫(kù)。除了提供最基本的系統(tǒng)調(diào)用外,一個(gè)完整的操作系統(tǒng)還必須提供用戶態(tài)的應(yīng)用開發(fā)庫(kù),比如C語言標(biāo)準(zhǔn)庫(kù)。C標(biāo)準(zhǔn)庫(kù)對(duì)操作系統(tǒng)提供的API做了封裝,以標(biāo)準(zhǔn)化的函數(shù)對(duì)外呈現(xiàn)。這樣在開發(fā)用戶態(tài)應(yīng)用程序時(shí),程序員只需要調(diào)用C標(biāo)準(zhǔn)庫(kù)的函數(shù)即可,無需調(diào)用操作系統(tǒng)的API,使得應(yīng)用程序可移植性大大增強(qiáng)。HelloX V1.86支持ANSI C89版本的標(biāo)準(zhǔn)庫(kù)函數(shù),使用ANSI C89版本開發(fā)的應(yīng)用程序,可以不做修改直接移植到HelloX。在1.86版本中,我們移植了很多C語言程序,其中比較典型的有CPU管理程序cpuid等;
  7. 用戶態(tài)內(nèi)存管理器。實(shí)現(xiàn)C標(biāo)準(zhǔn)庫(kù)函數(shù)并不僅僅是對(duì)操作系統(tǒng)API的封裝,更復(fù)雜的是實(shí)現(xiàn)用戶態(tài)的系統(tǒng)功能。比如對(duì)用戶態(tài)內(nèi)存管理(即標(biāo)準(zhǔn)C庫(kù)函數(shù)的malloc/free/calloc等函數(shù)),不能直接映射到操作系統(tǒng)提供的API的,因?yàn)椴僮飨到y(tǒng)提供的內(nèi)存分配API往往是大顆粒的(4K以上),而用戶應(yīng)用程序所需要的大多數(shù)是一些小粒度的內(nèi)存請(qǐng)求。這就需要在用戶態(tài)提供內(nèi)存再分配功能,即從操作系統(tǒng)“批發(fā)”內(nèi)存,然后細(xì)分成更小的內(nèi)存塊,再“零售”給用戶應(yīng)用程序。這個(gè)用戶態(tài)的內(nèi)存管理程序并不比操作系統(tǒng)內(nèi)核的內(nèi)存管理功能簡(jiǎn)單,要充分考慮并發(fā)效率、競(jìng)爭(zhēng)、內(nèi)存使用效率等等問題。業(yè)界有很多的開源算法,HelloX V1.86版本移植了業(yè)界廣泛使用的ptmallc內(nèi)存管理庫(kù),并做了線程安全處理,作為用戶態(tài)內(nèi)存分配器。

支持用戶態(tài)功能,是HelloX由嵌入式操作系統(tǒng)向通用操作系統(tǒng)轉(zhuǎn)變的標(biāo)志。作為計(jì)算機(jī)領(lǐng)域的最基本軟件,支持豐富的應(yīng)用場(chǎng)景是操作系統(tǒng)得以長(zhǎng)期存在的基礎(chǔ)。具備高性能、實(shí)時(shí)性、高可靠的通用操作系統(tǒng),必然會(huì)比嵌入式操作系統(tǒng)更能適應(yīng)外部需求,也更容易把場(chǎng)景做豐富。通用操作系統(tǒng)與嵌入式操作系統(tǒng)并不是非此即彼、相互排斥的,而是可以有機(jī)統(tǒng)一起來。影響通用操作系統(tǒng)性能的傳統(tǒng)機(jī)制,比如內(nèi)存交換、延遲頁(yè)面調(diào)入等,隨著計(jì)算機(jī)內(nèi)存的不斷增大,已經(jīng)變得不是很重要。把這些功能拿掉,保留用戶態(tài)功能,同時(shí)對(duì)調(diào)度機(jī)制、加載機(jī)制、中斷響應(yīng)等做出優(yōu)化,是可以有效統(tǒng)一嵌入式操作系統(tǒng)和通用操作系統(tǒng)的。HelloX后續(xù)版本將超這個(gè)方向發(fā)展。

與以前版本的原則一致,在HelloX V1.88版本的開發(fā)過程中,我們始終堅(jiān)持“穩(wěn)定可靠,不留問題死角,可直接應(yīng)用”為原則,所有代碼都經(jīng)過了詳細(xì)深入的內(nèi)部測(cè)試。

    1. V1.88網(wǎng)絡(luò)功能簡(jiǎn)介

網(wǎng)絡(luò)功能一直是HelloX操作系統(tǒng)的最重要功能。相比前一個(gè)版本,HelloX V1.88的網(wǎng)絡(luò)功能進(jìn)一步增強(qiáng),比如增加了對(duì)Intel服務(wù)器網(wǎng)卡82547的支持,把DHCP Server功能遷移到了用戶態(tài),對(duì)不同網(wǎng)絡(luò)線程進(jìn)行了多核重分配,設(shè)計(jì)并實(shí)現(xiàn)了統(tǒng)一的網(wǎng)絡(luò)接口管理框架,等等。

在原來專門定制的軟路由器black box基礎(chǔ)上,又升級(jí)了一款新的軟路由器“blue-white”,因?yàn)檫@款路由器的前面板有藍(lán)、白兩色。最新升級(jí)的路由器,可以支持4到8個(gè)千兆以太網(wǎng)接口(原來只有兩個(gè)接口),可以通過console接口(RS232)進(jìn)行配置,下圖是它前面板:

所有千兆以太網(wǎng)接口是對(duì)等的,可以通過配置,作為WAN接口(連接運(yùn)營(yíng)商)或者LAN接口(連接本地交換機(jī),或者WLAN AP)。通過串口(console接口)進(jìn)行配置管理,個(gè)人電腦可以通過類似超級(jí)終端的軟件,來控制blue-white,如上圖。

由于大多數(shù)的WiFi芯片都不開源,因此blue-white當(dāng)前并不提供WLAN AP功能。需要外接一個(gè)二層AP設(shè)備,提供WLAN信號(hào)接入。該軟路由的總體成本在600元人民幣左右,如果批量定制,成本還可以進(jìn)一步降低。但是與基于SoC的家用路由器相比,雖然沒有功耗和成本優(yōu)勢(shì),但其計(jì)算能力,則是傳統(tǒng)家用路由器無法比擬的,這也是它作為物聯(lián)網(wǎng)網(wǎng)關(guān)的重要優(yōu)勢(shì)。

最近剛好搬了新家,就以blue-white為核心,設(shè)計(jì)了一個(gè)家庭網(wǎng)絡(luò),并實(shí)際投入使用。整個(gè)網(wǎng)絡(luò)的構(gòu)造如下手繪圖:

運(yùn)營(yíng)商提供的光貓工作在二層橋接模式,blue-white作為整個(gè)家庭網(wǎng)絡(luò)的核心網(wǎng)關(guān),發(fā)起到運(yùn)營(yíng)商網(wǎng)絡(luò)的pppoe連接,并為下游設(shè)備(比如IP電視、兩個(gè)WLAN AP等)分配IP地址。家里用的家電、電腦、PAD、手機(jī)等等,都通過WLAN AP接入。其中IP電視多帶帶通過一條物理網(wǎng)線接入blue-white,這樣可以把持續(xù)大流量的電視機(jī),與突發(fā)網(wǎng)絡(luò)流量的其它終端設(shè)備隔離開,不至于相互影響。下列是blue-white的一個(gè)運(yùn)行截圖:

CPUID作為用戶態(tài)應(yīng)用程序,加載并運(yùn)行后可以顯示完整的CPU信息。

截止目前,blue-white已運(yùn)行一月有余,表現(xiàn)穩(wěn)定。在長(zhǎng)期外出出差的情況下,可以整體切斷弱電開關(guān),節(jié)約電量。在返回家中時(shí),直接打開電源即可,無需做任何重新配置。在連接運(yùn)營(yíng)商的PPPOE session中斷的情況下,也可以重新?lián)芴?hào)建立連接。經(jīng)過實(shí)際網(wǎng)絡(luò)速度測(cè)試,下行速率在230M左右(受運(yùn)營(yíng)商接入帶寬限制),CPU峰值利用率不超過50%。

在自己生活的環(huán)境中真正應(yīng)用起HelloX,并根據(jù)實(shí)際需求持續(xù)進(jìn)行開發(fā)和優(yōu)化,與“只開發(fā)、不使用”,或者“只使用、不開發(fā)”,感覺是完全不一樣的。

在使用過程中,隨著越來越多的物聯(lián)網(wǎng)設(shè)備接入到HelloX網(wǎng)關(guān),我個(gè)人越來越體會(huì)到物聯(lián)網(wǎng)操作系統(tǒng)的真實(shí)和價(jià)值,越來越感受到物聯(lián)網(wǎng)網(wǎng)關(guān)的重要性。設(shè)想一下,物聯(lián)網(wǎng)網(wǎng)關(guān)可以看到所有物聯(lián)網(wǎng)設(shè)備的通信模式,包括報(bào)文的平均長(zhǎng)度,發(fā)送間隔,帶寬,時(shí)間分布,MAC地址,通信協(xié)議類型,等等信息。通過這些信息,即使不對(duì)IP報(bào)文做深度分析(這樣做是不符合法律規(guī)定的),也可以通過大數(shù)據(jù)或者AI技術(shù)識(shí)別出設(shè)備類型和設(shè)備能力,從而有目的的與物聯(lián)網(wǎng)設(shè)備進(jìn)行協(xié)同。單個(gè)物聯(lián)網(wǎng)網(wǎng)關(guān),是一個(gè)本地網(wǎng)絡(luò)的控制中心,而所有的物聯(lián)網(wǎng)網(wǎng)關(guān)組成的大的網(wǎng)絡(luò),則是整個(gè)世界的控制中心。HelloX將聚焦物聯(lián)網(wǎng)網(wǎng)關(guān)方向,做深入的技術(shù)耕耘,為人類建立安全,可靠,智能的物聯(lián)網(wǎng)數(shù)字中心。

    1. 操作系統(tǒng)與其它操作系統(tǒng)的區(qū)別

HelloX操作系統(tǒng)是包括內(nèi)核、設(shè)備驅(qū)動(dòng)程序、用戶態(tài)應(yīng)用程序、物聯(lián)網(wǎng)套件等一系列功能的一個(gè)系統(tǒng)軟件,這與當(dāng)前流行的主要操作系統(tǒng)都有不同之處:

LinuxLinux主要定位是操作系統(tǒng)內(nèi)核以及基本的管理維護(hù)工具,其定位是通用操作系統(tǒng)的內(nèi)核,可以應(yīng)用在物聯(lián)網(wǎng)領(lǐng)域,但是并未針對(duì)物聯(lián)網(wǎng)領(lǐng)域做特殊優(yōu)化和定制。HelloX既包括操作系統(tǒng)內(nèi)核,也包括面向物聯(lián)網(wǎng)的套件,針對(duì)物聯(lián)網(wǎng)做了定制,是面向物聯(lián)網(wǎng)領(lǐng)域的專業(yè)操作系統(tǒng);

Android這是面向智能手機(jī)的操作系統(tǒng),Android并沒有實(shí)現(xiàn)操作系統(tǒng)內(nèi)核,而是直接使用了Linux作為內(nèi)核,在此基礎(chǔ)上開發(fā)了支持智能手機(jī)的配套功能和組件。HelloX的思路與Android有類似之處,都是面向某一個(gè)應(yīng)用場(chǎng)景,針對(duì)場(chǎng)景做了深入開發(fā)。但與Android不同,HelloX本身實(shí)現(xiàn)了內(nèi)核功能,沒有引用其它內(nèi)核;

鴻蒙(Harmony):與Android類似,是面向智能移動(dòng)終端的操作系統(tǒng),也是基于Linux內(nèi)核,針對(duì)智能移動(dòng)終端場(chǎng)景做了深入開發(fā),實(shí)現(xiàn)了諸如軟件總線等技術(shù),方便不同類型的移動(dòng)終端隨時(shí)隨地的交互和協(xié)同。HelloX是面向物聯(lián)網(wǎng)領(lǐng)域的操作系統(tǒng),具備完全自主開發(fā)的內(nèi)核和物聯(lián)網(wǎng)執(zhí)行環(huán)境,用于支撐萬物互聯(lián)。鴻蒙操作系統(tǒng)設(shè)計(jì)了內(nèi)核抽象層,可以對(duì)不同的內(nèi)核進(jìn)行封裝和抽象,因此,理論上,可以把HelloX作為鴻蒙的內(nèi)核之一;

歐拉:面向信息基礎(chǔ)設(shè)施的操作系統(tǒng),比如服務(wù)器、云計(jì)算、網(wǎng)絡(luò)設(shè)備、工業(yè)設(shè)備等,從其定位和描述來看,更多的是定位于后端專業(yè)應(yīng)用場(chǎng)景。歐拉也是基于Linux內(nèi)核進(jìn)行開發(fā)和完善,與行業(yè)合作伙伴一起建設(shè)信息基礎(chǔ)設(shè)施的最核心軟件部件。

總結(jié)起來,就是HelloX操作系統(tǒng)包括了內(nèi)核、支撐模塊、物聯(lián)網(wǎng)執(zhí)行子系統(tǒng)等一系列組件,有完全自主知識(shí)產(chǎn)權(quán)的內(nèi)核,遵循BSD開源協(xié)議。并不是說使用Linux內(nèi)核就不是真正的操作系統(tǒng),但作為最核心部件,具備自主內(nèi)核有很大好處:可以選擇不開源,做到進(jìn)一步的安全;可以對(duì)內(nèi)核進(jìn)行任意修改,而不用考慮開源協(xié)議的約束;可以自主規(guī)劃內(nèi)核發(fā)展路徑,有最大自主權(quán)…。但是開發(fā)一個(gè)全新的內(nèi)核,也有巨大挑戰(zhàn),必須要有廣泛的應(yīng)用場(chǎng)景、龐大的用戶基數(shù),對(duì)內(nèi)核進(jìn)行廣泛測(cè)試,確保其穩(wěn)定性和可靠性。

    1. 進(jìn)一步的開發(fā)方向

作為物聯(lián)網(wǎng)操作系統(tǒng),HelloX將始終聚焦物聯(lián)網(wǎng)領(lǐng)域的應(yīng)用,為物聯(lián)網(wǎng)量身定制一套最優(yōu)的系統(tǒng)軟件解決方案。我們認(rèn)為,只有一個(gè)內(nèi)核的支撐,是遠(yuǎn)遠(yuǎn)不夠的。物聯(lián)網(wǎng)和智能硬件的有效發(fā)展和壯大,需要更多技術(shù)的支持,比如人工智能,分布式計(jì)算,機(jī)器學(xué)習(xí),等等。但一個(gè)穩(wěn)定可靠和可擴(kuò)展的物聯(lián)網(wǎng)操作系統(tǒng),是這些技術(shù)的最好生存土壤。

同時(shí)我們認(rèn)為,物聯(lián)網(wǎng)中的一個(gè)關(guān)鍵組件將會(huì)是物聯(lián)網(wǎng)接入網(wǎng)關(guān)。不論是哪種應(yīng)用場(chǎng)景,物聯(lián)網(wǎng)網(wǎng)關(guān)將是物聯(lián)網(wǎng)世界連接用戶或者真實(shí)世界的最核心角色。隨著5G等技術(shù)向工業(yè)領(lǐng)域深入推進(jìn),以及工業(yè)制造領(lǐng)域越來越快的數(shù)字化轉(zhuǎn)型,對(duì)物聯(lián)網(wǎng)網(wǎng)關(guān)的需求會(huì)越來越多。因此,后續(xù)HelloX會(huì)首先瞄準(zhǔn)這一個(gè)物聯(lián)網(wǎng)應(yīng)用場(chǎng)景,進(jìn)行深入耕耘。物聯(lián)網(wǎng)網(wǎng)關(guān)首先是一個(gè)更安全和高效的寬帶接入網(wǎng)關(guān),同時(shí)具備支撐物聯(lián)網(wǎng)應(yīng)用的能力。下圖示意了我們對(duì)物聯(lián)網(wǎng)網(wǎng)關(guān)的理解:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/122276.html

相關(guān)文章

  • 2021愛智先行者-EdgerOS開箱及配置(IOS

    摘要:為廣大開發(fā)者提供基于互聯(lián)網(wǎng)技術(shù)棧的操作系統(tǒng)平臺(tái),極大簡(jiǎn)化了物聯(lián)網(wǎng)開發(fā)難度,提高開發(fā)效率。邊緣計(jì)算借助硬件的計(jì)算能力,為家庭和企業(yè)提供強(qiáng)大的邊緣計(jì)算能力,不僅能夠滿足物聯(lián)網(wǎng)時(shí)代家庭生活和企業(yè)計(jì)算的多種需求,還能夠降低用戶設(shè)備和網(wǎng)絡(luò)的成本。 EdgerOs介紹 EdgerOS 是為萬物互聯(lián)時(shí)代而...

    王巖威 評(píng)論0 收藏0
  • 常見聯(lián)網(wǎng)操作系統(tǒng)介紹

    摘要:相比之下,物聯(lián)網(wǎng)操作系統(tǒng)領(lǐng)域的碎片化問題則非常嚴(yán)重,并沒有哪幾個(gè)操作系統(tǒng)占據(jù)絕對(duì)優(yōu)勢(shì),正處于百花齊放百家爭(zhēng)鳴的階段。在年被公司正式收購(gòu),將自己的服務(wù)內(nèi)嵌到系統(tǒng)中,并于年推出了集成無線連接安全等功能的物聯(lián)網(wǎng)操作系統(tǒng)。 物聯(lián)網(wǎng)操作系統(tǒng)是運(yùn)行在物聯(lián)網(wǎng)設(shè)備上的提供物物相連能力的操作系統(tǒng),其核心在于...

    AdolphLWQ 評(píng)論0 收藏0
  • UCloud重磅發(fā)布UIoT-Core聯(lián)網(wǎng)平臺(tái),助力海量IoT設(shè)備云端智能

    摘要:微軟雅黑宋體在高性能方面,物聯(lián)網(wǎng)平臺(tái)采用了分布式集群架構(gòu)設(shè)計(jì),可支持海量設(shè)備的長(zhǎng)連接和百萬并發(fā)數(shù)據(jù)交換,提供設(shè)備與云端間健壯的雙向通信鏈路。物聯(lián)設(shè)備爆發(fā)增長(zhǎng),5G網(wǎng)絡(luò)即將商用,IPv6逐漸普及,計(jì)算成本下降,以及大數(shù)據(jù)分析和人工智能技術(shù)的快速發(fā)展,這些不斷涌現(xiàn)的技術(shù)浪潮,正在推動(dòng)我們更快地進(jìn)入萬物智聯(lián)時(shí)代。 近日,UCloud優(yōu)刻得重磅發(fā)布了第一款物聯(lián)網(wǎng)平臺(tái)產(chǎn)品UIoT-Core,該平...

    youkede 評(píng)論0 收藏0
  • 一步步搭建聯(lián)網(wǎng)系統(tǒng)——無處不在的三劍客

    摘要:無處不在的三劍客這時(shí)我們終于了解了我們的三劍客,他們也就這么可以結(jié)合到一起了,是這一切的基礎(chǔ)。無處不在的三劍客就這樣到了這里,寫得似乎很多也很少,但是還是沒有做出來一個(gè)東西,于是我們朝著這樣一個(gè)方向前進(jìn)。 無處不在的三劍客 這時(shí)我們終于了解了我們的三劍客,他們也就這么可以結(jié)合到一起了,HTML+Javascript+CSS是這一切的基礎(chǔ)。而我們用到的其他語言如PHP、Python、R...

    dreamans 評(píng)論0 收藏0
  • JavaScript在聯(lián)網(wǎng)中的應(yīng)用

    摘要:定律在那篇最流行的編程語言能做什么里,我們列舉了在不同領(lǐng)域的使用情況,今天讓我們來詳解一下在物聯(lián)網(wǎng)中的應(yīng)用。這個(gè)硬件層決定了物聯(lián)網(wǎng)應(yīng)用比應(yīng)用更加復(fù)雜。這時(shí),我開始關(guān)注實(shí)現(xiàn)物聯(lián)網(wǎng)應(yīng)用的可能性。 凡是能用JavaScript寫出來的,最終都會(huì)用JavaScript寫出來。 —— Atwood定律 在那篇《最流行的編程語言JavaScript能做什么?》里,我們列舉了JavaScript在不...

    aaron 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<