• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    嵌入式Linux在SMP系統(tǒng)上的移植研究與實(shí)現(xiàn)

    2016-11-25 09:00:28朱蘇建邵培南
    電子設(shè)計(jì)工程 2016年18期
    關(guān)鍵詞:嵌入式系統(tǒng)

    朱蘇建,邵培南,金 剛

    (華東計(jì)算技術(shù)研究所 上海 200233)

    嵌入式Linux在SMP系統(tǒng)上的移植研究與實(shí)現(xiàn)

    朱蘇建,邵培南,金 剛

    (華東計(jì)算技術(shù)研究所 上海 200233)

    基于自主開發(fā)以雙核嵌入式CPU EM8301為處理核心的嵌入式應(yīng)用的目的,針對雙核CPU芯片的系統(tǒng)結(jié)構(gòu)和Linux內(nèi)核的特性,通過研究嵌入式Linux操作系統(tǒng)在SMP系統(tǒng)上的移植,探討SMP架構(gòu)多核硬件平臺下的啟動流程、任務(wù)調(diào)度策略、任務(wù)間同步與互斥、中斷處理等問題,結(jié)合自主研發(fā)嵌入式應(yīng)用的實(shí)際需求,得到解決上述問題的方案,完成嵌入式Linux在SMP系統(tǒng)上的移植,并實(shí)現(xiàn)嵌入式Linux在自主CPU芯片上的成功運(yùn)行。

    嵌入式;Linux內(nèi)核;對稱多處理器;移植

    如何不斷提升處理器性能一直是處理器研究的重要內(nèi)容,在單核處理器時代,提高處理器主頻一直是提高處理器性能的主要方式。但由于工業(yè)工藝的限制,處理器主頻已經(jīng)很難再有大幅度的提升,并且功耗增加的代價也已經(jīng)超出了提高主頻所能帶來的收益。這一難題隨著多核處理器的出現(xiàn)得到了很大程度上的解決,單一處理器的主頻對性能的限制被突破。多核處理器就是將一個或多個CPU核集成到一個芯片內(nèi),多個CPU核心共同承擔(dān)系統(tǒng)負(fù)載,完成功能需求,形成多個處理器核心(Chip Multi-Processing,CMP)的并行體系結(jié)構(gòu),這樣就可以將處理器主頻保持在較低水平的同時提高處理器性能[1]。

    EM8301是針對以太網(wǎng)網(wǎng)絡(luò)通信應(yīng)用開發(fā)的一款雙核嵌入式CPU,該嵌入式CPU的內(nèi)核和系統(tǒng)結(jié)構(gòu)都是自主設(shè)計(jì)。首先需要選擇較為高效和可靠的操作系統(tǒng)進(jìn)行移植,使其滿足該嵌入式CPU內(nèi)核的功能需求,以便進(jìn)一步研究和實(shí)現(xiàn)基于該CPU的嵌入式應(yīng)用板。作為開源系統(tǒng)的嵌入式Linux操作系統(tǒng),系統(tǒng)結(jié)構(gòu)易于研究和應(yīng)用,同時,Linux內(nèi)核實(shí)現(xiàn)了對SMP的支持,因此本文選擇嵌入式Linux作為移植目標(biāo)。考慮到嵌入式 CPU EM8301的硬件特性,本文選擇使用Linux-3.17.2版本的內(nèi)核,開展針對多核EM8301的操作系統(tǒng)移植研究和實(shí)現(xiàn)。文中重點(diǎn)對 SMP(Symmetric Multi-Processing)多核平臺下移植過程中的內(nèi)核啟動流程、任務(wù)調(diào)度策略、任務(wù)間同步與互斥、中斷處理等問題進(jìn)行分析解決。

    1 硬件平臺的系統(tǒng)結(jié)構(gòu)

    EM8301嵌入式CPU的系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

    圖1 EM8301嵌入式CPU系統(tǒng)結(jié)構(gòu)框圖

    EM8301嵌入式CPU的內(nèi)核是參考PowerPC指令集自主設(shè)計(jì)的 CPU核心 E300。E300內(nèi)核集成了 32 kB指令Cache和32 kB數(shù)據(jù)Cache,支持存儲管理功能。

    EM8301的外圍接口包括:DDR、GMAC、PCIE、串口等。

    2 嵌入式Linux的SMP架構(gòu)分析

    Linux的代碼完全開放及其良好的結(jié)構(gòu)設(shè)計(jì),使其非常適用于嵌入式系統(tǒng)。由于Linux系統(tǒng)的開源特性,目前出現(xiàn)了許多針對嵌入式硬件系統(tǒng)的單處理器Linux內(nèi)核版本。隨著多核處理器的應(yīng)用領(lǐng)域不斷擴(kuò)展,這些單處理器的Linux內(nèi)核版本已經(jīng)無法滿足現(xiàn)有嵌入式應(yīng)用的需求。因此,必須對所選用的Linux內(nèi)核進(jìn)行重新改進(jìn)和設(shè)計(jì),適應(yīng)當(dāng)前的問題。但是從單核處理器到多核處理器,原有的操作系統(tǒng)模型已經(jīng)無法滿足現(xiàn)有的功能需求,整個模型都需要發(fā)生變化[2],主要體現(xiàn)在以下幾個方面:

    1)內(nèi)核的啟動過程。在單處理器上,內(nèi)核的啟動只需要完成一個CPU的初始化,而在多核處理器上,必須有新的啟動方式,否則會造成混亂。多核處理器并不同時啟動處理器上的所有核心,而是首先確定一個CPU作為主核心,啟動這一主核心并完成必需的初始化操作。這個主核心稱為 BP(Booting Processor)。在BP完成一定的初始化操作之后,再逐個喚醒其它的次處理器核心,這些次 CPU被稱為 SP(Secondary Processor)。在所有次處理器核心(SP)都啟動后,就和主核心(BP)共同承擔(dān)系統(tǒng)負(fù)載,實(shí)現(xiàn)處理器性能的最大利用。

    2)高速緩存一致性。從EM8301嵌入式CPU的系統(tǒng)結(jié)構(gòu)圖中可以看出,EM8301的兩個CPU(CPU0、CPU1)分別獨(dú)享32 kB的數(shù)據(jù)Cache。系統(tǒng)中存在大量共享數(shù)據(jù)被各個處理器調(diào)用和修改,這些數(shù)據(jù)在各處理器的數(shù)據(jù)Cache中存有副本。當(dāng)處理器修改共享數(shù)據(jù)時,僅是修改數(shù)據(jù)Cache中的副本,并不對共享數(shù)據(jù)本身產(chǎn)生影響。而數(shù)據(jù)的修改對另一個處理器是不可見的,另一個處理器在調(diào)用或者修改同一數(shù)據(jù)時,無法獲得被修改后的最新數(shù)據(jù),這樣就會造成Cache不一致。通常情況下,Cache不一致問題主要有軟件和硬件解決兩種不同的方法:一種是通過軟件的方法實(shí)現(xiàn),由軟件來控制數(shù)據(jù)的修改,以保證一致性,但這種方法會使操作系統(tǒng)更加復(fù)雜,影響系統(tǒng)性能;另一種方法是通過硬件的方法實(shí)現(xiàn),在硬件上使用Cache一致性維護(hù)邏輯,EM8301嵌入式CPU就是采用的這種方法。

    3)負(fù)載的平衡。單核處理器中的單一處理器內(nèi)核完成所有的系統(tǒng)功能需求,承擔(dān)系統(tǒng)負(fù)載,因此無需考慮負(fù)載平衡的問題。而在多處理器中,所有的處理器核心共同承擔(dān)負(fù)載,如果負(fù)載不平衡,出現(xiàn)某些處理器上的任務(wù)量偏重而其它處理器比較空閑,就會使處理器資源得不到充分利用,使用多處理器的優(yōu)勢就沒有體現(xiàn)出來。所以在多核架構(gòu)下,系統(tǒng)的負(fù)載是由多個CPU共同承擔(dān),操作系統(tǒng)必須處理好CPU核負(fù)載均衡的問題。

    4)任務(wù)之間的同步與互斥。在單處理器上,只要保證在內(nèi)核中運(yùn)行進(jìn)程是非搶占的,就能確保進(jìn)程是互斥的。而在多處理器上,系統(tǒng)中有多個CPU,由于多個進(jìn)程可以同時運(yùn)行在不同的CPU核心上,就必須引入新的同步與互斥機(jī)制。并且在Linux2.6以后版本的Linux內(nèi)核中,為了提高系統(tǒng)的實(shí)時性,一個內(nèi)核任務(wù)可以被搶占[3],非搶占內(nèi)核幾乎已被淘汰。

    5)中斷與異常處理。在單處理器上,一個CPU完成中斷響應(yīng)、異常處理等操作,處理機(jī)制較為容易實(shí)現(xiàn)。而在多核處理器中,在工作的多個處理器核心中選擇一個合適的CPU進(jìn)行中斷的響應(yīng)和異常的處理需要新的機(jī)制進(jìn)行控制,以實(shí)現(xiàn)合理分配中斷和異常處理給相應(yīng)的CPU。

    3 嵌入式Linux的SMP平臺移植實(shí)現(xiàn)

    目前,Linux-3.17.2版本的內(nèi)核已經(jīng)能夠很好的支持SMP系統(tǒng),這為移植提供了便利。本文針對自主開發(fā)的一款雙核嵌入式CPU EM8301,開展嵌入式Linux操作系統(tǒng)的移植研究,移植后的Linux內(nèi)核應(yīng)該達(dá)到以下目標(biāo):

    1)Linux內(nèi)核能夠支持嵌入式多核處理器系統(tǒng),在自主嵌入式CPU上成功運(yùn)行,同時保留Linux效率高、可靠性強(qiáng)的特點(diǎn),實(shí)現(xiàn)從單處理器向多處理器的功能拓展;

    2)成功移植的內(nèi)核應(yīng)擁有可擴(kuò)展的系統(tǒng)架構(gòu),該內(nèi)核應(yīng)當(dāng)易于配置,并且實(shí)現(xiàn)多核服務(wù)與底層硬件的分離。

    在前面已經(jīng)分析過嵌入式Linux從單處理器到多處理器的主要變化,下面就對具體的移植過程中的問題進(jìn)行分析與實(shí)現(xiàn)。

    3.1 啟動過程

    Linux系統(tǒng)中,多核的啟動是由BP(Booting Processor)引導(dǎo)SP(Secondary Processor)的啟動。在啟動最初的Bootrom階段,每個CPU都會識別自身的ID,如果ID是0,則引導(dǎo)Bootloader和Linux內(nèi)核執(zhí)行,如果ID不是0,就將自身置于WFI或WFE狀態(tài),并等待CPU0的喚醒[4]。啟動的流程圖如圖2所示。

    圖2 多核Linux啟動流程

    具體的實(shí)現(xiàn)過程是,BP通過start_kernel()函數(shù)完成初始化,并在最后調(diào)用rest_init()函數(shù),通過rest_init()創(chuàng)建一個內(nèi)核線程kernel_init()來為SP的啟動布置好運(yùn)行環(huán)境。

    Kernel_init()內(nèi)核線程首先調(diào)用smp_init_cpus()函數(shù)獲取EM8301系統(tǒng)中CPU核的個數(shù),smp_init_cpus(void)實(shí)現(xiàn)的代碼如下:

    然后通過smp_prepare_cpus()函數(shù)設(shè)置SP啟動的地址,具體調(diào)用的是flags_set(virt_to_phys(secondary_startup)),其中secondary_startup就是SP被喚醒的執(zhí)行入口,因?yàn)榇藭rSP的MMU尚未開啟,所以要將其轉(zhuǎn)換為物理地址。

    最后smp_boot_secondary()完成最終的SP喚醒工作,實(shí)現(xiàn)代碼如下:

    調(diào)用的write_pen_release()會將pen_release變量設(shè)置為要喚醒的CPU核的CPU號,而后通過arch_send_wakeup_ipi_mask()給要喚醒的CPU發(fā)IPI中斷,這時SP就會從前面smp_prepare_cpus()函數(shù)設(shè)置的地址 secondary_startup處開始執(zhí)行。接著就是SP進(jìn)行初始化操作,在所有的SP完成初始化后,SP和BP一起共同承擔(dān)系統(tǒng)負(fù)載,完成功能需求,此時就需要完善的多處理器任務(wù)調(diào)度策略。

    3.2 任務(wù)調(diào)度策略

    任務(wù)在雙核處理器上調(diào)度需要滿足兩個前提條件,才能保證任務(wù)在運(yùn)行空間上的數(shù)據(jù)一致性[5]:1)多個任務(wù)在執(zhí)行過程中如需進(jìn)行相互之間的通信操作,必須通過調(diào)用消息處理模塊進(jìn)行處理,避免多任務(wù)之間的共享內(nèi)存,以消除可能產(chǎn)生的重入隱患;2)內(nèi)核的可重入性。保證內(nèi)核的接口操作函數(shù)在執(zhí)行過程中不被打斷,即保證函數(shù)操作為原子操作,同時避免操作過程中引入各類重入問題。當(dāng)滿足這兩個條件時,上層調(diào)用接口時數(shù)據(jù)訪問的一致性才能夠得到保證。

    EM8301嵌入式CPU的兩個CPU核心使用一個操作系統(tǒng)內(nèi)核,在同步模式下進(jìn)行工作,共同完成系統(tǒng)指令。在這種同步模式下,單核處理器對指令流的控制方式已經(jīng)無法滿足實(shí)際需要,idle任務(wù)會導(dǎo)致指令流出現(xiàn)斷流。因此在雙核處理器上,為了防止指令流斷流的情況出現(xiàn),要為每一個處理器核設(shè)置獨(dú)立無關(guān)的idle任務(wù)。

    在雙核處理器中,實(shí)現(xiàn)任務(wù)的透明調(diào)度對系統(tǒng)來說很重要,這樣用戶任務(wù)只需確定其功能是否正確,無需關(guān)心任務(wù)具體在哪個CPU核上運(yùn)行。為了使任務(wù)調(diào)度具有透明性,需要在處理器內(nèi)核中新增3個不同功能的任務(wù)隊(duì)列,便于任務(wù)的分配運(yùn)行。如圖3所示。

    1)ready隊(duì)列:系統(tǒng)在運(yùn)行過程中,將存在大量的任務(wù),因此系統(tǒng)需要保證大量不同優(yōu)先級和同一優(yōu)先級任務(wù)的正常運(yùn)行。如圖3中所示,ready隊(duì)列的結(jié)構(gòu)包含兩個主要部分,左側(cè)部分是一個優(yōu)先級指針數(shù)組,用于區(qū)分不同優(yōu)先級,右側(cè)部分則是一個雙向鏈表,用于保存同一優(yōu)先級的多個任務(wù)。這樣的ready隊(duì)列可以保證大規(guī)模任務(wù)在多個CPU核上的合理分配。

    圖3 任務(wù)隊(duì)列數(shù)據(jù)結(jié)構(gòu)

    2)tick隊(duì)列:tick隊(duì)列即為延時隊(duì)列,任務(wù)在被掛到tick隊(duì)列后,通過delay計(jì)數(shù)控制延遲運(yùn)行。系統(tǒng)任務(wù)通過調(diào)用taskDelay()函數(shù)來改變當(dāng)前的工作狀態(tài)。當(dāng)該函數(shù)被執(zhí)行后,其任務(wù)的系統(tǒng)狀態(tài)發(fā)生改變,由 ACTIVE轉(zhuǎn)變?yōu)?TICK_ DELAY,同時該任務(wù)將被放入到tick隊(duì)列中,并設(shè)置一個delay計(jì)數(shù)。tick隊(duì)列中的任務(wù)都擁有的delay計(jì)數(shù)對任務(wù)的TICK_DELAY進(jìn)行控制。每當(dāng)有一個tick中斷,系統(tǒng)內(nèi)核將對tick隊(duì)列中所有任務(wù)的delay計(jì)數(shù)都減一。隨后將對delay計(jì)數(shù)進(jìn)行檢測,如有delay計(jì)數(shù)為0,則把對應(yīng)的任務(wù)重新加入到ready隊(duì)列中。在多核處理器的環(huán)境下,每個核的tick中斷不會對同一任務(wù)的delay計(jì)數(shù)進(jìn)行刷新操作,保證tick隊(duì)列在邏輯上分離同核任務(wù)。

    3)active隊(duì)列:在該嵌入式系統(tǒng)中可運(yùn)行的任務(wù)都將被放到active隊(duì)列中。

    同時,在系統(tǒng)中增加scheduler模塊,用于管理ready,tick,active3個任務(wù)隊(duì)列,并基于round-robin策略和多優(yōu)先級策略實(shí)現(xiàn)系統(tǒng)任務(wù)的調(diào)度功能?;陔p核處理器的內(nèi)核調(diào)度結(jié)構(gòu)圖如圖4所示。

    圖4 雙核處理器中scheduler位置示意圖

    Scheduler模塊的總體流程是:任務(wù)處理函數(shù)通過系統(tǒng)接口調(diào)用該模塊,在調(diào)用過程中選擇調(diào)度任務(wù)的策略作為參數(shù)提交給scheduler模塊。根據(jù)這一參數(shù),scheduler模塊運(yùn)行對應(yīng)的子模塊進(jìn)行處理。在完成處理后,scheduler模塊將任務(wù)放入到ready隊(duì)列合適的位置中。

    3.3 任務(wù)間同步與互斥

    在單核系統(tǒng)上,每個任務(wù)宏觀上并行執(zhí)行,但在微觀上某一時刻并不存在并行,而是只有一個任務(wù)在執(zhí)行。在這樣的系統(tǒng)上,同步和互斥問題相對比較容易解決,只要簡單的采取禁止中斷的方式能夠保證對臨界資源的互斥訪問。而多核平臺上的操作系統(tǒng)在運(yùn)行時,同一時刻可能有多個任務(wù)執(zhí)行,這個時候單條指令中完成的操作也會受到干擾出現(xiàn)系統(tǒng)問題,因?yàn)榭赡艽嬖趦蓚€核同時對某一內(nèi)存或者數(shù)據(jù)進(jìn)行操作。由此來看,傳統(tǒng)的方法有時不能滿足這種多核情況下的需求,SMP系統(tǒng)需要新的同步與互斥機(jī)制。

    為了保證SMP環(huán)境下內(nèi)核功能的正常實(shí)現(xiàn)以及系統(tǒng)共享資源的合理分配和利用,Linux中使用了新的鎖機(jī)制:自旋鎖(spin_lock)[6]。自旋鎖是一種底層同步機(jī)制,是用于解決多處理器并發(fā)造成的各類問題的特殊鎖,只能被一個內(nèi)核任務(wù)所持有,保證共享資源的互斥使用。當(dāng)某個處理器內(nèi)核執(zhí)行線程中需要調(diào)用共享資源時,該內(nèi)核首先將申請自旋鎖。自旋鎖可用,則會分配給該內(nèi)核,使其可以進(jìn)入臨界區(qū)對資源進(jìn)行操作。完成操作后,該內(nèi)核將向系統(tǒng)釋放自旋鎖。如果鎖被占用,任務(wù)并不會直接進(jìn)入睡眠狀態(tài),而是忙等待直到正在使用自旋鎖的內(nèi)核釋放鎖后再獲得鎖,繼續(xù)運(yùn)行。

    在EM8301嵌入式CPU的操作系統(tǒng)中,使用了任務(wù)自旋鎖控制任務(wù)對臨界區(qū)的數(shù)據(jù)訪問。任務(wù)自旋鎖的實(shí)現(xiàn)過程中是禁止本CPU核上任務(wù)調(diào)度的,當(dāng)任務(wù)獲取該任務(wù)自旋鎖時,運(yùn)行此任務(wù)的CPU核是不允許其它任務(wù)發(fā)生優(yōu)先搶占的,下面是任務(wù)自旋鎖的設(shè)計(jì)與實(shí)現(xiàn)。

    任務(wù)自旋鎖實(shí)現(xiàn)任務(wù)的同步和互斥需要以下3個操作:

    1)任務(wù)自旋鎖的初始化。將任務(wù)自旋鎖的nextTicket、ticketInService、cpuIndex的屬性分別設(shè)置為0、0、-1,表示下個獲取該任務(wù)自旋鎖的任務(wù)標(biāo)識為0,當(dāng)前獲取到任務(wù)自旋鎖的任務(wù)標(biāo)識為0,所對應(yīng)的CPU核標(biāo)識為-1,這樣的屬性設(shè)置便于實(shí)現(xiàn)自旋鎖的獲取和使用。

    2)任務(wù)自旋鎖的獲取流程如圖5所示,在獲取任務(wù)自旋鎖后,任務(wù)線程可以進(jìn)行相應(yīng)的操作。

    圖5 任務(wù)自旋鎖獲取流程

    3)任務(wù)自旋鎖的釋放。將cpuIndex設(shè)置回初始值-1,表示CPU核標(biāo)識無效,將ticketInService加1,釋放自旋鎖時打開任務(wù)調(diào)度,至此完成自旋鎖操作。

    任務(wù)自旋鎖首先進(jìn)行初始化的操作,只有完成后才能被處理器核獲得和使用,處理器核在自旋鎖空閑時獲得并使用。當(dāng)完成臨界區(qū)的操作后釋放該鎖,等待下一次任務(wù)獲取自旋鎖操作,任務(wù)自旋鎖采用票鎖的算法。

    3.4 中斷處理

    中斷機(jī)制是一個操作系統(tǒng)必不可少的機(jī)制,在單核處理器的系統(tǒng)中,通過外部中斷控制器處理中斷問題是一個較為常用的方式,這個外部中斷控制器處理系統(tǒng)的所有中斷,控制器的處理效率影響操作系統(tǒng)性能。但在多核處理器的系統(tǒng)中,若系統(tǒng)中的所有中斷都由一個處理器處理,則會影響系統(tǒng)的性能,同時,這個CPU上運(yùn)行的任務(wù)可能會一直被打斷,造成嚴(yán)重的問題。

    所以在多核處理器系統(tǒng)中,需要同時由多個CPU核來處理不同的中斷,多個CPU核分擔(dān)中斷處理,以保證不會因?yàn)閱我惶幚砥魈幚碇袛嘣斐上到y(tǒng)問題。那么就需要一個分配中斷的中斷管理策略,一般有如下兩種方法[7]:

    1)靜態(tài)分配:不同的中斷請求和不同的處理器核進(jìn)行分類綁定,每個處理器核處理特定的中斷請求,這種方法實(shí)現(xiàn)方式相對簡單,同時系統(tǒng)的并行性也較高。

    2)動態(tài)分配:系統(tǒng)確定每個處理器核是否屏蔽某種中斷請求。每當(dāng)有中斷請求時,系統(tǒng)首先對各個處理器屏蔽的中斷請求進(jìn)行判斷,然后動態(tài)地把這一中斷分配給未屏蔽這一中斷的處理器核,由該處理器處理這一中斷。

    由于EM8301硬件系統(tǒng)提供了對于中斷控制的支持,進(jìn)行一定的配置工作就可以實(shí)現(xiàn)中斷請求的分配,因此關(guān)注的重點(diǎn)是核間中斷。核間中斷是處理器間的中斷,是任務(wù)在運(yùn)行過程中主動觸發(fā)的任務(wù)調(diào)度。在多核處理器環(huán)境下,某一任務(wù)上運(yùn)行的任務(wù)調(diào)度果會在整個系統(tǒng)的任務(wù)調(diào)度中產(chǎn)生全局影響。比如,有兩個任務(wù)分別運(yùn)行在CPU0和CPU1上,任務(wù)1阻塞在某個信號量上,而這時任務(wù)0觸發(fā)了這個信號量,這時將喚醒任務(wù)1,使它從等待隊(duì)列轉(zhuǎn)入就緒隊(duì)列,但通常任務(wù)1不會立即執(zhí)行,而是等到下一個時鐘中斷到來時才會執(zhí)行,這時就需要提出核間中斷的概念了,只有處理器核間中斷能解決這種延時并處理這種情況,并且核間中斷子程序主要完成清中斷,防止這類中斷的反復(fù)進(jìn)入造成嚴(yán)重的系統(tǒng)問題,然后切換任務(wù)。

    4 結(jié)束語

    文中基于一款自主開發(fā)的雙核嵌入式CPU,分析了多核硬件結(jié)構(gòu)和從單核到多核操作系統(tǒng)所發(fā)生的變化,提出在SMP硬件平臺上進(jìn)行嵌入式Linux操作系統(tǒng)內(nèi)核移植過程中需要解決的問題,包括多核啟動過程、任務(wù)調(diào)度策略、任務(wù)間同步與互斥、中斷處理等,并給出了相應(yīng)的解決方案。另外,由于本文僅針對的是雙核嵌入式CPU系統(tǒng),隨著SMP系統(tǒng)中核個數(shù)的增加,保持系統(tǒng)負(fù)載均衡的難度可能會提高,核間通信的效率可能會下降,這就需要在后續(xù)的工作中設(shè)計(jì)出針對SMP更加完善的操作系統(tǒng)。

    [1]鄧竹莎.面向多處理器結(jié)構(gòu)的嵌入式Linux系統(tǒng)研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2006.

    [2]陳云川.面向多核處理器的嵌入式操作系統(tǒng)研究[D].成都:電子科技大學(xué),2009.

    [3]曾樹洪,劉衛(wèi)國.Linux內(nèi)核搶占的實(shí)現(xiàn)機(jī)制分析[J].惠州學(xué)院學(xué)報:自然科學(xué)版,2008,23(3):56-59.

    [4]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].3版.北京:機(jī)械工業(yè)出版社,2015.

    [5]張國杰.嵌入式Linux在多核多線程平臺上的移植研究與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2008.

    [6]彭正文,徐新愛.基于SMP的Linux內(nèi)核自旋鎖分析[J].江西教育學(xué)院學(xué)報(綜合),2005,26(3):23-25,28.

    [7]李嬌嬌.面向SMP架構(gòu)處理器平臺操作系統(tǒng)主要模塊的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2012.

    Research and implementation of embedded Linux transplantation on SMP system

    ZHU Su-jian,SHAO Pei-nan,JIN Gang
    (East China Institute of Computer Technology,Shanghai 200233,China)

    The thesis is aimed to conduct independent research and development of embedded applications,which are implemented with dual-core embedded EM 8301 CPU as a processing center.Additionally,the thesis also discusses varied topics,ranging from the characteristics of dual-core CPU chip systems and Linux kernels to transplantation of Linux operating system to SMP system.Based on these discussions,it goes further to investigate problems related to the multi-core hardware platform built under SMP system.These problems are related to start-up process,task-scheduling strategies,the synchronization and mutual exclusion among tasks,as well as interruption processing.In the end,the thesis proposes a solution that solves the above problems and meanwhile caters to the practical needs of developing embedded applications.Furthermore,the proposal can also prove that embedded Linux can be transplanted to SMP system,and functions successfully on self-developed CPU chip.

    embedded;Linux kernel;symmetric Multi-processing;transplantation

    TN710

    A

    1674-6236(2016)18-0093-04

    2015-09-16 稿件編號:201509116

    朱蘇建(1990—),男,江蘇邳州人,碩士研究生。研究方向:計(jì)算機(jī)軟件與理論軟件工程。

    猜你喜歡
    嵌入式系統(tǒng)
    Smartflower POP 一體式光伏系統(tǒng)
    WJ-700無人機(jī)系統(tǒng)
    ZC系列無人機(jī)遙感系統(tǒng)
    北京測繪(2020年12期)2020-12-29 01:33:58
    基于PowerPC+FPGA顯示系統(tǒng)
    半沸制皂系統(tǒng)(下)
    TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
    電子制作(2019年7期)2019-04-25 13:17:14
    嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
    電子制作(2018年18期)2018-11-14 01:48:16
    搭建基于Qt的嵌入式開發(fā)平臺
    連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    国产亚洲精品久久久com| 边亲边吃奶的免费视频| 国产精品麻豆人妻色哟哟久久| 久久久久国产精品人妻一区二区| 五月天丁香电影| 国产免费一区二区三区四区乱码| 欧美精品av麻豆av| 午夜福利网站1000一区二区三区| 亚洲丝袜综合中文字幕| 在线观看一区二区三区激情| 精品亚洲乱码少妇综合久久| 国产精品久久久久久久久免| 亚洲精品中文字幕在线视频| 亚洲欧美中文字幕日韩二区| 高清欧美精品videossex| 亚洲精品国产av成人精品| 咕卡用的链子| 曰老女人黄片| 又黄又粗又硬又大视频| 日本欧美国产在线视频| 亚洲 欧美一区二区三区| 国产日韩一区二区三区精品不卡| 91久久精品国产一区二区三区| 国产亚洲午夜精品一区二区久久| 国产亚洲午夜精品一区二区久久| 成人18禁高潮啪啪吃奶动态图| 人人妻人人添人人爽欧美一区卜| 天堂8中文在线网| 黄色怎么调成土黄色| 久久 成人 亚洲| av国产精品久久久久影院| 亚洲情色 制服丝袜| 国产成人av激情在线播放| av卡一久久| av在线播放精品| 五月玫瑰六月丁香| 亚洲一级一片aⅴ在线观看| 日韩中文字幕视频在线看片| 国产一区亚洲一区在线观看| 又粗又硬又长又爽又黄的视频| av一本久久久久| 伦理电影免费视频| √禁漫天堂资源中文www| 一边亲一边摸免费视频| 日本猛色少妇xxxxx猛交久久| 黑人猛操日本美女一级片| 成人18禁高潮啪啪吃奶动态图| 久久人人爽av亚洲精品天堂| 91在线精品国自产拍蜜月| 国产成人免费无遮挡视频| 一区二区三区乱码不卡18| 男人爽女人下面视频在线观看| 大香蕉97超碰在线| 人妻少妇偷人精品九色| 亚洲欧美日韩另类电影网站| 婷婷成人精品国产| 高清毛片免费看| videos熟女内射| tube8黄色片| 成年动漫av网址| 捣出白浆h1v1| 亚洲成色77777| 精品国产一区二区三区久久久樱花| 高清黄色对白视频在线免费看| 伊人亚洲综合成人网| 中文欧美无线码| 久久精品国产自在天天线| 亚洲美女视频黄频| 国产又爽黄色视频| 亚洲三级黄色毛片| av视频免费观看在线观看| 久久久久精品人妻al黑| 99视频精品全部免费 在线| 在线看a的网站| 纵有疾风起免费观看全集完整版| 交换朋友夫妻互换小说| 一级片免费观看大全| 丝袜人妻中文字幕| 日本午夜av视频| 久久久久久伊人网av| 成人国语在线视频| 一级毛片电影观看| 欧美人与性动交α欧美软件 | 午夜福利视频在线观看免费| 免费人成在线观看视频色| 国产在线免费精品| 中国美白少妇内射xxxbb| 黄色配什么色好看| 亚洲在久久综合| 亚洲成av片中文字幕在线观看 | 最近2019中文字幕mv第一页| 免费黄色在线免费观看| a级毛色黄片| 自线自在国产av| 人妻 亚洲 视频| 色94色欧美一区二区| 亚洲一码二码三码区别大吗| a级毛片在线看网站| 免费在线观看黄色视频的| 在线观看三级黄色| 狂野欧美激情性xxxx在线观看| 丝袜美足系列| 久久国内精品自在自线图片| 三级国产精品片| 亚洲国产欧美日韩在线播放| 国产乱人偷精品视频| 久久狼人影院| 亚洲在久久综合| 免费观看av网站的网址| 欧美xxⅹ黑人| 国产精品 国内视频| 如日韩欧美国产精品一区二区三区| 国产极品粉嫩免费观看在线| 国产男人的电影天堂91| 成人18禁高潮啪啪吃奶动态图| 午夜福利视频精品| av女优亚洲男人天堂| 啦啦啦啦在线视频资源| 久久久久精品性色| 国产精品国产三级国产专区5o| 乱码一卡2卡4卡精品| 欧美激情 高清一区二区三区| 少妇高潮的动态图| 日本-黄色视频高清免费观看| 亚洲精品日韩在线中文字幕| 观看av在线不卡| 极品人妻少妇av视频| 男女国产视频网站| 9191精品国产免费久久| 久久久久网色| 天堂俺去俺来也www色官网| 久久精品国产a三级三级三级| 久久狼人影院| 久久精品国产亚洲av涩爱| 国产成人精品久久久久久| 婷婷色综合大香蕉| 一级毛片 在线播放| 狂野欧美激情性xxxx在线观看| 成人影院久久| 久久精品国产综合久久久 | 永久网站在线| 成人黄色视频免费在线看| 大码成人一级视频| 黑人欧美特级aaaaaa片| 性色avwww在线观看| 51国产日韩欧美| 久久久久久久国产电影| 国产又爽黄色视频| 深夜精品福利| h视频一区二区三区| 精品少妇黑人巨大在线播放| 亚洲经典国产精华液单| 一级片免费观看大全| 国产熟女午夜一区二区三区| 少妇的逼好多水| 免费观看无遮挡的男女| 九色亚洲精品在线播放| 精品亚洲成国产av| 精品少妇黑人巨大在线播放| 国产成人精品久久久久久| 最新中文字幕久久久久| 国产成人91sexporn| 国产成人精品婷婷| 久久 成人 亚洲| 亚洲欧美日韩另类电影网站| 国产精品久久久av美女十八| 高清视频免费观看一区二区| 精品国产露脸久久av麻豆| 免费人妻精品一区二区三区视频| 日本vs欧美在线观看视频| 久久综合国产亚洲精品| 性色avwww在线观看| 欧美成人精品欧美一级黄| 另类亚洲欧美激情| 免费高清在线观看日韩| av免费在线看不卡| 91久久精品国产一区二区三区| 一本大道久久a久久精品| 中文字幕制服av| 少妇的逼水好多| 色94色欧美一区二区| 国产精品成人在线| 啦啦啦在线观看免费高清www| 人人妻人人添人人爽欧美一区卜| 91精品国产国语对白视频| 久久久久网色| 99久久人妻综合| 国产成人一区二区在线| 亚洲一码二码三码区别大吗| 视频区图区小说| 丰满迷人的少妇在线观看| 中文字幕精品免费在线观看视频 | 欧美激情极品国产一区二区三区 | 美国免费a级毛片| 飞空精品影院首页| 男女无遮挡免费网站观看| 国产成人精品在线电影| 如日韩欧美国产精品一区二区三区| 男女高潮啪啪啪动态图| 日韩免费高清中文字幕av| 韩国精品一区二区三区 | 伦理电影免费视频| 人妻少妇偷人精品九色| 国产深夜福利视频在线观看| 18禁国产床啪视频网站| 国产白丝娇喘喷水9色精品| 亚洲精品日韩在线中文字幕| 日本vs欧美在线观看视频| 亚洲高清免费不卡视频| 免费看av在线观看网站| 亚洲丝袜综合中文字幕| 欧美激情极品国产一区二区三区 | 天堂俺去俺来也www色官网| 秋霞伦理黄片| 欧美日本中文国产一区发布| 天天躁夜夜躁狠狠久久av| 国产成人免费观看mmmm| 亚洲成人手机| 97人妻天天添夜夜摸| 亚洲精品456在线播放app| tube8黄色片| 精品国产露脸久久av麻豆| 精品熟女少妇av免费看| 亚洲精品日韩在线中文字幕| 国产精品秋霞免费鲁丝片| √禁漫天堂资源中文www| 亚洲四区av| videos熟女内射| 久久国产精品大桥未久av| 69精品国产乱码久久久| 免费av中文字幕在线| videossex国产| 纯流量卡能插随身wifi吗| 日本黄色日本黄色录像| 成人手机av| 欧美国产精品一级二级三级| 9热在线视频观看99| 精品亚洲成国产av| 亚洲久久久国产精品| 欧美日韩成人在线一区二区| 国产欧美另类精品又又久久亚洲欧美| 美女福利国产在线| 国产无遮挡羞羞视频在线观看| tube8黄色片| 熟女电影av网| 精品一区二区免费观看| 黄色毛片三级朝国网站| 中文字幕制服av| 岛国毛片在线播放| 亚洲天堂av无毛| 丰满乱子伦码专区| 一边摸一边做爽爽视频免费| 久久这里有精品视频免费| 最近中文字幕2019免费版| 制服诱惑二区| 多毛熟女@视频| 久久精品夜色国产| 国产av一区二区精品久久| 高清黄色对白视频在线免费看| 久久久久视频综合| 欧美 亚洲 国产 日韩一| 国产日韩欧美亚洲二区| 插逼视频在线观看| 777米奇影视久久| 2021少妇久久久久久久久久久| 成年av动漫网址| 蜜桃在线观看..| 天天躁夜夜躁狠狠久久av| 国产精品三级大全| 99久久精品国产国产毛片| 亚洲国产精品国产精品| 人人妻人人澡人人爽人人夜夜| 汤姆久久久久久久影院中文字幕| 2018国产大陆天天弄谢| 国产精品久久久久久精品电影小说| 亚洲美女搞黄在线观看| 18禁国产床啪视频网站| 国产精品久久久久久久电影| 精品人妻偷拍中文字幕| 久久人人爽人人爽人人片va| 午夜激情av网站| 午夜免费男女啪啪视频观看| 日韩人妻精品一区2区三区| 精品一区二区免费观看| 亚洲成人手机| 久久精品国产鲁丝片午夜精品| 精品国产露脸久久av麻豆| 国产精品人妻久久久影院| 美国免费a级毛片| 亚洲第一av免费看| 在线看a的网站| 精品一区在线观看国产| 激情视频va一区二区三区| 精品人妻熟女毛片av久久网站| 欧美日韩视频精品一区| 精品国产一区二区久久| 搡老乐熟女国产| 建设人人有责人人尽责人人享有的| 久久久久国产精品人妻一区二区| 青春草视频在线免费观看| 伊人亚洲综合成人网| 久久人人爽人人爽人人片va| 国产精品99久久99久久久不卡 | 中文精品一卡2卡3卡4更新| 欧美日韩视频高清一区二区三区二| 妹子高潮喷水视频| 黄色配什么色好看| 亚洲国产精品专区欧美| 久久精品国产综合久久久 | 色婷婷av一区二区三区视频| 99久国产av精品国产电影| videos熟女内射| 寂寞人妻少妇视频99o| 一级a做视频免费观看| 人妻系列 视频| 精品人妻在线不人妻| 免费高清在线观看视频在线观看| 免费av中文字幕在线| 亚洲欧美日韩另类电影网站| 色5月婷婷丁香| 看非洲黑人一级黄片| 欧美日韩国产mv在线观看视频| 涩涩av久久男人的天堂| 免费观看av网站的网址| 久久人人爽人人爽人人片va| 亚洲五月色婷婷综合| h视频一区二区三区| 久久久精品免费免费高清| 欧美精品高潮呻吟av久久| 熟妇人妻不卡中文字幕| 又黄又粗又硬又大视频| 一本色道久久久久久精品综合| 大香蕉久久成人网| 国产成人精品在线电影| 十分钟在线观看高清视频www| av国产久精品久网站免费入址| 99久久人妻综合| 成年美女黄网站色视频大全免费| 久久久国产一区二区| 国产精品国产三级国产专区5o| 精品人妻熟女毛片av久久网站| 亚洲av成人精品一二三区| 美国免费a级毛片| 成年动漫av网址| 国产精品无大码| 亚洲 欧美一区二区三区| 伊人久久国产一区二区| 中国美白少妇内射xxxbb| 久久免费观看电影| 黑人欧美特级aaaaaa片| 熟妇人妻不卡中文字幕| 亚洲av日韩在线播放| av天堂久久9| 丝瓜视频免费看黄片| 在线看a的网站| 中文精品一卡2卡3卡4更新| 日韩 亚洲 欧美在线| 午夜免费男女啪啪视频观看| 99香蕉大伊视频| 午夜91福利影院| 一区二区日韩欧美中文字幕 | 男女国产视频网站| 性色av一级| videosex国产| 亚洲av.av天堂| 下体分泌物呈黄色| 国产精品国产av在线观看| 五月伊人婷婷丁香| 亚洲国产精品一区三区| 建设人人有责人人尽责人人享有的| 女性生殖器流出的白浆| 亚洲av福利一区| 亚洲欧美一区二区三区国产| 欧美日本中文国产一区发布| 99热网站在线观看| 欧美 亚洲 国产 日韩一| 97超碰精品成人国产| 久久精品久久久久久噜噜老黄| www日本在线高清视频| 人妻一区二区av| 色吧在线观看| 久久热在线av| 国产无遮挡羞羞视频在线观看| 国产精品.久久久| 有码 亚洲区| 国产爽快片一区二区三区| 寂寞人妻少妇视频99o| 欧美日韩视频高清一区二区三区二| 国产乱人偷精品视频| 男女边摸边吃奶| 卡戴珊不雅视频在线播放| 亚洲欧美色中文字幕在线| 成人手机av| 欧美 亚洲 国产 日韩一| 在线天堂中文资源库| 亚洲精品色激情综合| 51国产日韩欧美| 国产在线免费精品| 精品国产一区二区久久| 国产精品久久久久久精品电影小说| 免费大片黄手机在线观看| 亚洲av.av天堂| 国产精品一区www在线观看| 亚洲性久久影院| 美女国产视频在线观看| 丝袜脚勾引网站| 亚洲精品一二三| 精品国产一区二区久久| 97人妻天天添夜夜摸| 国产在线免费精品| 91久久精品国产一区二区三区| av线在线观看网站| 只有这里有精品99| 我要看黄色一级片免费的| 亚洲久久久国产精品| 一边亲一边摸免费视频| 韩国精品一区二区三区 | 曰老女人黄片| 色94色欧美一区二区| 亚洲国产精品一区三区| 国产成人精品一,二区| 国产一区二区三区av在线| a级毛片黄视频| 人人妻人人爽人人添夜夜欢视频| 亚洲伊人久久精品综合| 丝袜在线中文字幕| 母亲3免费完整高清在线观看 | 99久久中文字幕三级久久日本| 黄网站色视频无遮挡免费观看| 免费女性裸体啪啪无遮挡网站| 亚洲情色 制服丝袜| 在线 av 中文字幕| 亚洲,欧美,日韩| xxx大片免费视频| 国产精品蜜桃在线观看| 欧美精品人与动牲交sv欧美| 大片免费播放器 马上看| 一本一本久久a久久精品综合妖精 国产伦在线观看视频一区 | 国产欧美亚洲国产| 国产激情久久老熟女| 伊人久久国产一区二区| av播播在线观看一区| 麻豆乱淫一区二区| 国产成人精品无人区| 午夜福利视频精品| 伦精品一区二区三区| 国产精品三级大全| 国产亚洲av片在线观看秒播厂| 日本色播在线视频| 水蜜桃什么品种好| 中文字幕另类日韩欧美亚洲嫩草| 日本av手机在线免费观看| 日韩欧美一区视频在线观看| 久久女婷五月综合色啪小说| 精品第一国产精品| 日韩制服丝袜自拍偷拍| 91国产中文字幕| 国产精品一区www在线观看| 九草在线视频观看| 国产精品免费大片| 极品少妇高潮喷水抽搐| 中文欧美无线码| 国产片特级美女逼逼视频| 亚洲中文av在线| 精品第一国产精品| 青春草视频在线免费观看| 精品一区二区三区四区五区乱码 | 我要看黄色一级片免费的| 国产一区有黄有色的免费视频| 日韩中字成人| 一边摸一边做爽爽视频免费| 国产免费福利视频在线观看| 综合色丁香网| 久久精品aⅴ一区二区三区四区 | 99精国产麻豆久久婷婷| 欧美日韩视频高清一区二区三区二| 精品人妻在线不人妻| 婷婷色综合大香蕉| 好男人视频免费观看在线| 欧美激情 高清一区二区三区| 又粗又硬又长又爽又黄的视频| 久久精品国产鲁丝片午夜精品| 两性夫妻黄色片 | 秋霞伦理黄片| 久久久久久伊人网av| 亚洲精品中文字幕在线视频| 寂寞人妻少妇视频99o| 国语对白做爰xxxⅹ性视频网站| 捣出白浆h1v1| 成人18禁高潮啪啪吃奶动态图| 久久狼人影院| 一级毛片 在线播放| 男人舔女人的私密视频| 汤姆久久久久久久影院中文字幕| a 毛片基地| 精品熟女少妇av免费看| 免费观看无遮挡的男女| 中国美白少妇内射xxxbb| 亚洲内射少妇av| 一个人免费看片子| 精品国产乱码久久久久久小说| 国产精品一二三区在线看| 欧美精品一区二区大全| 春色校园在线视频观看| 亚洲中文av在线| 高清不卡的av网站| 久久久久久久久久成人| 久久午夜综合久久蜜桃| 亚洲第一av免费看| 亚洲国产精品专区欧美| 亚洲美女搞黄在线观看| 欧美bdsm另类| 一级毛片我不卡| 精品亚洲乱码少妇综合久久| 人人妻人人澡人人看| 国产爽快片一区二区三区| 久久久久精品久久久久真实原创| 97精品久久久久久久久久精品| 久久青草综合色| 日韩精品免费视频一区二区三区 | 青青草视频在线视频观看| 国产又色又爽无遮挡免| 欧美国产精品一级二级三级| 成年动漫av网址| 精品久久蜜臀av无| 91成人精品电影| 十分钟在线观看高清视频www| 亚洲av在线观看美女高潮| 亚洲欧洲国产日韩| 亚洲四区av| 亚洲第一区二区三区不卡| 老司机亚洲免费影院| 女人久久www免费人成看片| 嫩草影院入口| 国产成人午夜福利电影在线观看| av天堂久久9| 深夜精品福利| 日产精品乱码卡一卡2卡三| 中文字幕av电影在线播放| a级毛色黄片| 国产白丝娇喘喷水9色精品| 五月玫瑰六月丁香| 如何舔出高潮| 美女大奶头黄色视频| 国精品久久久久久国模美| 国产精品久久久久久精品电影小说| 热99久久久久精品小说推荐| 最黄视频免费看| 97人妻天天添夜夜摸| 国产成人精品福利久久| 一级a做视频免费观看| av在线老鸭窝| 精品国产乱码久久久久久小说| 高清欧美精品videossex| 欧美激情极品国产一区二区三区 | 亚洲成人av在线免费| 亚洲内射少妇av| 欧美成人午夜免费资源| 视频在线观看一区二区三区| 午夜激情久久久久久久| 自线自在国产av| 亚洲精品视频女| 国产成人欧美| 国产男人的电影天堂91| 精品人妻熟女毛片av久久网站| 亚洲婷婷狠狠爱综合网| 91午夜精品亚洲一区二区三区| 日韩制服丝袜自拍偷拍| 一本—道久久a久久精品蜜桃钙片| 两个人免费观看高清视频| 国产免费视频播放在线视频| 亚洲一码二码三码区别大吗| 中文字幕制服av| 一级a做视频免费观看| 成人亚洲精品一区在线观看| 国产黄色视频一区二区在线观看| 亚洲av成人精品一二三区| 两个人免费观看高清视频| av国产久精品久网站免费入址| 亚洲av中文av极速乱| 亚洲伊人色综图| 青春草亚洲视频在线观看| 99视频精品全部免费 在线| 国语对白做爰xxxⅹ性视频网站| 亚洲国产日韩一区二区| 26uuu在线亚洲综合色| 久久精品国产综合久久久 | 你懂的网址亚洲精品在线观看| 免费播放大片免费观看视频在线观看| 亚洲精品成人av观看孕妇| 久久人妻熟女aⅴ| av天堂久久9| 久久久欧美国产精品| 亚洲精品乱久久久久久| 国产精品久久久久久久久免| 天天躁夜夜躁狠狠久久av| 国产亚洲午夜精品一区二区久久| 国产精品一二三区在线看| 一级,二级,三级黄色视频| 亚洲欧美中文字幕日韩二区| 久久精品夜色国产| 99视频精品全部免费 在线| 久久久久久久精品精品| 精品人妻在线不人妻| 有码 亚洲区| 宅男免费午夜| 亚洲国产精品一区三区| 精品人妻熟女毛片av久久网站| 精品国产国语对白av| 国产成人精品久久久久久| 秋霞在线观看毛片| 国产极品粉嫩免费观看在线| 国产免费又黄又爽又色| 在线观看国产h片| 亚洲中文av在线|