摘要
本文著重介紹了我國自主研發(fā)的鴻道Intewell操作系統(tǒng)——針對低成本硬件數(shù)控系統(tǒng)的一種體系架構(gòu)設(shè)計。此體系結(jié)構(gòu)可以為數(shù)控系統(tǒng)業(yè)務(wù)應(yīng)用提供豐富的生態(tài),滿足數(shù)控系統(tǒng)HMI應(yīng)用的需要;同時,為數(shù)控系統(tǒng)提供強實時性能,通過實時控制應(yīng)用與非實時HMI應(yīng)用的多業(yè)務(wù)融合可實現(xiàn)高速、高精度控制。
關(guān)鍵詞:混合異構(gòu)系統(tǒng),共享內(nèi)存,半虛擬化,數(shù)控系統(tǒng),鴻道操作系統(tǒng)
作者:郭建川,殷燦菊 作者單位:科東(廣州)軟件科技有限公司
引言
隨著我國由制造業(yè)大國向制造業(yè)強國的戰(zhàn)略轉(zhuǎn)型,日益增長的先進制造、精密加工需求與高端制造裝備核心技術(shù)相對缺乏、自主程度低的矛盾越發(fā)突出,特別是高端數(shù)控核心技術(shù)還比較落后,已經(jīng)成為影響我國工業(yè)發(fā)展和國防安全的重要因素。因此,研發(fā)真正完全自主的高端數(shù)控核心系統(tǒng),具有十分重要的市場價值和戰(zhàn)略意義。
操作系統(tǒng)是數(shù)控系統(tǒng)的基礎(chǔ),為數(shù)控系統(tǒng)提供資源管理以及調(diào)度能力,是數(shù)控系統(tǒng)的關(guān)鍵部件,它的功能和性能制約著數(shù)控系統(tǒng)的性能與可靠性。經(jīng)過數(shù)十年的努力,我國在數(shù)控系統(tǒng)的關(guān)鍵領(lǐng)域取得了一系列重大技術(shù)突破,研制出了若干具有自主知識產(chǎn)權(quán)的高檔數(shù)控系統(tǒng),但是我國尚未完全改變在數(shù)控操作系統(tǒng)受制于人的局面。目前數(shù)控系統(tǒng)的操作系統(tǒng)大多使用國外的Intime及開源Linux。
Intewell工業(yè)級網(wǎng)絡(luò)操作系統(tǒng)為我國自主研發(fā),可運行于多種通用硬件系統(tǒng)和嵌入式硬件系統(tǒng)中,包實時和非實時獨立及融合兩種應(yīng)用形態(tài)。Intewell結(jié)合虛擬化和強實時特性,實現(xiàn)單一物理設(shè)備能力的資源池化、設(shè)備綜合化的操作系統(tǒng),使單一物理設(shè)備的業(yè)務(wù)能力根據(jù)應(yīng)用需要靈活變化,同時還具備豐富的生態(tài)支持、高可靠性及強實時性能特點。Intewell根據(jù)硬件能力及業(yè)務(wù)要求有多種構(gòu)型。因數(shù)控系統(tǒng)往往不具備硬件輔助虛擬化特性,因此Intewell提供了一種針對數(shù)控系統(tǒng)的面向低成本硬件的可配置混合異構(gòu)系統(tǒng)形態(tài)的解決方案。本文著重介紹Intewell可配置混合異構(gòu)系統(tǒng)的體系架構(gòu)設(shè)計,此構(gòu)型非常符合數(shù)控系統(tǒng)的業(yè)務(wù)需求。
1 設(shè)計目標(biāo)
數(shù)控操作系統(tǒng)為數(shù)控系統(tǒng)業(yè)務(wù)應(yīng)用提供豐富的生態(tài),滿足數(shù)控系統(tǒng)HMI應(yīng)用的需要,同時為數(shù)控系統(tǒng)提供強實時性能。實時控制應(yīng)用與非實時HMI應(yīng)用多業(yè)務(wù)融合,實現(xiàn)高速、高精度控制。
數(shù)控操作系統(tǒng)需提供高可靠性,對于同時運行非實時業(yè)務(wù)、實時關(guān)鍵業(yè)務(wù)運行環(huán)境的數(shù)控可配置混合異構(gòu)系統(tǒng),研究兩類異構(gòu)業(yè)務(wù)特點,分別提供適合不同業(yè)務(wù)場景的安全隔離機制。針對數(shù)控多種非實時業(yè)務(wù)任務(wù)同時運行時對安全資源隔離的需求,研究多個非實時任務(wù)間的空間隔離技術(shù)、故障隔離技術(shù),為非實時任務(wù)關(guān)鍵軟件提供高效容錯隔離機制,以防止不同任務(wù)間的故障傳播。針對數(shù)控多種實時性業(yè)務(wù)任務(wù)同時運行時對安全資源隔離、關(guān)鍵任務(wù)快速重構(gòu)等方面的需求,研究任務(wù)間的空間隔離技術(shù)、時間隔離技術(shù)、故障隔離技術(shù),為安全關(guān)鍵實時應(yīng)用業(yè)務(wù)提供高效容錯隔離機制,以防止不同任務(wù)間的故障傳播,并提供虛擬中斷管理、分區(qū)管理與調(diào)試、容錯管理等功能。另外,混合異構(gòu)操作系統(tǒng)需要為非實時及實時應(yīng)用之間提供高速通信機制。
2 可配置混合異構(gòu)系統(tǒng)體系架構(gòu)設(shè)計
2.1 總體架構(gòu)
可配置混合異構(gòu)系統(tǒng)支持非實時系統(tǒng)、實時系統(tǒng)、關(guān)鍵任務(wù)和非關(guān)鍵任務(wù)混合運行的容錯構(gòu)型及分區(qū)資源可配置的高可靠強實時系統(tǒng)。
通過微內(nèi)核、半虛擬化及強實時等技術(shù)手段實現(xiàn)業(yè)務(wù)共享同一個資源池,彌補了傳統(tǒng)數(shù)控系統(tǒng)的短板,確保實時業(yè)務(wù)資源優(yōu)先供給、智能部署、安全隔離。體系結(jié)構(gòu)如圖1所示。

