两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng)及方法

文檔序號(hào):6604220閱讀:208來源:國(guó)知局
專利名稱:一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)領(lǐng)域,具體涉及一種嵌入式Linux操作系 統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng)及方法。
背景技術(shù)
在許多行業(yè)中,嵌入式系統(tǒng)幾乎無處不在,特別是工業(yè)自動(dòng)化與測(cè)控儀器儀表、數(shù) 字家電、移動(dòng)計(jì)算設(shè)備、網(wǎng)絡(luò)設(shè)備、現(xiàn)代交通系統(tǒng)的領(lǐng)域成了嵌入式技術(shù)得以高速發(fā)展的平 臺(tái)?,F(xiàn)在的世界是網(wǎng)絡(luò)互聯(lián)的世界,嵌入式系統(tǒng)和網(wǎng)絡(luò)這兩大主流技術(shù)的融合速度越來越 快,越來越多的嵌入式設(shè)備都要求實(shí)現(xiàn)網(wǎng)絡(luò)通信的功能。網(wǎng)絡(luò)技術(shù)的核心部分就是TCP/IP協(xié)議,它是互聯(lián)網(wǎng)中的基本通信語(yǔ)言或協(xié)議,一 般目前嵌入式Linux操作系統(tǒng)使用的網(wǎng)絡(luò)協(xié)議棧由BSD TCP/IP協(xié)議棧發(fā)展起來的,主要針 對(duì)的是服務(wù)器、個(gè)人電腦等性能較強(qiáng)的設(shè)備。目前大多數(shù)嵌入式設(shè)備并不具備很強(qiáng)的運(yùn)算和處理能力,而這些嵌入式設(shè)備又需 要實(shí)現(xiàn)網(wǎng)絡(luò)的支持,如果使用Linux提供的網(wǎng)絡(luò)實(shí)現(xiàn)方式,會(huì)給這些性能相對(duì)較低的設(shè)備 帶來較大的負(fù)載,這些設(shè)備需要花大部分的資源去進(jìn)行網(wǎng)際互聯(lián)的處理,這對(duì)于資源十分 寶貴的低端嵌入式設(shè)備來說無疑是不正確的處理方式。需要尋找一種更小更快的網(wǎng)絡(luò)實(shí)現(xiàn) 方案來滿足這些低端嵌入式設(shè)備的網(wǎng)絡(luò)需求。

