<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于單Linux的電信基站軟件設(shè)計(jì)

          基于單Linux的電信基站軟件設(shè)計(jì)

          作者: 時(shí)間:2012-07-17 來源:網(wǎng)絡(luò) 收藏

          標(biāo)簽:RTOS+CPU/DSP

          本文引用地址:http://www.ex-cimer.com/article/154410.htm

          自從1991年第一次面世以來,任何人也不會(huì)想到這個(gè)不起眼的操作系統(tǒng)現(xiàn)在會(huì)應(yīng)用得如此廣泛。無論是從嵌入式領(lǐng)域的智能手機(jī)到大型計(jì)算服務(wù)器都可以找到它的身影,而且無論什么工作它都完成得非常出色,因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/Linux">Linux的開放性決定了其自身可以根據(jù)使用領(lǐng)域而高度定制。作為一個(gè)開源,當(dāng)前業(yè)界的工業(yè)標(biāo)準(zhǔn)可以最快地支持任何剛發(fā)布的硬件產(chǎn)品。同時(shí),被世界各地的商業(yè)公司和志愿者一起參與開發(fā)和測(cè)試,它也變成了十分穩(wěn)定的操作系統(tǒng)之一。

          原則決定了它的無所不能,但是對(duì)于特定領(lǐng)域它并不是最優(yōu)的解決方案。同樣對(duì)于嵌入式領(lǐng)域來說,為了追求滿足領(lǐng)域的高實(shí)時(shí)性和高吞吐量要求,大家一般都采用傳統(tǒng)的RTOS+Linux+運(yùn)行環(huán)境。

          在傳統(tǒng)架構(gòu)中(參見圖1),數(shù)據(jù)面處理采用RTOS+CPU/DSP方式,主要處理底層協(xié)議數(shù)據(jù)業(yè)務(wù),通過RTOS的高實(shí)時(shí)性及多核CPU/DSP來達(dá)到性能需求。Linux自身的實(shí)時(shí)性較差,但是比較適合于高負(fù)載的復(fù)雜協(xié)議處理,因此一般用于完成用戶控制平面協(xié)議的處理和IP轉(zhuǎn)發(fā)等功能。這個(gè)方案在性能上可以保證電信產(chǎn)品的使用需求,但系統(tǒng)中存在多個(gè)處理器和多個(gè)不同操作系統(tǒng)平臺(tái),對(duì)于用戶的維護(hù)和后續(xù)升級(jí)管理帶來很大負(fù)擔(dān),同時(shí)也無法滿足當(dāng)前的低成本和低功耗要求。

          典型的電信基站系統(tǒng)結(jié)構(gòu)圖

          圖1:典型的電信系統(tǒng)結(jié)構(gòu)圖

          隨著近年來處理器硬件技術(shù)的飛速發(fā)展,處理器的能力越來越強(qiáng),多核平臺(tái)已經(jīng)廣泛地應(yīng)用在電信領(lǐng)域,尤其是在ARM公司將 Cortex A15引入電信領(lǐng)域后,整合單芯片解決方案將成為業(yè)界主流。但是領(lǐng)域的發(fā)展相對(duì)滯后,尤其是如何在SoC單芯片硬件環(huán)境下保證用戶已有成熟業(yè)務(wù)的繼承使用,是每一個(gè)電信設(shè)備制造商關(guān)心的問題。

          最簡(jiǎn)單的解決方案是如圖2將Linux和RTOS按照AMP方式獨(dú)立運(yùn)行在多核CPU的不同核上。這種方案可以保證高實(shí)時(shí)能力,同時(shí)可以避免用戶應(yīng)用軟件的修改。但是該方案最大的問題是兩個(gè)操作系統(tǒng)要求在硬件資源使用上獨(dú)占,需要在使用前靜態(tài)分配好,系統(tǒng)運(yùn)行后則無法動(dòng)態(tài)分配,沒有辦法做到資源共享。同一個(gè)硬件環(huán)境下同時(shí)運(yùn)行兩個(gè)獨(dú)立的系統(tǒng)也帶來了運(yùn)行安全方面的隱患。綜上所述,AMP方案前期簡(jiǎn)單,方便于先前成熟軟件集成,但是后期維護(hù)成本較高,同時(shí)造成了硬件資源的浪費(fèi)。

          AMP解決方案架構(gòu)圖

          圖2:AMP解決方案架構(gòu)圖

          Linux KVM是Linux內(nèi)核的虛擬機(jī)制,通過KVM可以在其上虛擬出原有RTOS所需要的運(yùn)行環(huán)境(參見圖3)。例如我們可以將原有業(yè)務(wù)軟件以及原有的RTOS一同移植到KVM的虛擬環(huán)境中,這種方式對(duì)業(yè)務(wù)應(yīng)用軟件不需要任何修改。同時(shí),整個(gè)系統(tǒng)硬件資源也由Linux統(tǒng)一分配,相對(duì)AMP方案避免了硬件資源的浪費(fèi)。KVM機(jī)制可以做到系統(tǒng)的安全隔離,保證了電信系統(tǒng)的運(yùn)行安全。但是該方案存在實(shí)時(shí)性較差(尤其是運(yùn)行在Linux內(nèi)核上RTOS的實(shí)時(shí)性),很難應(yīng)用于電信協(xié)議等時(shí)隙要求較高的場(chǎng)合。

          Linux KVM解決方案

          圖3:Linux KVM解決方案

          如何在Linux基礎(chǔ)上提供更加高效的實(shí)時(shí)處理能力,同時(shí)又簡(jiǎn)化多操作系統(tǒng)并存帶來的軟件復(fù)雜性?為此,Enea(宜能)公司在用戶空間實(shí)現(xiàn)了LWRT(Light-weight Run-time Threading,輕量級(jí)運(yùn)行環(huán)境)。LWRT是針對(duì)多核使用場(chǎng)景的,它Linux用戶空間的標(biāo)準(zhǔn)Pthread作為運(yùn)行載體,并在此基礎(chǔ)上實(shí)現(xiàn)了可確定的調(diào)度方式、信號(hào)機(jī)制和內(nèi)存管理。通過這種方式,LWRT內(nèi)部的線程切換和信號(hào)處理不再依靠Linux內(nèi)核調(diào)度機(jī)制,而是完全在用戶態(tài)的LWRT內(nèi)部實(shí)現(xiàn)。這在減少系統(tǒng)開銷的同時(shí),也實(shí)現(xiàn)了嚴(yán)格意義上的實(shí)時(shí)切換。圖4描述了LWRT電信基站軟件架構(gòu)。

          LWRT多核解決方案

          圖4:LWRT多核解決方案

          為了保證整個(gè)LWRT的實(shí)時(shí)性,我們需要將其承載的容器Linux Pthread綁定到一個(gè)物理內(nèi)核上,通過這種方式使LWRT像單獨(dú)運(yùn)行在這個(gè)物理內(nèi)核的傳統(tǒng)RTOS一樣。同時(shí),我們?cè)贚WRT上設(shè)計(jì)了用戶態(tài)中斷處理模型,將整個(gè)中斷處理過程放在用戶態(tài)進(jìn)行。在Linux內(nèi)核只需要在上半部中向LWRT發(fā)出中斷信號(hào),而所有的下半部處理完全實(shí)現(xiàn)在用戶態(tài)的LWRT中。整個(gè)中斷處理不再有內(nèi)核互斥鎖的影響,從而保證了高實(shí)時(shí)處理能力。

          先進(jìn)的設(shè)計(jì)保證了高效的性能,在一個(gè)實(shí)際測(cè)試環(huán)境中對(duì)于一個(gè)簡(jiǎn)單的信號(hào)觸發(fā)-線程切換-信號(hào)接收的線程切換模型,LWRT可以在不超過200個(gè)周期內(nèi)完成,且該數(shù)據(jù)不會(huì)隨著CPU占用率增高而受到影響,而在同一硬件條件下,采用Linux標(biāo)準(zhǔn)線程完成同樣的切換動(dòng)作需要大約3500個(gè)時(shí)鐘周期,測(cè)試解決見圖5.整個(gè)切換過程達(dá)到了高實(shí)時(shí)性要求。Linux上將不再只是運(yùn)行控制面代碼,用戶完全可以將數(shù)據(jù)面處理遷移到Linux上。基于這種方案我們將不再需要RTOS,而是將RTOS的功能基于LWRT來提供。

          LWRT線程切換和Pthread線程切換對(duì)比

          圖5:LWRT線程切換和Pthread線程切換對(duì)比

          目前整個(gè)電信領(lǐng)域向IP化發(fā)展,針對(duì)于IP數(shù)據(jù)處理,Enea實(shí)現(xiàn)了PAX(數(shù)據(jù)包加速基礎(chǔ))解決方案。PAX同樣運(yùn)行在Linux的用戶態(tài)。

          它實(shí)現(xiàn)了基于圖形方式現(xiàn)實(shí)的IP報(bào)文分析處理流程,在PAX中可以完成IP轉(zhuǎn)發(fā)、IPSec、流量控制和ARP/WLAN網(wǎng)橋,以及數(shù)據(jù)包檢查DPI等IP通訊中最消耗資源的處理。針對(duì)于數(shù)據(jù)面的這些處理過程不再依賴于原有Linux內(nèi)核IP協(xié)議棧實(shí)現(xiàn),而是由PAX及其相關(guān)的硬件加速器一起完成。這樣便將原有Linux IP轉(zhuǎn)發(fā)能力提高數(shù)倍,而非常適合于可擴(kuò)展、高吞吐量和低時(shí)延的IP協(xié)議處理,尤其適用于基于IP的無線基站、控制器、智能防火墻、入侵檢測(cè)系統(tǒng)和防病毒掃描網(wǎng)關(guān)等產(chǎn)品中。同時(shí),PAX提供的圖像化追蹤(tracing)和分析(profiling)功能可以方面用戶找出系統(tǒng)瓶頸所在,進(jìn)行針對(duì)性優(yōu)化。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();