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

圖1 可配置混合異構系統(tǒng)體系結構
可配置混合異構系統(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)資源配置沖突導致的操作系統(tǒng)運行出錯。在目標項目的源代碼編譯之前,獲取目標項目的源代碼;源代碼中包括目標項目對應的配置文件,解析配置文件可以得到配置文件的配置信息;配置信息包括各節(jié)點的節(jié)點信息和屬性配置信息,若確定配置信息中包括的節(jié)點信息或屬性配置信息存在資源配置沖突,則確定目標項目的源代碼存在資源配置沖突。如此,可以實現(xiàn)在目標項目的操作系統(tǒng)的源代碼編譯之前檢測出操作系統(tǒng)的資源配置是否沖突,進而避免系統(tǒng)資源配置沖突導致的操作系統(tǒng)運行出錯,可以節(jié)省重新固化運行程序的時間。系統(tǒng)的資源配置檢測裝置如圖2所示。

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

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

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