日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:為了解決嵌入式設(shè)備中內(nèi)存頻繁分配和釋放所引起的內(nèi)存碎片以及瀏覽器正常運(yùn)行難問(wèn)題,提出具有垃圾回收機(jī)制的可動(dòng)態(tài)增長(zhǎng)池式分配數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和具有Compaction機(jī)制的Vector分配方法;在嵌入式環(huán)境系統(tǒng)設(shè)計(jì)時(shí),

摘要:為了解決嵌入式設(shè)備中內(nèi)存頻繁分配和釋放所引起的內(nèi)存碎片以及瀏覽器正常運(yùn)行難問(wèn)題,提出具有垃圾回收機(jī)制的可動(dòng)態(tài)增長(zhǎng)池式分配數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和具有Compaction機(jī)制的Vector分配方法;在嵌入式環(huán)境系統(tǒng)設(shè)計(jì)時(shí),采用可回收動(dòng)態(tài)增長(zhǎng)池式分配策略,系統(tǒng)無(wú)需預(yù)潮內(nèi)存大小,而且可以循環(huán)使用池內(nèi)空間;Compaction機(jī)制的Vector分配方法可以移動(dòng)“在用”對(duì)象和“廢棄”對(duì)象調(diào)整內(nèi)存占用,減少碎片。實(shí)驗(yàn)設(shè)計(jì)中應(yīng)用上述策略,驗(yàn)證了該內(nèi)存管理效率比系統(tǒng)級(jí)效率要高,嵌入式設(shè)備中打開(kāi)網(wǎng)頁(yè)文件越大,體現(xiàn)出來(lái)的效率更高。
關(guān)鍵詞:嵌入式設(shè)備;瀏覽器;池式分配;位圖;對(duì)象表

0 引言
    在嵌入式系統(tǒng)中,由于設(shè)備性能限制系統(tǒng)總的可分配內(nèi)存相對(duì)較小,而在嵌入式平臺(tái)上瀏覽器正常運(yùn)行所需內(nèi)存一般都比較大,并且內(nèi)存分配和釋放操作也比較頻繁,例如,IPTV EPG界面上顯示各類(lèi)菜單按鈕、鏈接以及為用戶提供動(dòng)態(tài)和靜態(tài)的多媒體內(nèi)容時(shí),往往EPG頁(yè)面中存在著各種長(zhǎng)短不一節(jié)目導(dǎo)航提示信息、各種表單、導(dǎo)航按鈕以及圖片等,對(duì)于這些要顯示的對(duì)象需要通過(guò)數(shù)個(gè)矩形數(shù)據(jù)結(jié)構(gòu)來(lái)表示它們。在界面排版過(guò)程中,隨著上、下文的改變,會(huì)進(jìn)行頻繁的分配釋放,例如把圖片插入到網(wǎng)頁(yè)的時(shí)候,網(wǎng)頁(yè)會(huì)把一個(gè)局部區(qū)域內(nèi)的顯示對(duì)象釋放然后重新生成,從內(nèi)存管理角度來(lái)看,這導(dǎo)致了頻繁的內(nèi)存分配和釋放。為了保證瀏覽器Browser的正常運(yùn)行和減小內(nèi)部碎片,本文在分析和研究μCLinux嵌入式操作系統(tǒng)內(nèi)存管理基礎(chǔ)之上,提出運(yùn)行在嵌入式設(shè)備上瀏覽器的內(nèi)存管理策略,該策略主要針對(duì)瀏覽器中固定大小結(jié)構(gòu)的頻繁分配和釋放,比如各種box,采用池式分配的方式(Pooled Allocation)來(lái)管理固定大小結(jié)構(gòu)的分配和釋放;對(duì)于可變大小結(jié)構(gòu)的分配和釋放,比如字符串,采用Vector進(jìn)行分配和釋放。