圖1 可配置混合異構(gòu)系統(tǒng)體系結(jié)構(gòu)
可配置混合異構(gòu)系統(tǒng)由系統(tǒng)可視化資源配置、Intewell實時運行環(huán)境、強實時的分時分區(qū)操作系統(tǒng)、GPOS非實時操作系統(tǒng)系統(tǒng)以及非實時系統(tǒng)與實時系統(tǒng)之間的高速通信等部分組成。GPOS可以是Windows以及各種Linux版本。
2.2 系統(tǒng)可視化資源配置
系統(tǒng)硬件資源使用圖形化展示方式對多系統(tǒng)使用的資源進行配置。資源靜態(tài)配置,防止運行中動態(tài)配置的不確定性,提高整體系統(tǒng)的可靠性。另外,針對圖形化配置進行資源配置檢測方法,用于實現(xiàn)在編譯前檢測系統(tǒng)資源配置是否沖突,以避免系統(tǒng)資源配置沖突導(dǎo)致的操作系統(tǒng)運行出錯。在目標(biāo)項目的源代碼編譯之前,獲取目標(biāo)項目的源代碼;源代碼中包括目標(biāo)項目對應(yīng)的配置文件,解析配置文件可以得到配置文件的配置信息;配置信息包括各節(jié)點的節(jié)點信息和屬性配置信息,若確定配置信息中包括的節(jié)點信息或?qū)傩耘渲眯畔⒋嬖谫Y源配置沖突,則確定目標(biāo)項目的源代碼存在資源配置沖突。如此,可以實現(xiàn)在目標(biāo)項目的操作系統(tǒng)的源代碼編譯之前檢測出操作系統(tǒng)的資源配置是否沖突,進而避免系統(tǒng)資源配置沖突導(dǎo)致的操作系統(tǒng)運行出錯,可以節(jié)省重新固化運行程序的時間。系統(tǒng)的資源配置檢測裝置如圖2所示。

