性吧杏吧,手机色情直播破解版,杏杏吧在线

單內(nèi)核技術(shù)對工業(yè)自動化軟件、工業(yè)互聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)的影響及展望

2019/7/8 20:11:18 人評論 次瀏覽 分類:熱點(diǎn)聚焦  文章地址:http://m.prosperiteweb.com/news/2601.html

過去幾年間,許多工業(yè)自動化產(chǎn)品導(dǎo)入了云計(jì)算中的Docker和Linux容器技術(shù)。除此而外,一種正在云執(zhí)行平臺上出現(xiàn)、并被稱為“單內(nèi)核”與嵌入式軟件開發(fā)的小計(jì)算資源專業(yè)組合的云技術(shù),也因其獨(dú)特的云“實(shí)時性”和天生的信息安全特性,引起了人們的關(guān)注。目前在許多研究領(lǐng)域中對單內(nèi)核技術(shù)的討論十分活躍,而且風(fēng)險投資已經(jīng)在單內(nèi)核產(chǎn)品開發(fā)方向注入了不少投資,其應(yīng)用主要聚焦在工業(yè)互聯(lián)網(wǎng)和工業(yè)物聯(lián)網(wǎng)市場以及企業(yè)應(yīng)用市場。

單內(nèi)核技術(shù)的概念

內(nèi)核是操作系統(tǒng)的一個重要概念。為了讓各種各樣的應(yīng)用軟件運(yùn)行,又不必直接去操作硬件,在應(yīng)用軟件與硬件之間用內(nèi)核對底層硬件加以抽象。譬如把進(jìn)程管理抽象成一個文件,于是便可以通過這一文件系統(tǒng)對進(jìn)程進(jìn)行管理。傳統(tǒng)內(nèi)核會把所有的硬件都抽象在內(nèi)(例如Linux操作系統(tǒng)),這種內(nèi)核被稱為宏內(nèi)核,其內(nèi)包括了CPU調(diào)度、進(jìn)程管理、內(nèi)存管理、硬盤文件系統(tǒng)、網(wǎng)絡(luò)I/O、I/O例行程序等所有的模塊。

將操作系統(tǒng)設(shè)計(jì)成模塊化的庫,讓用戶可以按需配置客制化的操作系統(tǒng),單內(nèi)核(unikernel)的概念便應(yīng)運(yùn)而生。因此,有人又把單內(nèi)核稱為庫操作系統(tǒng)(library OS)。這是一種在最小計(jì)算資源環(huán)境下用于單一目的(最低限度內(nèi)核的功能性)、使用單一語言、單一地址空間且可以自啟動的虛擬機(jī)。圖1給出其基本概念。在一個硬件架構(gòu)中,可以設(shè)置多個單內(nèi)核虛擬機(jī),每個虛擬機(jī)由某種單一目的的操作系統(tǒng)(即單內(nèi)核)和若干個APP組成,其中單一目的的操作系統(tǒng)是由操作系統(tǒng)庫中選出的特定的功能性模塊構(gòu)成。由圖2可以看出,與傳統(tǒng)架構(gòu)相比,單內(nèi)核虛擬機(jī)的操作系統(tǒng)是模塊化定制的,在同一個硬件中可以有許多個不同功能性的操作系統(tǒng)。而在傳統(tǒng)架構(gòu)中,同一個硬件只有一個功能性齊全的宏內(nèi)核操作系統(tǒng)。

 單內(nèi)核虛擬機(jī)的基本概念
圖1  單內(nèi)核虛擬機(jī)的基本概念

傳統(tǒng)架構(gòu)與單內(nèi)核虛擬架構(gòu)的比較
圖2  傳統(tǒng)架構(gòu)與單內(nèi)核虛擬架構(gòu)的比較


我們可以這樣來認(rèn)識單內(nèi)核技術(shù):它實(shí)質(zhì)上就是為特定的應(yīng)用軟件配備最必要的操作系統(tǒng)的功能性,將操作系統(tǒng)與應(yīng)用軟件合為一體,實(shí)現(xiàn)了以最少的代碼完成所賦予的計(jì)算和服務(wù)功能。大家知道,云計(jì)算已經(jīng)成為在大型數(shù)據(jù)中心借用計(jì)算資源給多個租用用戶的先鋒。其基本的使能技術(shù)就是操作系統(tǒng)的虛擬化,例如Xen或VMWare,它們允許客戶在物理機(jī)的共享集群上實(shí)現(xiàn)多個虛擬機(jī)VMs。單內(nèi)核技術(shù)遵循了同樣的理念。單內(nèi)核實(shí)現(xiàn)的微服務(wù)由于所需的計(jì)算資源很小,工作量不大,因而響應(yīng)快、受外來信息攻擊的暴露面小,特別適合于嵌入式系統(tǒng)、對信息安全要求高的設(shè)備、輕量級的應(yīng)用、要求高度靈活和頻繁移動的設(shè)備等應(yīng)用場景,例如工業(yè)自動化的邊緣設(shè)備和現(xiàn)場設(shè)備等等。