1 μCLinux內(nèi)存管理分析
    μCLinux是主流嵌入式Linux系統(tǒng)之一,其設(shè)計(jì)的目標(biāo)平臺(tái)是那些不具有內(nèi)存管理單元(MMU)的微處理芯片。μCLinux對(duì)標(biāo)準(zhǔn)Linux修改最大的部分在于內(nèi)存管理部分,而瀏覽器內(nèi)存管理是在一塊已分配的內(nèi)存上進(jìn)行苒組織內(nèi)存的使用方式,把這塊已分配的內(nèi)存當(dāng)作物理內(nèi)存來(lái)使用。因此μCLinux的內(nèi)存管理思想對(duì)于本文設(shè)計(jì)嵌入式設(shè)備瀏覽器內(nèi)存管理有較好參考意義。
1.1 μCLinux內(nèi)存管理數(shù)據(jù)結(jié)構(gòu)
    μCLinux取消了標(biāo)準(zhǔn)Linux的VMA結(jié)構(gòu)(該結(jié)構(gòu)建立在虛擬內(nèi)存之上),每個(gè)進(jìn)程維護(hù)自己的內(nèi)存地址空間的方法是在它的mm_DataStruet中維護(hù)了一個(gè)此進(jìn)程所使用的內(nèi)存塊的鏈表。一個(gè)進(jìn)程可以擁有任意多個(gè)內(nèi)存塊,每個(gè)內(nèi)存塊用mm_Rblock_DataStruct類(lèi)型的數(shù)據(jù)結(jié)構(gòu)描述其起始地址、長(zhǎng)度以及當(dāng)前被使用的次數(shù)。每個(gè)內(nèi)存塊由mMap()的調(diào)用來(lái)建立。
    每個(gè)進(jìn)程維護(hù)了一個(gè)mm_DataStruct結(jié)構(gòu)(如圖1所示)用來(lái)管理它所擁有的內(nèi)存空間。tblock是管理所有這個(gè)進(jìn)程所用到的內(nèi)存區(qū)域塊的鏈表表頭。mm_Tbloek_DataStruet是管理mm_Rblock_DataStruct的鏈表結(jié)構(gòu),rblock指向當(dāng)前位置的鏈表項(xiàng),next是指向下一個(gè)位置的鏈表項(xiàng)。mm_Rblock_DataStruct結(jié)構(gòu)是用來(lái)管理內(nèi)存塊的數(shù)據(jù)結(jié)構(gòu),size指明kblock所指向的內(nèi)存區(qū)域的大小,ref_count記錄了這個(gè)內(nèi)存空間的用戶個(gè)數(shù),kbloek是指向這個(gè)內(nèi)存塊空間起始位置的指針。


1.2 μCLinux物理空間管理
    雖然μCLinux中對(duì)內(nèi)存地址的操作都是直接對(duì)物理內(nèi)存進(jìn)行的,但是仍然需要使用Linux中對(duì)物理頁(yè)幀的管理數(shù)據(jù)結(jié)構(gòu),μCLinux對(duì)物理空間管理主要有以下幾個(gè)方面:
    (1)物理內(nèi)存以頁(yè)幀為單位,頁(yè)幀的長(zhǎng)度固定為4 KB,在內(nèi)核中使用page結(jié)構(gòu)來(lái)表示每個(gè)物理頁(yè)幀;
    (2)所有的page結(jié)構(gòu)形成一個(gè)mem_map表,mem_map表在系統(tǒng)初始化時(shí)由free_area_init()函數(shù)創(chuàng)建;
    (3)在物理內(nèi)存低端的bitmap表以位圖方式記錄了所有物理內(nèi)存的空閑狀況,它也是在系統(tǒng)初始化時(shí)由free_area_init()函數(shù)創(chuàng)建,bitmap表分割NR_MEM_LISTS組,對(duì)第i組初始化時(shí)設(shè)定長(zhǎng)度為(end_mem_start_mem)/PAGE_SIZE/2(i+3),每位表示連續(xù)2i個(gè)頁(yè)幀的空狀況,置位為1表示其中一頁(yè)或幾頁(yè)已被占用;
    (4)用free_area數(shù)組記錄空閑的物理頁(yè)幀,free_area數(shù)組由NR_MEM_LISTS個(gè)free_area_struct結(jié)構(gòu)類(lèi)型的數(shù)組元素構(gòu)成,每個(gè)元素均作為一條空閑塊鏈表的表頭,連續(xù)2i個(gè)空閑頁(yè)幀則掛到free_area數(shù)組的第i項(xiàng)后面,free_area當(dāng)前空閑頁(yè)面?zhèn)€數(shù)要大于系統(tǒng)中硬性規(guī)定的必須保留的空閑頁(yè)面的個(gè)數(shù)(5或者低于5的某個(gè)數(shù)值),如果不足規(guī)定的空閑頁(yè)面,則調(diào)用try_to_free_page()函數(shù)嘗試增加系統(tǒng)中的空閑頁(yè)面的數(shù)量;
    (5)Linux采用buddy算法分配空閑塊。

