新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式Web訪問時的內存丟失問題

        嵌入式Web訪問時的內存丟失問題

        作者: 時間:2009-11-19 來源:網絡 收藏

        4 的解決
        由于系統的管理默認采用“2的冪”的分配方法,這就造成了空間的巨大浪費,當某些應用程序要申請較大的連續空間時,卻不能滿足。為了解決這個,專門為uClinux內核設計了可選的內存分配器。不同的內核版本,這個可選的內存分配器不同,一般是page_alloc2和kmalloc2。
        page_alloc2能解決缺省的分配方法造成的浪費。雖然它也是使用“2的冪”的分配方法,但它是按頁(每頁4 096B,即4 KB)分配的,分配的內存大小如果已經滿足了要求,則只是將當前的一頁分配出去,其他的就不再分配。還是一個65 KB的應用程序,如果使用這種方法,就只是分配68 KB(≥65 KB,且為整頁)即可,這樣就能節省60 KB的空間。
        page_alloc2還采取了一些避免內存碎片的方法。它將所有的兩頁(8 KB)或更少的內存需求從空閑內存開始部分向上分配,所有大的內存需求從剩余內存的末尾部分開始向下分配。這樣防止了網絡緩存等的臨時分配,避免了內存碎片的出現。同時,它支持一次申請超過1 MB的內存空間,這對一些大的應用程序是很好的支持。采用此方法后,在系統運行過程中,并未出現過頁面出錯問題。通過free命令查看內存分配如表2所列。

        本文引用地址:http://www.104case.com/article/152276.htm

        結 語
        系統應用日益廣泛的情況下,本文結合在多支點觸發系統中的應用,介紹了出現的問題以及它的解決方法。在實際應用中,新的內存分配方法能讓系統穩定地工作,但是從表2可以發現:采用“page_alloc2'’的內存分配方法時,系統的Cache較小,這就造成了頁面有一定的延時。而“2的冪”的分配方法,系統的Cache較大,訪問速度較快。從這個對比得知,在反應時間要求不是很高的情況下,“page_alloc2”的內存分配方法更適合小內存的系統;而“2的冪”的分配方法更合適那些內存足夠大的嵌入式系統。系統開發者可以根據實際情況采用不同的方案。

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

        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 云龙县| 通化县| 洪泽县| 龙川县| 财经| 化州市| 平山县| 荆门市| 赞皇县| 乡宁县| 莒南县| 雅江县| 洛南县| 旬邑县| 乌审旗| 喀什市| 松桃| 宝兴县| 华宁县| 开封市| 包头市| 桃园县| 巴南区| 得荣县| 公主岭市| 盐池县| 洛宁县| 秦安县| 奉节县| 西平县| 麟游县| 陈巴尔虎旗| 南昌县| 柳江县| 琼中| 棋牌| 安吉县| 丹东市| 准格尔旗| 富阳市| 河津市|