單內(nèi)核技術(shù)的優(yōu)點(diǎn)顯而易見:首先是占用盡可能少的內(nèi)存資源,例如由 MirageOS實(shí)現(xiàn)的DNS server 只要 184KB,實(shí)現(xiàn)的 web server 也僅占674 KB,極大地減少了對盤空間的需求;其次減少計(jì)算工作量,不占用CPU處理外來的代碼,中斷調(diào)度盡可能地少,因而具有更快的加載時間和更低的時延,其起停都是毫秒級的;單內(nèi)核還能夠顯著減少程序容量,用盡可能少的代碼完成該做的處理,盡可能地按照客制化要求設(shè)計(jì)應(yīng)用程序,例如在相互無關(guān)的部件之間構(gòu)筑潛在的強(qiáng)有力的防火墻;最后,單內(nèi)核面對一般的攻擊暴露很少,大大減少了被攻擊面。


對于網(wǎng)絡(luò)的信息安全,用防火墻固然很不錯,但防火墻可能會被外來的攻擊繞開或者被擊破,怎么能迅速地檢測出網(wǎng)絡(luò)出現(xiàn)問題又能快速作出響應(yīng)呢?單內(nèi)核用來搞定這些問題很容易,因?yàn)樗鼘儆谳p量級的技術(shù)又反應(yīng)迅速。還有,運(yùn)用單內(nèi)核可以在項(xiàng)目進(jìn)行到一半時進(jìn)行改變,所花費(fèi)的成本很小,因?yàn)樗鼈兪菍iT針對單一特定問題設(shè)計(jì)的,作出改變對其它的節(jié)點(diǎn)影響很小。


單內(nèi)核依靠專門的編譯系統(tǒng)將應(yīng)用軟件與操作系統(tǒng)的支持功能在編譯期間合并,以此來替代在運(yùn)行時合并的傳統(tǒng)做法。其結(jié)果是在一個單一的應(yīng)用鏡像中容納了應(yīng)用軟件運(yùn)行所必須的環(huán)境及應(yīng)用軟件本身。所有的驅(qū)動程序、所有的I/O例行程序以及操作系統(tǒng)支持的庫功能全都包括在可執(zhí)行代碼中,沒有了成百上千的公用程序和不需要的驅(qū)動,沒有了不必要的I/O例行程序,或不用的庫功能。這種單一的輕量級的虛擬機(jī)鏡像,其中除了單內(nèi)核之外,沒有任何其他的軟件存在,于是應(yīng)用程序可以輕而易舉地啟動和運(yùn)行。


單內(nèi)核技術(shù)的發(fā)展路線

從單內(nèi)核技術(shù)發(fā)展的初期開始,就存在著兩種不同的路線,但它們都是以重構(gòu)包括所有的內(nèi)核和用戶空間代碼在內(nèi)的虛擬機(jī)為目的,使虛擬機(jī)由更模塊化的部件構(gòu)成,既靈活又安全,還能重復(fù)使用。這兩種技術(shù)路線是:①采用全新的設(shè)計(jì)方案(Clean-slate)的單內(nèi)核,通常使用專門的語言如MirageOS (OCaml) 和HaLVM (Haskell);②采用在現(xiàn)有技術(shù)基礎(chǔ)上較為漸進(jìn)的單內(nèi)核方案,以庫的形式提升現(xiàn)有的操作系統(tǒng)技術(shù),如Rump Kernel 可用來創(chuàng)建 Rumprun unikernels。

但是最近有人認(rèn)為單內(nèi)核技術(shù)過去采用的兩種方法,并沒有帶來單內(nèi)核技術(shù)的廣泛采用,其根源在于這兩種單內(nèi)核技術(shù)都不能繼承在過去許多年來成功地用于云計(jì)算領(lǐng)域的Linux的海量APP積累,而需要對APP進(jìn)行修改或重新編寫。因此提出一種有社群支持的基于Linux 的內(nèi)核和glibc(GNU C Library)的單內(nèi)核UKL。盡管這一技術(shù)路線還形成不久,但非常值得關(guān)注其發(fā)展動態(tài)。


單內(nèi)核技術(shù)與Docker容器化的結(jié)合