2 嵌入式設(shè)備瀏覽器內(nèi)存管理策略
    應(yīng)用程序?yàn)g覽器內(nèi)存管理是在一塊已分配的內(nèi)存上進(jìn)行再組織內(nèi)存的使用方式,它不會(huì)涉及操作系統(tǒng)的內(nèi)存管理,但是可以借鑒操作系統(tǒng)的各種內(nèi)存管理方法,使對(duì)應(yīng)用程序級(jí)的內(nèi)存管理更高效。首先系統(tǒng)獲得一塊固定大小的內(nèi)存,然后把這塊內(nèi)存按照功能進(jìn)行固定分區(qū),圖2是Brow ser內(nèi)存管理各分區(qū)的布局。把從系統(tǒng)獲得的內(nèi)存分為4個(gè)區(qū):第一個(gè)區(qū)是Static Section,大小為20 KB,這個(gè)區(qū)主要用于保存全局性數(shù)據(jù)結(jié)構(gòu)GlobalCtlVar,50 Word大小的索引緩存(Indi-ces Buffer)和Pool Linked List。第二個(gè)區(qū)是String Map Section是一個(gè)對(duì)象表,大小為20 KB,用于存入數(shù)組結(jié)構(gòu)StrMap的數(shù)組,預(yù)定義數(shù)組大小為1 000,String Map功能之一類(lèi)似于bitmap,用于管理空閑的數(shù)據(jù)塊。第三個(gè)區(qū)是Reserve Section(保留區(qū)),大小是20 KB。第四個(gè)區(qū)是Available Section,真正分配給用戶的內(nèi)存從這個(gè)區(qū)取出,有關(guān)pool的分配從上到下,有關(guān)Vector的分配從下到上。[!--empirenews.page--]


    (1)管理策略一:具有垃圾回收機(jī)制的可動(dòng)態(tài)增長(zhǎng)的池式分配。與傳統(tǒng)固定大小的內(nèi)存池技術(shù)相比,在此引入了具有垃圾回收機(jī)制的可動(dòng)態(tài)增長(zhǎng)的池式分配,其數(shù)據(jù)結(jié)構(gòu)如圖3所示。由于會(huì)根據(jù)需要而動(dòng)態(tài)增長(zhǎng),因此不用預(yù)測(cè)內(nèi)存池的大小;由于具有垃圾回收機(jī)制,因此可以循環(huán)使用池內(nèi)空間。瀏覽器使用多種box對(duì)象,并經(jīng)常對(duì)它們進(jìn)行分配和歸還,但典型的內(nèi)存管理器會(huì)為每一個(gè)對(duì)象存儲(chǔ)一個(gè)header(表頭),對(duì)小對(duì)象而言這些headers可能會(huì)使程序的內(nèi)存需求加倍,此外,在一個(gè)共享的heap中分配和歸還小對(duì)象會(huì)帶來(lái)碎片風(fēng)險(xiǎn),并因大量動(dòng)態(tài)對(duì)象而增加管理時(shí)間。因此,對(duì)每種分配和歸還頻繁的box對(duì)象分別建立一個(gè)對(duì)象池,各種對(duì)象池形成一個(gè)poollinkedlist。一個(gè)對(duì)象池首先預(yù)先分配一個(gè)固定大小的arena并按對(duì)象大小對(duì)arena進(jìn)行格式化,當(dāng)用完arena的最后一個(gè)對(duì)象時(shí),對(duì)當(dāng)前的pool進(jìn)行垃圾回收,把回收的空間放入這個(gè)pool的freelist當(dāng)中,用戶可以重用freelist上的空間,如果垃圾回收后發(fā)現(xiàn)在這個(gè)pool中已經(jīng)沒(méi)有可用空間,則動(dòng)態(tài)分配一個(gè)arena。從這種池式分配的過(guò)程來(lái)看,對(duì)arena的分配采用了動(dòng)態(tài)分區(qū)方式,對(duì)arena中結(jié)構(gòu)對(duì)象的分配采用了固定分區(qū)方式。

   從理論上分析,由于內(nèi)存管理器減少了存儲(chǔ)每一個(gè)對(duì)象需要的一個(gè)header(表頭)大小(在這里這個(gè)表頭是GCThing,GCThing由next指針、flagp指針組成),并且減少了碎片,池式分配能夠在較少內(nèi)存中存儲(chǔ)更多對(duì)象,減少系統(tǒng)的整體內(nèi)存需求。同時(shí),通過(guò)一個(gè)具有垃圾回收機(jī)制的可動(dòng)態(tài)增長(zhǎng)的內(nèi)存池來(lái)容納一類(lèi)小型結(jié)構(gòu)對(duì)象,使這些小型結(jié)構(gòu)對(duì)象在內(nèi)存中緊密排列,因而降低分頁(yè)系統(tǒng)中的paging頻率及其帶來(lái)的額外開(kāi)銷(xiāo)。由于本方案實(shí)現(xiàn)的分配和歸還函數(shù)性能較好,因而提高了時(shí)間效率和實(shí)時(shí)響應(yīng)能力。但是,對(duì)于每個(gè)arena,由于在最后剩余空間不能容納一個(gè)結(jié)構(gòu)對(duì)象的大小,那么這塊剩余空間就會(huì)成內(nèi)部碎片。當(dāng)然,求出arena的合理大小會(huì)使內(nèi)部碎片減少到幾個(gè)字節(jié),甚至是沒(méi)有內(nèi)部碎片;特別是每個(gè)pool的最后一個(gè)arena,由于這個(gè)arena最有可能沒(méi)有放滿結(jié)構(gòu)對(duì)象,因此可能會(huì)有比較多的空間浪費(fèi)。
    用戶從arena中分配走內(nèi)存空間,圖3中標(biāo)有allocated space的區(qū)域(這塊區(qū)域由其上面的GCThing數(shù)據(jù)結(jié)構(gòu)進(jìn)行管理,GCThing由next指針、flagp指針組成),當(dāng)用戶用完這塊內(nèi)存空間,應(yīng)用程序級(jí)的內(nèi)存管理應(yīng)該如何重用它,以及在什么時(shí)候重用它。采用位圖與垃圾回收機(jī)制結(jié)合來(lái)重用在arena中已被用戶廢棄的內(nèi)存空間。在圖3中的FLAG SECTION其本質(zhì)上是一個(gè)bitmap,在FLAG SECTION中最小的單位是一個(gè)字節(jié)而不是一個(gè)位,在FLAG SECTION中每一個(gè)flag都與一個(gè)按存放結(jié)構(gòu)大小進(jìn)行格式化后的內(nèi)存區(qū)域相對(duì)應(yīng),在圖3中用GCThing數(shù)據(jù)結(jié)構(gòu)中的flagp指針處理flag與其相對(duì)應(yīng)的內(nèi)存區(qū)域之間相互掛鉤,用flag字節(jié)來(lái)表示其相對(duì)應(yīng)的內(nèi)存區(qū)域是正在使用,還是用戶已經(jīng)廢棄,或是已經(jīng)被的內(nèi)存管理器回收。用戶通過(guò)的內(nèi)存管理器獲得一塊內(nèi)存區(qū)域,內(nèi)存管理器把相對(duì)應(yīng)的flag置為正在使用;用戶通過(guò)內(nèi)存管理器釋放分配給它的內(nèi)存區(qū)域,內(nèi)存管理器把相對(duì)應(yīng)的flag置為已經(jīng)廢棄;內(nèi)存管理器回收f(shuō)lag標(biāo)志為已經(jīng)廢棄的內(nèi)存區(qū)域,把回收的內(nèi)存區(qū)域通過(guò)GCTh-ing數(shù)據(jù)結(jié)構(gòu)掛到以freeListHead為頭指針的空閑塊鏈表中,如圖3所示,從而達(dá)到了廢棄內(nèi)存區(qū)域的循環(huán)使用。[!--empirenews.page--]
    (2)管理策略二:具有Compaction機(jī)制的Vector分配策略。在Browser中,除了結(jié)構(gòu)大小固定的對(duì)象頻繁分配和歸還外,經(jīng)常有大量大小不同的對(duì)象分配和歸還,目前,這種現(xiàn)象主要出現(xiàn)在處理TextBox這一塊內(nèi)容上,這些大小不向的對(duì)象具有如下特點(diǎn):其一是對(duì)象的分配和歸還是隨機(jī)發(fā)生的;其二是對(duì)象可以在其生命過(guò)程中改變自身大小。如果直接利用系統(tǒng)函數(shù)進(jìn)行分配和釋放,在總內(nèi)存比較小的嵌入式系統(tǒng)中會(huì)造成過(guò)多的碎片,從而浪費(fèi)了大量?jī)?nèi)存空間。具有Compaction機(jī)制的Vector通過(guò)移動(dòng)“繼續(xù)在用對(duì)象”來(lái)移除“繼續(xù)在用對(duì)象”之間的“已經(jīng)廢棄不用的對(duì)象”,從而把“繼續(xù)在用對(duì)象”移成連續(xù)排列,而“已經(jīng)廢棄不用的所有對(duì)象”所占用的空間解放出來(lái)放到地址空間的某一端,對(duì)它們進(jìn)行循環(huán)使用,移動(dòng)對(duì)象,最富有挑戰(zhàn)的問(wèn)題在于保證原來(lái)對(duì)內(nèi)存空間的引用都被正確更新。當(dāng)某個(gè)對(duì)象移往一個(gè)新位置,所有指向原地址的指針都將失效。雖然技術(shù)上有可能找出每一個(gè)移動(dòng)對(duì)象的原有指針并更新之,但通常引入一個(gè)額外的間接層會(huì)使問(wèn)題更簡(jiǎn)單:用戶引用的是指向?qū)ο蟊碇幸粋€(gè)項(xiàng)目欄內(nèi)對(duì)象的“handle”,而不再直接指向?qū)ο蟮刂罚?ldquo;handle”是指向某對(duì)象真實(shí)地址的“惟一”指針,對(duì)象表中一個(gè)項(xiàng)目欄內(nèi)有代表handle的addr、有表示對(duì)象所占空間的大小size和用于標(biāo)志對(duì)象所占空間是否為“繼續(xù)在用對(duì)象”還是“已經(jīng)廢棄不用的對(duì)象”的標(biāo)志位mark。圖4表示了對(duì)象引用、對(duì)象表和實(shí)際對(duì)象的三者關(guān)系。當(dāng)內(nèi)存中移動(dòng)“繼續(xù)在用對(duì)象”的時(shí)候,只需要更新對(duì)象表中相對(duì)應(yīng)項(xiàng)目欄中代表handle的addr,使它指向?qū)ο蟮男碌刂?,其他所有引用都可以繼續(xù)正確地訪問(wèn)該對(duì)象。這里返回給用戶的引用是對(duì)象表的索引,用戶再通過(guò)索引獲得相對(duì)應(yīng)的handle指針addr,為了使用戶快速獲取可用索引,建立了50個(gè)可用索引的buffer。


    如果對(duì)許多對(duì)象執(zhí)行Compaction,那么整個(gè)Compaction過(guò)程是比較費(fèi)時(shí)的,因此,什么時(shí)候執(zhí)行Compaction將對(duì)一個(gè)應(yīng)用程序的執(zhí)行效率有著重大影響。原則是:在內(nèi)存空間和可用索引能夠滿足分配的情況下,能不要Compaction就不要執(zhí)行Compaction。因此建立了兩個(gè)執(zhí)行Compaction的觸發(fā)點(diǎn),一個(gè)觸發(fā)點(diǎn)是當(dāng)用完了預(yù)分配1 000個(gè)索引值時(shí);另一個(gè)觸發(fā)點(diǎn)是當(dāng)沒(méi)有可用內(nèi)存空間用于分配時(shí)觸發(fā)。結(jié)果,在許多情況下避開(kāi)了Compaction過(guò)程。對(duì)于管理索引值問(wèn)題,采用了如下簡(jiǎn)單算法:先取前50個(gè)索引值放到Index Buffer中,用完50個(gè)索引值以后,再取50個(gè)索引值放入Buffer中,直到預(yù)分配的1 000個(gè)索引值用完為止,這時(shí)執(zhí)行Compaction,然后按順序搜索對(duì)象表,如果對(duì)象表表項(xiàng)標(biāo)志為可以重復(fù)利用,則把這個(gè)對(duì)象表表項(xiàng)的索引加入到Index Buffer之中,直到填滿Index Buffer為止;如果1 000個(gè)索引值已經(jīng)全部用完,則按100為單位動(dòng)態(tài)增加索引值。在Vector中,存放對(duì)象表需要一些額外的空間,大量對(duì)象的Compaction會(huì)占用比較多的時(shí)間,從而降低時(shí)間效率。

