1. 程式人生 > >混合多系統虛擬網絡卡核間中斷實現

混合多系統虛擬網絡卡核間中斷實現

  1. APIC介紹
    APIC的全稱是Advanced Programmable Interrupt Controller,是8259控制器的升級版本。APIC包括了Local APIC和I/O APIC兩部分內容,Local APIC是總的控制器,位於CPU內部;I/O APIC主要用於處理外部裝置的中斷。引入APIC可以適應多處理器環境。APIC在處理器中的邏輯如圖 1.1所示:

圖 1.1 APIC邏輯圖

  1. 混合系統間通訊
    2.1 SylixOS和Linux通訊介紹
    在J1900工控機上安裝SylixOS+Linux混合系統,SylixOS和Linux分別使用兩個核。為了在SylixOS和Linux之間實現通訊,在SylixOS和Linux上分別實現了虛擬網絡卡驅動,通過虛擬網絡卡實現兩個系統之間通過網路通訊的功能。虛擬網絡卡通過核間中斷方式來通知CPU收發網路資料包。
    2.2 Linux虛擬網絡卡驅動
    Linux網絡卡驅動設定虛擬網絡卡驅動傳送核間中斷如圖 2.1所示:

圖 2.1 Linux傳送核間中斷
2.3 SylixOS虛擬網絡卡驅動
SylixOS虛擬網絡卡驅動首先向系統註冊一個核間中斷,用於接收處理Linux傳送的網路資料包,介面如圖 2.2所示:

圖 2.2 SylixOS註冊核間中斷
2.4 核間中斷檢視
通過Linux和SylixOS系統之間相互ping檢視網路是否暢通,同時在Linux上可以檢視觸發的核間中斷個數,如圖 2.3所示:

圖 2.3 核間中斷檢視