執行在網路處理器上的嵌入式Linux系統(轉)

BSDLite發表於2007-08-15
執行在網路處理器上的嵌入式Linux系統(轉)[@more@]  摘要:網路處理器已經可能的未來的多核處理器會將越來越多的應用在從家庭,企業到核心網路裝置中,Linux OS正在替代傳統的RTOS執行在這些處理器的控制平面,定義和處理好資料平面和控制平面的介面,豐富的開源和商業應用軟體和電信級別的高可能性要求是目前需要解決的重要問題。

  關鍵字:網路處理器,嵌入式Linux,多核處理器

  引言:

  在最近的24個月中,由於供應商組織面臨經濟狀況不景氣,加上Intel IXP 和 IBM Power NP,Raza,Cavium,Xilinx等公司的網路處理器(多核處理器)的出現,使得Linux在基於這些處理器裝置的控制和管理層面上有了更多的用武之地。

  控制層面包括邏輯和物理介面,它們本身並不傳輸網路資料,而是啟動,監視和控制晶片的傳輸資料活動。在現有的網路處理器設計當中,像Linux這樣的嵌入式作業系統通常執行在控制層面的處理器上,代表包引擎進行控制操作和事務性處理,實際的網際協議包(IP包)由專門的晶片進行處理。控制層面的處理器和資料/轉發層面的包處理引擎之間的連線,可以透過連線協處理器的本地匯流排方式,或者直接使用標準的PCI匯流排,也可以採用乙太網或者特殊應用的網路結構那樣的連線方式。

  在本地匯流排或者PCI匯流排的情況下,主控處理器將可將轉發/資料層面的處理器視為專用外設,它具有簡單記憶體對映介面。在採用網路方式來連線各層面的情況下,主控處理器必須使用分離的裝置驅動設計。首先,結構介面需要一個通用的驅動(以太,非同步傳輸等),透過它傳送專門的命令包來控制包處理器。嵌入式Linux具有豐富的網路功能(乙太網和ATM在開源社群都很容易獲得),與非開源作業系統相比具有顯著的優點:無須定製,有現成的核心。這些對於開發專門的網路系統,即使是乙太網驅動都是重要的附加投資。

  現成的網路處理器一直努力地將高效能網路緊密地與主控處理器捆綁,並與本地連線整合到一起。第一代設計在控制節點和資料層仍然遇到了頻寬限制的難題-資料包在進出控制層時遇到瓶頸,在網路處理器內部的並行包引擎也有同樣的問題。此外,實踐證明在功能強大的網路處理器和複雜的包引擎集上程式設計非常困難。網路處理器開發商在他們的晶片開發計劃上標明瞭解決這些問題和推出新一代的庫和工具箱的時間表。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-960247/,如需轉載,請註明出處,否則將追究法律責任。

相關文章