3 Browser內(nèi)存管理的性能分析
    Browser分別調(diào)用自己應(yīng)用程序級(jí)的內(nèi)存管理的接口與系統(tǒng)級(jí)的內(nèi)存管理的接口進(jìn)行運(yùn)行比較,結(jié)論是應(yīng)用程序級(jí)的內(nèi)存管理效率比系統(tǒng)級(jí)的內(nèi)存管理效率要高,網(wǎng)頁(yè)越大,體現(xiàn)出來(lái)的效率越高。
3.1 池式分配內(nèi)存使用情況
    對(duì)于Browse中各種固定大小的結(jié)構(gòu)(這種結(jié)構(gòu)稱(chēng)謂thing),分別用相對(duì)應(yīng)的一個(gè)內(nèi)存池(pool)進(jìn)行管理,各個(gè)pool形成一條pool鏈,內(nèi)存管理器在執(zhí)行一段時(shí)間后會(huì)按照各個(gè)pool的調(diào)用頻率高低對(duì)pool鏈進(jìn)行排序,從而提高了查找pool的效率。用小網(wǎng)頁(yè)、中等大小網(wǎng)頁(yè)和大網(wǎng)頁(yè)對(duì)pool鏈中的各個(gè)pool進(jìn)行測(cè)試,得到如圖5所示的結(jié)果。

