在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式Web訪問時的內(nèi)存丟失問題

            嵌入式Web訪問時的內(nèi)存丟失問題

            作者: 時間:2009-11-19 來源:網(wǎng)絡 收藏

            uClinux將整個物理劃分成為4 KB的頁面。由數(shù)據(jù)結(jié)構(gòu)page管理,有多少頁面就有多少page結(jié)構(gòu),它們又作為元素組成數(shù)組men_map[]。物理頁面可作為進程代碼、數(shù)據(jù)和堆棧的一部分,還可存儲裝入的文件,也可作緩沖區(qū)。
            uClinux用標準Linux內(nèi)核變型BuddySystem機制管理空閑物理頁面。
            3.2 原因
            由于uClinux提供了跟普通Linux一樣的分配器,普通Linux中缺省的內(nèi)存分配器是使用“2的冪”的分配方法,這樣可以快速找到符合要求的內(nèi)存區(qū)域。在系統(tǒng)開發(fā)過程初期,采用的就是“2的冪”的分配方法。如果一個應用程序要求(X)KB內(nèi)存空間進行裝載,則實際使用占用的內(nèi)存空間大小為Y=2m(Y≥X)。試想一個65 KB應用程序,如果按照“2的冪”的分配方法,就必須分配128 KB(2的7次方)的內(nèi)存空間,這樣就有63 KB的內(nèi)存空間不能被利用上。這對于小內(nèi)存的系統(tǒng)來說是相當大的浪費。
            多支點觸發(fā)系統(tǒng)運行時,操作系統(tǒng)uClinux使用“2的冪”的內(nèi)存分配方法,大多數(shù)情況下都能正常工作。但在不斷反復測試中,偶爾會出現(xiàn)上述頁面出錯。錯誤的原因是不能獲得足夠的內(nèi)存加載程序。通過調(diào)試終端,用free命令查看系統(tǒng)內(nèi)存分配情況如表1所列。

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

            由表1可以看出,空閑的內(nèi)存空間還有1560 KB,而應用程序所需的內(nèi)存空間為400多KB,但是內(nèi)核認為并沒有足夠的內(nèi)存空間用來加載程序。例如一個系統(tǒng)內(nèi)存大小為1 MB,有400KB的空閑內(nèi)存,為了裝載一個應用程序需要分配100 KB的空間。大家可能覺得這個需要肯定能得到滿足,然而,由于uClinux必須給應用程序分配連續(xù)內(nèi)存空間的特性,所以必須有100KB連續(xù)的內(nèi)存空間才能滿足這個需要。而當系統(tǒng)內(nèi)存分配如圖3所示時,最大的連續(xù)內(nèi)存塊的大小只有80 KB,這樣是沒有辦法分配給這個應用程序的。這就是系統(tǒng)中頁面出錯的所在,雖然有足夠的空閑內(nèi)存空間,但是沒有應用程序所需的連續(xù)內(nèi)存空間。

            這就是內(nèi)存。雖然系統(tǒng)會顯示大量的可用內(nèi)存,但是應用程序卻不能得到。

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


            評論


            相關推薦

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

            關閉