圖2 資源配置檢測裝置
①獲取單元用于在目標(biāo)項目的源代碼編譯之前,獲取所述目標(biāo)項目的源代碼,所述源代碼中包括所述目標(biāo)項目對應(yīng)的配置文件;
②解析單元用于解析所述配置文件,得到所述配置文件的配置信息,所述配置信息包括各節(jié)點的節(jié)點信息和各節(jié)點的屬性配置信息;
③處理單元用于:若確定所述配置信息中包括的至少一個節(jié)點的節(jié)點信息或?qū)傩耘渲眯畔⒋嬖谫Y源配置沖突,則確定所述目標(biāo)項目的源代碼存在資源配置沖突。
2.3 硬件資源抽象層
硬件資源抽象層實現(xiàn)非實時系統(tǒng)和實時系統(tǒng)在同一物理硬件上同時運行。對于多核CPU,實現(xiàn)邏輯分區(qū)和物理分區(qū)共存的情形;對于非實時系統(tǒng);運行在部分物理核上;對于實時部分運行到其余物理核上,采用虛擬化技術(shù),在此部分物理核上可以運行多個TTOS。硬件資源抽象層使數(shù)控系統(tǒng)硬件平臺上承載不同類型數(shù)控業(yè)務(wù)的非實時、實時異構(gòu)系統(tǒng)間對于各種硬件資源的靈活分配技術(shù),針對的典型硬件資源包括計算資源、存儲資源、信資源,既提供為保障響應(yīng)及時性的單系統(tǒng)對硬件資源的獨占機制,也支持發(fā)揮資源復(fù)用能力的多系統(tǒng)間對相同硬件資源的共享機制,主要包括多操作系統(tǒng)啟動、資源靈活分配等技術(shù)。
多核CPU上多操作系統(tǒng)啟動時,啟動核讀取預(yù)設(shè)的資源配置文件,并根據(jù)預(yù)設(shè)的資源配置文件啟動基礎(chǔ)操作系統(tǒng),根據(jù)預(yù)設(shè)的資源配置文件確定客戶機操作系統(tǒng)對應(yīng)的應(yīng)用核,使能對應(yīng)的應(yīng)用核,并將資源配置文件發(fā)送給對應(yīng)的應(yīng)用核。其中,預(yù)設(shè)的資源配置文件中至少包括多個操作系統(tǒng)的資源配置;對應(yīng)的應(yīng)用核被使能后,加載資源配置文件到預(yù)設(shè)的操作系統(tǒng)的喚醒物理地址,并根據(jù)資源配置文件完成應(yīng)用核的初始化工作,以及在完成初始化工作后跳轉(zhuǎn)到預(yù)設(shè)的被啟動操作系統(tǒng)的入口地址,此啟動模式可以有效實現(xiàn)在多核CPU上協(xié)同啟動多個異構(gòu)操作系統(tǒng)。多操作系統(tǒng)啟動裝置如圖3所示。