[!--empirenews.page--]
3.2執(zhí)行Compaction前后Vector中的內(nèi)存使用情況
    首先我們察看在打開(kāi)網(wǎng)頁(yè)的過(guò)程中在沒(méi)有執(zhí)行Compaction的情況下,Vector中的內(nèi)存使用情況,如圖6所示,由圖可知,標(biāo)志為藍(lán)顏色區(qū)域是正在使用的內(nèi)存空間,白顏色表示已經(jīng)廢棄不用的內(nèi)存空間。在沒(méi)有Compaction以前,已經(jīng)廢棄不用的區(qū)域占用了大量的內(nèi)存空間,在執(zhí)行Compaction以后,所有正在使用的區(qū)域都會(huì)整齊地排列在內(nèi)存的高端,從而提高了內(nèi)存的使用效率。


3.3 內(nèi)存總體使用情況及與調(diào)用系統(tǒng)內(nèi)存管理接口性能的比較
    首先從系統(tǒng)堆中分配出4 MB的內(nèi)存,然后對(duì)這4 MB的內(nèi)存進(jìn)行應(yīng)用程序級(jí)的內(nèi)存管理,為了測(cè)試應(yīng)用程序級(jí)的內(nèi)存管理的各項(xiàng)性能指標(biāo),使用小、中和大三種網(wǎng)頁(yè)對(duì)總體內(nèi)存使用情況進(jìn)行了統(tǒng)計(jì),并且做了與調(diào)用系統(tǒng)內(nèi)存分配和釋放接口進(jìn)行性能比較。表1是實(shí)驗(yàn)網(wǎng)頁(yè)文件大小以及性能占用數(shù)據(jù)表,圖7是運(yùn)行一個(gè)大網(wǎng)頁(yè)的時(shí)候,所有內(nèi)存池占用空間和Vec-tor所占用空間的比例圖,圖8是針對(duì)一段關(guān)鍵上下文,