發(fā)明內(nèi)容
本發(fā)明提供一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng)及方法,能為低端嵌 入式設(shè)備提供更加快速的網(wǎng)絡(luò)支持。一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng),主要包括以下單元應(yīng)用程序 單元、Lwip函數(shù)庫(kù)單元、系統(tǒng)接口單元、Linux系統(tǒng)單元、底層硬件接口單元、硬件平臺(tái)單 元、物理硬件網(wǎng)絡(luò)設(shè)備單元。所述應(yīng)用程序單元為嵌入式Linux操作系統(tǒng)提供基本和網(wǎng)絡(luò)應(yīng)用程序。所述Lwip函數(shù)庫(kù)單元為嵌入式Linux操作系統(tǒng)提供一個(gè)小型的TCP/IP協(xié)議棧, 該協(xié)議棧的優(yōu)點(diǎn)是內(nèi)存使用量少和代碼體積小。所述系統(tǒng)接口單元為嵌入式Linux操作系統(tǒng)的Lwip函數(shù)庫(kù)提供基本的系統(tǒng)服務(wù), 比如信號(hào)量、郵箱、線程、超時(shí)等系統(tǒng)服務(wù)。所述Linux系統(tǒng)單元為嵌入式設(shè)備提供了軟件運(yùn)行環(huán)境。所述硬件平臺(tái)單元為嵌入式設(shè)備提供了硬件運(yùn)行環(huán)境。所述底層硬件接口單元讓物理硬件網(wǎng)絡(luò)設(shè)備能正常運(yùn)行在上面所述的軟件和硬 件環(huán)境中。所述物理硬件網(wǎng)絡(luò)設(shè)備單元為嵌入式系統(tǒng)提供最底層的網(wǎng)絡(luò)支持,所有的網(wǎng)絡(luò)數(shù) 據(jù)都是通過這個(gè)單元進(jìn)行發(fā)送和接收。一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的方法,包括步驟
3
步驟1 獲取Lwip函數(shù)庫(kù);步驟2 根據(jù)硬件平臺(tái)和編譯器環(huán)境為L(zhǎng)wip函數(shù)庫(kù)定義一些基本數(shù)據(jù)類型和性能 測(cè)試宏;步驟3 為L(zhǎng)wip和Linux系統(tǒng)建立系統(tǒng)服務(wù)接口,Linux操作系統(tǒng)主要為L(zhǎng)wip函 數(shù)庫(kù)提供信號(hào)量,線程,郵箱,超時(shí)處理等系統(tǒng)服務(wù);步驟4 為L(zhǎng)wip和物理硬件網(wǎng)絡(luò)設(shè)備提供底層硬件接口,這個(gè)接口主要是實(shí)現(xiàn)物 理網(wǎng)絡(luò)設(shè)備收發(fā)數(shù)據(jù)的功能。從上述技術(shù)方案可以看出,由于本發(fā)明具有以下有益效果1.本發(fā)明可以減少嵌入式Linux操作系統(tǒng)TCP/IP協(xié)議棧的代碼量。2.本發(fā)明可以減少嵌入式Linux操作系統(tǒng)進(jìn)行網(wǎng)絡(luò)通信時(shí)的RAM使用量。3.本發(fā)明可以使嵌入式Linux操作系統(tǒng)在進(jìn)行網(wǎng)絡(luò)通信時(shí)運(yùn)行速度更快。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。圖1是本發(fā)明整體結(jié)構(gòu)圖;圖2是本發(fā)明方法流程圖;圖3是本發(fā)明基本數(shù)據(jù)結(jié)構(gòu)定義流程圖;圖4是本發(fā)明Lwip函數(shù)庫(kù)和Linux系統(tǒng)服務(wù)接口建立流程圖;圖5是本發(fā)明Lwip和物理硬件網(wǎng)絡(luò)設(shè)備底層硬件接口建立流程圖;圖6是本發(fā)明物理硬件網(wǎng)絡(luò)設(shè)備的寄存器驅(qū)動(dòng)建立流程圖;圖7是本發(fā)明物理硬件網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)傳遞驅(qū)動(dòng)建立流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng)及方法,能夠 為低端嵌入式設(shè)備提供網(wǎng)絡(luò)支持,以下分別進(jìn)行詳細(xì)說明。圖1為本發(fā)明整體結(jié)構(gòu)圖如圖1所示,本發(fā)明主要包括以下單元應(yīng)用程序單元、Lwip函數(shù)庫(kù)單元、系統(tǒng)接 口單元、Linux系統(tǒng)單元、底層硬件接口單元、硬件平臺(tái)單元、物理硬件網(wǎng)絡(luò)設(shè)備單元。所述應(yīng)用程序單元為嵌入式Linux操作系統(tǒng)提供基本和網(wǎng)絡(luò)應(yīng)用程序。所述Lwip函數(shù)庫(kù)單元為嵌入式Linux操作系統(tǒng)提供一個(gè)小型的TCP/IP協(xié)議棧, 該協(xié)議棧的優(yōu)點(diǎn)是內(nèi)存使用量少和代碼體積小。所述系統(tǒng)接口單元為嵌入式Linux操作系統(tǒng)的Lwip函數(shù)庫(kù)提供基本的系統(tǒng)服務(wù),比如信號(hào)量、郵箱、線程、超時(shí)等系統(tǒng)服務(wù)。所述Linux系統(tǒng)單元為嵌入式設(shè)備提供了軟件運(yùn)行環(huán)境。所述硬件平臺(tái)單元為嵌入式設(shè)備提供了硬件運(yùn)行環(huán)境。所述底層硬件接口單元讓物理硬件網(wǎng)絡(luò)設(shè)備能正常運(yùn)行在上面所述的軟件和硬 件環(huán)境中。所述物理硬件網(wǎng)絡(luò)設(shè)備單元為嵌入式系統(tǒng)提供最底層的網(wǎng)絡(luò)支持,所有的網(wǎng)絡(luò)數(shù) 據(jù)都是通過這個(gè)單元進(jìn)行發(fā)送和接收。圖2為本發(fā)明所述方法流程圖如圖2所示,包括步驟步驟1 獲取Lwip函數(shù)庫(kù)步驟2 根據(jù)硬件平臺(tái)和編譯器環(huán)境為L(zhǎng)wip函數(shù)庫(kù)定義一些基本數(shù)據(jù)類型和性能 測(cè)試宏。步驟3 為L(zhǎng)wip和Linux系統(tǒng)建立系統(tǒng)服務(wù)接口,Linux操作系統(tǒng)主要為L(zhǎng)wip函 數(shù)庫(kù)提供信號(hào)量,線程,郵箱,超時(shí)處理等系統(tǒng)服務(wù)。步驟4 為L(zhǎng)wip和物理硬件網(wǎng)絡(luò)設(shè)備提供底層硬件接口,這個(gè)接口主要是實(shí)現(xiàn)物 理網(wǎng)絡(luò)設(shè)備收發(fā)數(shù)據(jù)的功能。圖3為基本數(shù)據(jù)結(jié)構(gòu)定義流程圖步驟21 根據(jù)硬件平臺(tái)的特點(diǎn)和編譯器所定義的無符號(hào)字符型,有符號(hào)字符型, 無符號(hào)整型,有符號(hào)整型,無符號(hào)長(zhǎng)整型,有符號(hào)長(zhǎng)整型分別賦值給Lwip函數(shù)庫(kù)所需要被 實(shí)現(xiàn)的數(shù)據(jù)類型。步驟22 為L(zhǎng)wip函數(shù)庫(kù)編寫性能測(cè)試宏開始測(cè)量宏P(guān)ERF_START和結(jié)束測(cè)量并 記錄結(jié)果宏P(guān)ERF_ST0P (χ)。圖4為L(zhǎng)wip函數(shù)庫(kù)和Linux系統(tǒng)服務(wù)接口建立流程圖Linux操作系統(tǒng)提供了眾多系統(tǒng)服務(wù),而Lwip函數(shù)庫(kù)僅僅需要Linux為其提供少 數(shù)幾種系統(tǒng)服務(wù),因此只需要利用Linux提供的系統(tǒng)服務(wù)函數(shù)去封裝Lwip函數(shù)庫(kù)需要實(shí)現(xiàn) 的系統(tǒng)服務(wù)函數(shù)。步驟31 用Linux操作系統(tǒng)的信號(hào)量系統(tǒng)服務(wù)函數(shù)為L(zhǎng)wip函數(shù)庫(kù)實(shí)現(xiàn)信號(hào)量的 創(chuàng)建、刪除、釋放、申請(qǐng)系統(tǒng)服務(wù)。步驟32 用Linux操作系統(tǒng)的消息隊(duì)列系統(tǒng)服務(wù)為L(zhǎng)wip函數(shù)庫(kù)實(shí)現(xiàn)郵箱的創(chuàng)建、 刪除、投遞、接收系統(tǒng)服務(wù)。步驟33 用Linux操作系統(tǒng)的線程系統(tǒng)服務(wù)為L(zhǎng)wip函數(shù)庫(kù)實(shí)現(xiàn)線程的創(chuàng)建及優(yōu) 先級(jí)分配系統(tǒng)服務(wù)。步驟34 =Lwip超時(shí)處理系統(tǒng)服務(wù)并不需要借助Linux操作系統(tǒng)提供的系統(tǒng)服務(wù)來 完成,Lwip函數(shù)庫(kù)本身提供了一個(gè)超時(shí)指針,只需在某個(gè)線程超時(shí)時(shí),返回當(dāng)前線程的超時(shí) 指針。圖5為L(zhǎng)wip和物理硬件網(wǎng)絡(luò)設(shè)備底層硬件接口建立流程圖底層硬件接口需要操作物理硬件網(wǎng)絡(luò)設(shè)備的寄存器實(shí)現(xiàn)物理硬件網(wǎng)絡(luò)設(shè)備基本 的初始化、數(shù)據(jù)接收、數(shù)據(jù)發(fā)送、中斷處理等操作,對(duì)寄存器的讀寫只能在Linux操作系統(tǒng) 的內(nèi)核空間完成。
步驟41 編寫物理硬件網(wǎng)絡(luò)設(shè)備的寄存器驅(qū)動(dòng),并為每個(gè)寄存器的讀寫操作提供 操作接口,操作接口會(huì)以數(shù)字形式標(biāo)明,比如要操作某個(gè)寄存器并為寄存器賦予某個(gè)特定 數(shù)值,我們將這個(gè)操作接口命名為數(shù)字n,依次類推。寄存器驅(qū)動(dòng)用Linux操作系統(tǒng)內(nèi)核函 數(shù)Iotcl實(shí)現(xiàn)。一般物理硬件網(wǎng)絡(luò)設(shè)備的寄存器有接收數(shù)據(jù)報(bào)后中斷寄存器、發(fā)送和接收 數(shù)據(jù)端口寄存器、發(fā)送數(shù)據(jù)控制寄存器。步驟42 編寫物理硬件網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)傳遞驅(qū)動(dòng),由于網(wǎng)絡(luò)數(shù)據(jù)幀的發(fā)送操作是 從用戶空間先傳送送到Linux操作系統(tǒng)的內(nèi)核空間,最后將網(wǎng)絡(luò)數(shù)據(jù)幀在內(nèi)核空間賦值給 物理硬件網(wǎng)絡(luò)設(shè)備的對(duì)應(yīng)寄存器。網(wǎng)絡(luò)數(shù)據(jù)幀的接收操作則是從物理硬件網(wǎng)絡(luò)設(shè)備的對(duì)應(yīng) 寄存器接收數(shù)據(jù),再將這些數(shù)據(jù)從Linux操作系統(tǒng)的內(nèi)核空間傳遞到用戶空間。步驟43 物理硬件網(wǎng)絡(luò)設(shè)備初始化,根據(jù)不同的物理硬件網(wǎng)絡(luò)設(shè)備,初始化也會(huì) 相應(yīng)的不同,初始化一般會(huì)使用步驟41所述的寄存器驅(qū)動(dòng)去寫相關(guān)寄存器進(jìn)行物理接口 選擇、收發(fā)控制位使能、是否接收廣播數(shù)據(jù)、收到數(shù)據(jù)是否產(chǎn)生中斷等操作。這些操作決定 了物理硬件網(wǎng)絡(luò)設(shè)備的工作模式。步驟44:物理硬件網(wǎng)絡(luò)設(shè)備發(fā)送數(shù)據(jù),不同的物理硬件網(wǎng)絡(luò)設(shè)備,發(fā)送數(shù)據(jù)操作 也是不相同的,發(fā)送數(shù)據(jù)一般會(huì)先使用步驟42所述的數(shù)據(jù)傳遞驅(qū)動(dòng)將用戶需要發(fā)送的數(shù) 據(jù)傳遞到Linux內(nèi)核空間,再使用步驟41所述的寄存器驅(qū)動(dòng)寫特定的數(shù)值到發(fā)送控制寄存 器和發(fā)送數(shù)據(jù)長(zhǎng)度寄存器,最后將將要發(fā)送的數(shù)據(jù)依次寫到端口寄存器中,端口寄存器負(fù) 責(zé)把數(shù)據(jù)傳送到網(wǎng)絡(luò)上。步驟45 物理硬件網(wǎng)絡(luò)設(shè)備接收數(shù)據(jù),不同的物理硬件網(wǎng)絡(luò)設(shè)備,接收數(shù)據(jù)操作 也不一樣,接收數(shù)據(jù)一般會(huì)先從端口寄存器中依次讀數(shù)據(jù),再使用步驟42所述的數(shù)據(jù)傳遞 驅(qū)動(dòng)將數(shù)據(jù)Linux內(nèi)核空間傳遞到用戶空間。圖6為物理硬件網(wǎng)絡(luò)設(shè)備的寄存器驅(qū)動(dòng)建立流程圖步驟411 將物理硬件網(wǎng)絡(luò)設(shè)備的寄存器驅(qū)動(dòng)設(shè)備在Linux內(nèi)核中注冊(cè)的設(shè)備名 取名為 embeded-net。步驟412 為物理硬件網(wǎng)絡(luò)設(shè)備的物理接口選擇寄存器建立操作接口,一般物理 硬件網(wǎng)絡(luò)設(shè)備有幾種物理接口可選擇,一種物理接口需要為其編寫一個(gè)操作接口,例如 CS8900網(wǎng)卡設(shè)備需要使用10BASE-T物理接口,需要給LINECTL寄存器賦00D3H值,在驅(qū)動(dòng) 中需要調(diào)用Linux內(nèi)核函數(shù)_儀《_虹^6((^00(13!1丄1服01)為其建立一個(gè)操作接口。如果 需要讀某個(gè)寄存器,則需要調(diào)用Linux內(nèi)核函數(shù)_1~^_1^&(1()為其建立一個(gè)操作接口。步驟413 參照步驟412,為可能存在的寄存器操作情況編寫操作接口。步驟414 將所有的操作接口進(jìn)行編號(hào),編號(hào)從1開始,依次累加。步驟416 為編好號(hào)的操作接口用SWitCh(Cmd)語(yǔ)句進(jìn)行封裝,cmd指的是操作接 口編號(hào)。即把所有編號(hào)的操作接口放入SWitCh(Cmd)函數(shù)體內(nèi),在應(yīng)用程序中,就可以根據(jù) 編號(hào)去選擇需要進(jìn)行某個(gè)接口操作。步驟417 為封裝好的SWitCh(Cmd)語(yǔ)句建立寄存器驅(qū)動(dòng)的iotcl操作,ioctl () 為內(nèi)核函數(shù),通過ioctl操作可以實(shí)現(xiàn)用戶空間和內(nèi)核空間的交互。在應(yīng)用程序中,先open 步驟411所述的embeded-net設(shè)備得到文件描述符fd,再用ioctl (fd,cmd, ···)便可操作 相應(yīng)的操作接口。圖7為物理硬件網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)傳遞驅(qū)動(dòng)建立流程圖
步驟421 將物理硬件網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)傳遞驅(qū)動(dòng)在Linux內(nèi)核中注冊(cè)的設(shè)備名取 名為 embeded-inter。步驟422 編寫從用戶空間到內(nèi)核空間的數(shù)據(jù)傳遞驅(qū)動(dòng),先需要使用Linux內(nèi)核函 數(shù)C0py_fr0m_uSer(),這個(gè)函數(shù)的作用就是將用戶空間的數(shù)據(jù)傳遞到內(nèi)核空間,把copy_ from_user ()函數(shù)封裝到數(shù)據(jù)傳遞驅(qū)動(dòng)的write操作。在應(yīng)用程序中,先open步驟421所述 的embeded-inter設(shè)備得到文件描述符fd,再用write (fd, length, buffer)將數(shù)據(jù)buffer 送入到Linux內(nèi)核空間。步驟423 編寫從內(nèi)核空間到用戶空間的數(shù)據(jù)傳遞驅(qū)動(dòng),先需要使用Linux內(nèi)核 函數(shù)C0py_t0_uSer(),這個(gè)函數(shù)的作用就是將內(nèi)核空間數(shù)據(jù)傳遞到用戶空間,把C0py_t0_ user()函數(shù)封裝到數(shù)據(jù)傳遞驅(qū)動(dòng)的read操作。在應(yīng)用程序中,先open步驟421所述的 embeded-inter設(shè)備得到文件描述符fd,再用read(fd,length, buffer)將數(shù)據(jù)buffer從 內(nèi)核空間讀到用戶空間。需要說明的是,上述裝置和系統(tǒng)內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由 于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處 不再贅述。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存 儲(chǔ)介質(zhì)可以包括只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁盤或光盤等。以上對(duì)本發(fā)明實(shí)施例所提供的一種嵌入式Linux網(wǎng)絡(luò)加速的方法,進(jìn)行了詳細(xì)介 紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只 是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā) 明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理 解為對(duì)本發(fā)明的限制。
權(quán)利要求
一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng),其特征在于,主要包括以下單元應(yīng)用程序單元、Lwip函數(shù)庫(kù)單元、系統(tǒng)接口單元、Linux系統(tǒng)單元、底層硬件接口單元、硬件平臺(tái)單元、物理硬件網(wǎng)絡(luò)設(shè)備單元;所述應(yīng)用程序單元為嵌入式Linux操作系統(tǒng)提供基本和網(wǎng)絡(luò)應(yīng)用程序;所述Lwip函數(shù)庫(kù)單元為嵌入式Linux操作系統(tǒng)提供一個(gè)小型的TCP/IP協(xié)議棧,該協(xié)議棧的優(yōu)點(diǎn)是內(nèi)存使用量少和代碼體積小;所述系統(tǒng)接口單元為嵌入式Linux操作系統(tǒng)的Lwip函數(shù)庫(kù)提供基本的系統(tǒng)服務(wù),包括信號(hào)量、郵箱、線程、超時(shí);所述Linux系統(tǒng)單元為嵌入式設(shè)備提供了軟件運(yùn)行環(huán)境;所述硬件平臺(tái)單元為嵌入式設(shè)備提供了硬件運(yùn)行環(huán)境;所述底層硬件接口單元讓物理硬件網(wǎng)絡(luò)設(shè)備能正常運(yùn)行在Linux系統(tǒng)單元的軟件環(huán)境中和硬件平臺(tái)單元的硬件環(huán)境中;所述物理硬件網(wǎng)絡(luò)設(shè)備單元為嵌入式系統(tǒng)提供最底層的網(wǎng)絡(luò)支持,所有的網(wǎng)絡(luò)數(shù)據(jù)都是通過這個(gè)單元進(jìn)行發(fā)送和接收。
2.一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的方法,其特征在于,包括以下步驟 步驟1:獲取Lwip函數(shù)庫(kù);步驟2 根據(jù)硬件平臺(tái)和編譯器環(huán)境為L(zhǎng)wip函數(shù)庫(kù)定義一些基本數(shù)據(jù)類型和性能測(cè)試宏;步驟3 為L(zhǎng)wip和Linux系統(tǒng)建立系統(tǒng)服務(wù)接口,Linux操作系統(tǒng)主要為L(zhǎng)wip函數(shù)庫(kù) 提供信號(hào)量,線程,郵箱,超時(shí)處理等系統(tǒng)服務(wù);步驟4 為L(zhǎng)wip和物理硬件網(wǎng)絡(luò)設(shè)備提供底層硬件接口,這個(gè)接口主要是實(shí)現(xiàn)物理網(wǎng) 絡(luò)設(shè)備收發(fā)數(shù)據(jù)的功能。
3.根據(jù)權(quán)利要求2所述的一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的方法,其特征在 于,基本數(shù)據(jù)結(jié)構(gòu)定義包括以下步驟步驟21 根據(jù)硬件平臺(tái)的特點(diǎn)和編譯器所定義的無符號(hào)字符型,有符號(hào)字符型,無符 號(hào)整型,有符號(hào)整型,無符號(hào)長(zhǎng)整型,有符號(hào)長(zhǎng)整型分別賦值給Lwip函數(shù)庫(kù)所需要被實(shí)現(xiàn) 的數(shù)據(jù)類型;步驟22 為L(zhǎng)wip函數(shù)庫(kù)編寫性能測(cè)試宏開始測(cè)量宏P(guān)ERF_START和結(jié)束測(cè)量并記錄 結(jié)果宏 PERF_ST0P (χ)。
4.根據(jù)權(quán)利要求2所述的一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的方法,其特征在 于,Lwip函數(shù)庫(kù)和Linux系統(tǒng)服務(wù)接口建立流程的過程包括以下步驟步驟31 用Linux操作系統(tǒng)的信號(hào)量系統(tǒng)服務(wù)函數(shù)為L(zhǎng)wip函數(shù)庫(kù)實(shí)現(xiàn)信號(hào)量的創(chuàng)建、 刪除、釋放、申請(qǐng)系統(tǒng)服務(wù);步驟32 用Linux操作系統(tǒng)的消息隊(duì)列系統(tǒng)服務(wù)為L(zhǎng)wip函數(shù)庫(kù)實(shí)現(xiàn)郵箱的創(chuàng)建、刪 除、投遞、接收系統(tǒng)服務(wù);步驟33 用Linux操作系統(tǒng)的線程系統(tǒng)服務(wù)為L(zhǎng)wip函數(shù)庫(kù)實(shí)現(xiàn)線程的創(chuàng)建及優(yōu)先級(jí) 分配系統(tǒng)服務(wù);步驟34 =Lwip超時(shí)處理系統(tǒng)服務(wù)并不需要借助Linux操作系統(tǒng)提供的系統(tǒng)服務(wù)來完成, Lwip函數(shù)庫(kù)本身提供了一個(gè)超時(shí)指針,只需在某個(gè)線程超時(shí)時(shí),返回當(dāng)前線程的超時(shí)指針。
全文摘要
本發(fā)明公開了一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的系統(tǒng),主要包括以下單元應(yīng)用程序單元、Lwip函數(shù)庫(kù)單元、系統(tǒng)接口單元、Linux系統(tǒng)單元、底層硬件接口單元、硬件平臺(tái)單元、物理硬件網(wǎng)絡(luò)設(shè)備單元。同時(shí)本發(fā)明還公開了一種嵌入式Linux操作系統(tǒng)網(wǎng)絡(luò)加速運(yùn)行的方法。通過本發(fā)明可以減少嵌入式Linux操作系統(tǒng)TCP/IP協(xié)議棧的代碼量,使嵌入式Linux操作系統(tǒng)在進(jìn)行網(wǎng)絡(luò)通信時(shí)運(yùn)行速度更快。
文檔編號(hào)G06F9/44GK101894019SQ20101020073
公開日2010年11月24日 申請(qǐng)日期2010年6月12日 優(yōu)先權(quán)日2010年6月12日
發(fā)明者傅明, 張潔, 羅笑南, 譚南 申請(qǐng)人:中山大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
启东市| 乐亭县| 衡山县| 北京市| 务川| 朝阳市| 顺昌县| 珠海市| 玉林市| 罗江县| 南宫市| 元氏县| 若羌县| 曲靖市| 逊克县| 枞阳县| 大方县| 乐至县| 富裕县| 雅安市| 汕尾市| 石屏县| 平武县| 罗城| 土默特右旗| 靖安县| 廉江市| 陈巴尔虎旗| 镇安县| 吴堡县| 中宁县| 会昌县| 皋兰县| 喀什市| 涡阳县| 合川市| 高邑县| 巨野县| 慈溪市| 梁河县| 呼图壁县|