圖3 多操作系統(tǒng)啟動裝置
啟動核用于讀取預(yù)設(shè)的資源配置文件,并根據(jù)所述預(yù)設(shè)的資源配置文件啟動基礎(chǔ)操作系統(tǒng),并根據(jù)預(yù)設(shè)的資源配置文件確定客戶機操作系統(tǒng)對應(yīng)的應(yīng)用核,使能所述對應(yīng)的應(yīng)用核,以及將資源配置文件發(fā)送給所述對應(yīng)的應(yīng)用核。其中,所述預(yù)設(shè)的資源配置文件中至少包括基礎(chǔ)操作系統(tǒng)和客戶機操作系統(tǒng)的資源配置。應(yīng)用核被使能后,加載所述資源配置文件到預(yù)設(shè)的客戶機操作系統(tǒng)的喚醒物理地址,并根據(jù)所述資源配置文件完成應(yīng)用核的初始化工作,以及在完成初始化工作后跳轉(zhuǎn)到預(yù)設(shè)的客戶機操作系統(tǒng)的入口地址,啟動客戶機操作系統(tǒng)。
系統(tǒng)根據(jù)靜態(tài)資源配置文件對硬件資源進行分配。每個操作系統(tǒng)運行時,都根據(jù)資源配置文件中的配置初始化使用特定的硬件資源,系統(tǒng)中針對存儲資源和部分網(wǎng)卡資源采用共享機制。
2.4 高可靠性設(shè)計
Intewell操作系統(tǒng)可以保證非實時非關(guān)鍵任務(wù)及實時關(guān)鍵任務(wù)在一臺計算機中安全、可靠地運行。非實時系統(tǒng)中的應(yīng)用通過容器進行隔離,實時系統(tǒng)中的應(yīng)用可以使用Intewell分時分區(qū)操作系統(tǒng)通過分區(qū)進行隔離,非實時系統(tǒng)及實時系統(tǒng)通過硬件資源抽象層對物理資源進行隔離。
容器作為一種輕量虛擬化技術(shù),相較于基于虛擬機的全虛擬化方式,可以更細(xì)粒度地高效使用資源。通過使用容器可以將應(yīng)用程序的代碼、配置和依賴關(guān)系進行打包,將其變成容易使用的構(gòu)建塊,從而實現(xiàn)理想的環(huán)境一致性、運營效率、開發(fā)人員生產(chǎn)力和版本控制等諸多目標(biāo)。容器可以保證應(yīng)用程序獲得快速、可靠、一致的部署,其間不受部署環(huán)境的影響,從而實現(xiàn)非實時系統(tǒng)中HMI等應(yīng)用的相對安全性和隔離性。
實時系統(tǒng)側(cè)使用強實時高可靠分時分區(qū)操作系統(tǒng)對實時側(cè)提供容錯隔離基礎(chǔ)。分時分區(qū)操作系統(tǒng)的分區(qū)隔離通過MMU機制實現(xiàn),即:在空間上每個分區(qū)擁有獨立的運行空間,當(dāng)一個分區(qū)的空間被破壞后不影響其他分區(qū)的正常運行,且分區(qū)間無法相互訪問;在時間上,每個分區(qū)擁有獨立的運行實體,該實體的運行在時間上與其他分區(qū)的運行無任何關(guān)系。另外,通過虛擬中斷機制對I/O資源及異常進行隔離,從而實現(xiàn)實時系統(tǒng)中控制應(yīng)用的安全性和隔離性。
2.5 強實時性設(shè)計
Intewell分時分區(qū)操作系統(tǒng)是一款硬實時操作系統(tǒng)。通過以下方法保證實時性:
①調(diào)度算法:采取可搶占調(diào)度保證優(yōu)先級高的任務(wù)及中斷及時得到執(zhí)行和響應(yīng);根據(jù)時間調(diào)度表調(diào)度算法提供確定時間的調(diào)度方式;根據(jù)時間復(fù)雜度為O(1)的調(diào)度對象選擇算法,保證時間確定性。
②調(diào)度時機:在可能出現(xiàn)更高優(yōu)先級調(diào)度對象需要調(diào)度的時候及時進行調(diào)度,比如調(diào)度對象狀態(tài)發(fā)生變化的API中的中斷處理等;另外,要保證使用原子操作進行處理的時間盡可能短。
③基于硬件特性進行實時性優(yōu)化:主要包括Cache的處理、禁止進入系統(tǒng)管理態(tài)的處理、電源管理的處理、特殊I/O等的處理。
④提供全局時鐘同步:數(shù)控業(yè)務(wù)模塊同時在多個核心、多個分區(qū)中運行。為了保障運行時間段的同步,需要實現(xiàn)全局時鐘同步。操作系統(tǒng)實現(xiàn)全局時鐘,并對各個分區(qū)的時鐘進行同步,在分區(qū)層建立統(tǒng)一的全系統(tǒng)時間基準(zhǔn),從而實現(xiàn)分區(qū)間的時間同步。
2.6 多系統(tǒng)間通信
可配置混合異構(gòu)系統(tǒng)包括若干個實時系統(tǒng)TTOS和一個非實時系統(tǒng)。通過虛擬網(wǎng)卡方式實現(xiàn)非實時系統(tǒng)及實時系統(tǒng)間任意兩者的高速通信。通過SMIPC、共享內(nèi)存方式和虛擬中斷實現(xiàn)任意兩個實時TTOS之間的通信??膳渲没旌袭悩?gòu)系統(tǒng)間的通信機制如圖4所示。