調(diào)用應(yīng)用程序級(jí)的內(nèi)存管理接口和調(diào)用系統(tǒng)級(jí)的內(nèi)存管理接口對(duì)三種大小不一的網(wǎng)頁(yè)在執(zhí)行這段上下文的時(shí)候所用平均時(shí)間的比較。從圖8中可以看出,網(wǎng)頁(yè)越大,內(nèi)存管理的性能越優(yōu)于直接運(yùn)用系統(tǒng)的內(nèi)存管理。

 



4 結(jié)語(yǔ)
    本文主要在對(duì)嵌入式操作系統(tǒng)μCLinux內(nèi)存管理進(jìn)行分析和小結(jié)的基礎(chǔ)之上,根據(jù)Browser實(shí)際運(yùn)行情況,提出了運(yùn)行在嵌入式設(shè)備上瀏覽器的內(nèi)存管理池式分批和Vector分配策略,并分析了這種策略的特點(diǎn)和性能。最后通過(guò)實(shí)驗(yàn)數(shù)據(jù)來(lái)分析并得出瀏覽器分別調(diào)用應(yīng)用程序級(jí)的內(nèi)存管理的接口與系統(tǒng)級(jí)的內(nèi)存管理的接口進(jìn)行運(yùn)行比較,得出應(yīng)用程序級(jí)的內(nèi)存管理效率比系統(tǒng)級(jí)的內(nèi)存管理效率要高。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達(dá)克上市公司優(yōu)克聯(lián)集團(tuán)(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國(guó)際消費(fèi)電子展(IFA 2025),重磅推出融合企...

關(guān)鍵字: LOCAL LM BSP 移動(dòng)網(wǎng)絡(luò)

深圳2025年9月9日 /美通社/ -- PART 01活動(dòng)背景 當(dāng)技術(shù)的鋒芒刺穿行業(yè)壁壘,萬(wàn)物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進(jìn)化"?的裂變時(shí)代——AI大模型消融感知邊界,...

關(guān)鍵字: BSP 模型 微信 AIOT

"出海無(wú)界 商機(jī)無(wú)限"助力企業(yè)構(gòu)建全球競(jìng)爭(zhēng)力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領(lǐng)先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關(guān)鍵字: 解碼 供應(yīng)鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當(dāng)?shù)貢r(shí)間9月6日,在2025德國(guó)柏林國(guó)際電子消費(fèi)品展覽會(huì)(International Funkausstellung...

關(guān)鍵字: 掃地機(jī)器人 耳機(jī) PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過(guò)藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實(shí)黨中央、國(guó)務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來(lái)&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達(dá)成合作,為其自主研發(fā)的"旗馭車(chē)管"車(chē)輛運(yùn)營(yíng)管理平臺(tái)提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺(tái)對(duì)百余家企業(yè)客戶的運(yùn)營(yíng)管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市發(fā)展和改革委員會(huì)、上海市商務(wù)委員會(huì)、上海市教育委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會(huì)展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動(dòng)駕駛
關(guān)閉