單內(nèi)核是一種正在發(fā)展中的技術(shù),它在緊湊且用于單一目的的應(yīng)用程序方面,增強(qiáng)了現(xiàn)有的虛擬機(jī)和容器部署。劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室的Richard Mortier 和Docker公司的 Anil Madhavapeddy在將單內(nèi)核與現(xiàn)有的部署集成方面取得了巨大的進(jìn)展,特別是使用Rumprun 和 MirageOS兩種不同的單內(nèi)核去部署軟件棧LAMP,而且都用普通的Docker工具鏈即Docker build、Docker run和Docker Hub進(jìn)行管理。 結(jié)果是單內(nèi)核可以用來增強(qiáng)和逐步推進(jìn)現(xiàn)有的Linux容器部署和基于虛擬機(jī)VM的部署,同時提供各種微服務(wù)。這樣我們就不再需要一種顛覆,只要采用這些已在應(yīng)用、同時又在不斷發(fā)展中的技術(shù)就可以了。

由圖3可知,運(yùn)用Linux的容器時,在一個硬件架構(gòu)上只有一個管理程序、一個內(nèi)核和若干個容器;由內(nèi)核和若干個容器所構(gòu)成一臺虛擬機(jī)(見圖中紅色虛線所框出)。這就是所謂的Linux共享內(nèi)核。如果我們采用單內(nèi)核技術(shù)加以隔離和專用化,則在一個硬件架構(gòu)上用一個管理程序,形成若干個虛擬機(jī),每個虛擬機(jī)有一個專用的單內(nèi)核和一個容器。

Linux容器共享內(nèi)核和單內(nèi)核技術(shù)的專用內(nèi)核
圖3  Linux容器共享內(nèi)核和單內(nèi)核技術(shù)的專用內(nèi)核


單內(nèi)核已是一種正在快速發(fā)展的操作系統(tǒng)加應(yīng)用程序(OS-plus-application)的技術(shù)。Docker使得運(yùn)用現(xiàn)成的容器技術(shù)就可以輕易實(shí)現(xiàn)單內(nèi)核的匯集和運(yùn)行,也就是說Docker開始了單內(nèi)核革命。Docker公司已經(jīng)并購了劍橋大學(xué)計(jì)算機(jī)實(shí)驗(yàn)室的Unikernel Systems公司,目的在于運(yùn)用Docker工作流建立最小化的、按需構(gòu)建的操作系統(tǒng),這種操作系統(tǒng)具有足夠的功能性來運(yùn)行專門的應(yīng)用程序,同時可以運(yùn)行來自數(shù)據(jù)中心服務(wù)器的微小型物聯(lián)網(wǎng)設(shè)備中的任意軟件。


單內(nèi)核技術(shù)對工業(yè)自動化軟件的影響及展望

開放式的通信和互操作性標(biāo)準(zhǔn)將會促使工業(yè)自動化系統(tǒng)成為一個敏捷靈活的生態(tài)系統(tǒng),其實(shí)現(xiàn)途徑就是加快吸收這些年來發(fā)展迅速、而且行之有效的I T技術(shù),尤其是云計(jì)算技術(shù)的各種成果。工業(yè)自動化沿用至今的系統(tǒng)架構(gòu)還是在二十多年前建立的,而且作為工業(yè)自動化設(shè)備主力軍的DCS/PLC,其開放性、信息安全以及互操作性遠(yuǎn)遠(yuǎn)滯后于市場要求。這幾年來各種IT技術(shù)滲入工業(yè)自動化的進(jìn)程和工業(yè)自動化自身謀求突破的努力已經(jīng)開始(例如OPAF積極倡導(dǎo)的開放型流程自動化和工業(yè)自動化各類軟件容器化),并已取得一定的進(jìn)展,特別是工業(yè)互聯(lián)網(wǎng)深入制造業(yè)的努力以及智能制造與工業(yè)互聯(lián)網(wǎng)的結(jié)合正在加速;邊緣計(jì)算和分析受到了前所未有的重視。通過在需要的地點(diǎn)和時間高效地采集數(shù)據(jù)和提供虛擬化,使處于工業(yè)邊緣的計(jì)算設(shè)備占據(jù)了關(guān)鍵的地位。圖4形象地表達(dá)了邊緣計(jì)算在IoT/智能設(shè)備和云數(shù)據(jù)中心之間的位置。
 工業(yè)邊緣計(jì)算的關(guān)鍵地位
圖4  工業(yè)邊緣計(jì)算的關(guān)鍵地位