圖4 非實時系統(tǒng)與實時系統(tǒng)的高速通信機制
①虛擬網(wǎng)卡:虛擬網(wǎng)卡由后端和前端組成,后端及前端基于共享內(nèi)存進行通信。虛擬網(wǎng)卡建立各實時虛擬機間以及各實時虛擬機與外部設(shè)備間的通信連接,可以解決需要通過硬件設(shè)備才能實現(xiàn)多個實時虛擬機間的網(wǎng)卡共享問題,實現(xiàn)了各實時虛擬機間以及各實時虛擬機與外部設(shè)備間的通信連接。
②共享內(nèi)存:共享內(nèi)存是針對其他通信機制運行效率較低的問題而設(shè)計的。共享內(nèi)存通信機制基于內(nèi)存映射機制將同一個物理內(nèi)存區(qū)域映射到不同的虛擬地址空間,對該段內(nèi)存區(qū)域的操作都是在同一個物理內(nèi)存區(qū)域,實現(xiàn)內(nèi)存共享以達到通信目的。在大量的數(shù)據(jù)傳輸需求上,可以實現(xiàn)零拷貝,從而達到高效的IPC通信。共享內(nèi)存機制只為虛擬機提供了用于實現(xiàn)通信的共享存儲區(qū)和對共享存儲區(qū)進行操作的手段,在多核多線程高并發(fā)異構(gòu)系統(tǒng)中應(yīng)用對共享存儲區(qū)的訪問需要用戶保證數(shù)據(jù)的一致性。
③SMIPC:SMIPC抽象出總線、節(jié)點、端口的概念,提供面向套接字的通信方式。SMIPC是一個多虛擬機間通信層(IPC),它使用共享內(nèi)存提供在上運行的應(yīng)用程序之間交換消息。它提供一個類似套接字的API來簡化編程。SMIPC提供零拷貝功能接口,發(fā)送數(shù)據(jù)前通過接口從共享內(nèi)存中分配緩沖,發(fā)送時不再拷貝用戶數(shù)據(jù)到共享內(nèi)存。
④虛擬中斷:虛擬中斷為分區(qū)提供中斷異常隔離機制,另外虛擬中斷也為分區(qū)間通信提供支持,虛擬中斷中的服務(wù)中斷為任意兩個TTOS提供通知機制。
3 結(jié)語
作為數(shù)控系統(tǒng)的核心部件,操作系統(tǒng)是保證數(shù)控系統(tǒng)高速、高精、開放性與智能化的關(guān)鍵技術(shù)之一,而現(xiàn)有國產(chǎn)操作系統(tǒng)不能滿足數(shù)控系統(tǒng)的需要。Intewell工業(yè)級網(wǎng)絡(luò)操作系統(tǒng)為我國自主研發(fā)、實現(xiàn)單一物理設(shè)備能力的資源池化、設(shè)備綜合化的操作系統(tǒng),使單一物理設(shè)備的業(yè)務(wù)能力可根據(jù)應(yīng)用需要靈活變化,同時還具備豐富的生態(tài)支持、高可靠性及強實時特點,使非實時系統(tǒng)和實時系統(tǒng)充分融合,以解決數(shù)控系統(tǒng)中應(yīng)用業(yè)務(wù)的若干瓶頸問題。
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7445瀏覽量
129652 -
數(shù)控機床
+關(guān)注
關(guān)注
19文章
880瀏覽量
49906
發(fā)布評論請先 登錄
硬實時·強生態(tài):鴻道Intewell硬實時操作系統(tǒng)
鴻道Intewell獲第十屆“創(chuàng)客中國”新一代信息技術(shù)大賽企業(yè)組優(yōu)勝獎
榮耀時刻 | 鴻道Intewell新型工業(yè)操作系統(tǒng)斬獲機械工業(yè)領(lǐng)航獎
鴻道Intewell榮獲廣州市首版次項目資金扶持
鴻道Intewell操作系統(tǒng)上榜廣州市首版次軟件產(chǎn)品研發(fā)項目名單
光亞鴻道獲昆侖北工2.8億元戰(zhàn)略投資,國產(chǎn)操作系統(tǒng)生態(tài)加速成型
深度智能 基座躍遷 鴻道Intewell,面向“AI+智造”的新型工業(yè)操作系統(tǒng)
鴻道Intewell:以創(chuàng)新國產(chǎn)實時操作系統(tǒng)助力多產(chǎn)業(yè)發(fā)展
鴻道Intewell實時操作系統(tǒng)有哪些應(yīng)用場景
BK 機床控制變壓器在數(shù)控機床中真的不可或缺嗎?
從DeviceNet到EtherCAT:數(shù)控機床工廠的精準(zhǔn)加工與工業(yè)互聯(lián)實踐
鴻道Intewell操作系統(tǒng):人形機器人底層操作系統(tǒng)
鴻道Intewell操作系統(tǒng)實時虛擬化技術(shù)的優(yōu)勢
面向數(shù)控機床異構(gòu)系統(tǒng)架構(gòu)設(shè)計的鴻道Intewell操作系統(tǒng)
評論