單內(nèi)核技術(shù)非常適合于開發(fā)運(yùn)用于邊緣的數(shù)據(jù)采集、處理和分析設(shè)備,這是因?yàn)樗且环N實(shí)現(xiàn)單一服務(wù)部件(單元)輕量級的機(jī)制。它對硬件資源的要求較低,易于快速配置和替代。它具有APP服務(wù)的靈活性,像HMI這樣的遠(yuǎn)程設(shè)備就可以利用單內(nèi)核技術(shù)和有關(guān)的APP,快速構(gòu)成專用的有針對性的數(shù)據(jù)采集分析和顯示。它又易于開發(fā),在工廠內(nèi)的開發(fā)和測試活動可以在虛擬機(jī)環(huán)境中進(jìn)行,而不論主機(jī)在何地,因而對實(shí)際現(xiàn)場部署的硬件設(shè)備要求不高。


上述這些特點(diǎn)對于OEM廠商和系統(tǒng)集成商很有意義。運(yùn)用單內(nèi)核技術(shù)可加速集成的進(jìn)度,將開發(fā)組態(tài)轉(zhuǎn)換為生產(chǎn)系統(tǒng)的瘦客戶端方便而快速,特別是與多臺服務(wù)器和PC機(jī)方案的組態(tài)相比;單內(nèi)核大大簡化了系統(tǒng)維護(hù),集中控制的虛擬機(jī)的維護(hù)遠(yuǎn)比分布式資產(chǎn)的維護(hù)來得容易,尤其是在軟件升級和為信息安全打補(bǔ)丁的時候更是如此;以單內(nèi)核為基礎(chǔ)形成瘦客戶端的架構(gòu),系統(tǒng)可擴(kuò)展性好,這得益于集中的標(biāo)準(zhǔn)化和良好的復(fù)用性;另外,通過建立和部署以單內(nèi)核為基礎(chǔ)的設(shè)備,可為實(shí)現(xiàn)一致性、可靠性以及再現(xiàn)性的最佳實(shí)踐打下堅(jiān)實(shí)基礎(chǔ)。圖5是采用Stratus虛擬操作系統(tǒng)的瘦客戶端架構(gòu)的方案,易于用任務(wù)專用的虛擬化和移動軟件來構(gòu)成。

用虛擬機(jī)和移動軟件構(gòu)成瘦客戶端的架構(gòu)
圖5  用虛擬機(jī)和移動軟件構(gòu)成瘦客戶端的架構(gòu)


單內(nèi)核對云、邊緣、局域網(wǎng)、底層信息安全服務(wù)和底層數(shù)據(jù)分析計(jì)算的設(shè)計(jì)者來說都十分有用。它可以用于實(shí)現(xiàn)輕量級服務(wù)或?qū)π畔踩舾械姆?wù),取得信息安全或快速部署的效果。在那些與單內(nèi)核相比開發(fā)成本過高的場合,單內(nèi)核的優(yōu)點(diǎn)畢露無疑,因?yàn)榭娠@著節(jié)省成本,顯著改善開發(fā)效率,且顯著改善信息安全。除了具有敏捷靈活、反應(yīng)快速的特點(diǎn)之外,單內(nèi)核運(yùn)用于云計(jì)算有還有很好的一個優(yōu)點(diǎn):規(guī)??勺龅煤艽?,也可以量體裁衣,按需確定規(guī)模。


由于工業(yè)自動化對于可靠性、可用性、安全性和功能性都有其特定的嚴(yán)格要求,所以對于引入單內(nèi)核技術(shù),在采取積極進(jìn)取的態(tài)度的同時,開展謹(jǐn)慎和嚴(yán)格的實(shí)驗(yàn)和測試,尤其是工業(yè)現(xiàn)場的檢驗(yàn)和認(rèn)證是必不可少的。

作者簡介:彭瑜,1960年畢業(yè)于清華大學(xué)動力系。上海工業(yè)自動化儀表研究院教授級高級工程師、PLC open中國組織名譽(yù)主席、中國智能制造綜合標(biāo)準(zhǔn)化工作組專家、工信部智能制造標(biāo)準(zhǔn)化體系建設(shè)工作組專家、中國科技自動化聯(lián)盟首席專家顧問。長期從事工業(yè)過程控制系統(tǒng)的研究開發(fā)工作。自1996年后,研究領(lǐng)域集中在PC控制、現(xiàn)場總線、工業(yè)以太網(wǎng)、MES,以及現(xiàn)場設(shè)備的無線通信;近些年主要研究智能制造相關(guān)的自動化技術(shù)。憑借在發(fā)展我國工程技術(shù)事業(yè)方面做出的特殊貢獻(xiàn),1993年起獲國務(wù)院特殊津貼。

共有訪客發(fā)表了評論 網(wǎng)友評論

  客戶姓名:
郵箱或QQ:
驗(yàn)證碼: 看不清楚?