亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        拆半記憶法對最佳適應算法的優(yōu)化

        2014-08-10 08:10:00黎波
        宜賓學院學報 2014年6期
        關鍵詞:空閑比較法記憶法

        黎波

        (宜賓學院計算機與信息工程學院,四川宜賓644007)

        拆半記憶法對最佳適應算法的優(yōu)化

        黎波

        (宜賓學院計算機與信息工程學院,四川宜賓644007)

        最佳適應算法(BF)是內(nèi)存空閑塊分配的一種常用算法,現(xiàn)行BF算法的空閑塊查詢方法不當從而導致工作效率低下.使用拆半法替代原有的BF算法在空閑塊查詢時所采用的線性順序比較法,同時增加分配記憶功能,對BF算法進行優(yōu)化并加強算法功能,從而直接改善內(nèi)存的分配效率,對提高系統(tǒng)吞吐量起到積極的促進作用.

        內(nèi)存分配;最佳適應算法;折半法;拆半記憶

        當前的多任務系統(tǒng)操作系統(tǒng),進程的數(shù)量多,內(nèi)存的使用頻率高、各進程在內(nèi)存中駐留時間長短不一,從而釋放內(nèi)存的時間先后不同,導致內(nèi)存空閑塊(以下簡稱空閑塊)在內(nèi)存中呈現(xiàn)出間隔不連續(xù)的狀態(tài)[1-2].因此,空閑塊的分配算法旨在對進程的內(nèi)存請求進行分配,使得進程能獲得空閑塊而運行,且分配算法的優(yōu)劣將直接影響內(nèi)存的分配效率高低[3].

        在常見的空閑塊分配算法中,最佳適應算法BF(Best Fit)最常用也最具代表性,其效率和性能表現(xiàn)良好.但是,隨著操作系統(tǒng)功能的不斷擴展,系統(tǒng)中運行的進程數(shù)急劇增加,對內(nèi)存空閑塊的請求頻率和數(shù)量也大幅度提高,于是,進程對內(nèi)存空閑塊的高需求和最佳適應算法的內(nèi)存分配低效率之間的矛盾愈加凸顯,進程的請求得不到及時的響應而不能高效運行.因此,需要優(yōu)化現(xiàn)有的最佳適應算法在內(nèi)存塊分配方法,彌補其不足,以提高BF算法工作效率,且達到提高內(nèi)存的分配效率和系統(tǒng)的吞吐量的目的.

        1 最佳適應算法BF的缺陷分析

        欲分析最佳適應算法BF的缺陷,必須首先敘述最佳適應算法BF的工作原理[4],即操作系統(tǒng)將內(nèi)存的空閑塊按照容量從小到大的順序(B1<B2<B2<B4<B5< B6<…Bn)鏈接起來,形成空閑塊隊列,如圖1所示.當進程請求內(nèi)存空閑塊時,操作系統(tǒng)從該空閑塊隊列首部向后開始查詢各空閑塊,如果容量滿足便進行分配,不滿足則訪問下一個空閑塊,直到找到一個滿足其容量需求的空閑塊后便分配給進程,當訪問到最后一個空閑塊都不能滿足進程的要求時,則內(nèi)存分配失敗,對于后續(xù)所有進程的空閑塊請求,方法相同,分配過程如圖2所示.

        圖1 空閑塊隊列圖

        圖2 空閑塊分配圖

        據(jù)圖2所示,當有新的內(nèi)存塊申請Ask出現(xiàn)時,系統(tǒng)便通過空閑塊隊列的頭指針head找到空閑塊隊列,然后將Ask和B1比較,如果Ask<=B1,那么就將B1分配給ask對應的進程,如果不滿足,即Ask>B1,則沿著隊列向后查詢B2是否滿足Ask<=B2,如果滿足則分配,不滿足則繼續(xù)向后推進,直到找到一個空閑塊滿足為止,然后分配,否則到最后一個空閑塊都不滿足其大小,那么分配失敗.

        綜上所示,最佳適應算法BF存在嚴重缺陷,如下所述:

        1)空閑塊查詢時采用了“線性順序比較”的方法,查詢效率低.

        每個進程提出空閑塊請求Ask時,操作系統(tǒng)都從隊列的頭部開始向后查詢比較空閑塊的大小,即:從頭到尾依次的、線性的查詢比較每一個空閑塊是否滿足ASK的大小,造成時間的浪費,效率較低.

        2)后進程不參考前進程分配,即缺乏記憶功能,所有進程的請求都從隊列頭部開始,依次向后線性查詢,導致了查詢的重復性,浪費了大量的時間及計算機資源,導致了內(nèi)存分配效率低下.

        尤其當前操作系統(tǒng)中出現(xiàn)進程數(shù)量眾多的情況,缺陷1和2的愈加明顯.所以,對最佳適應算法進行優(yōu)化改善,才能從算法本身提高內(nèi)存的分配效率,從而提供操作系統(tǒng)的吞吐量.

        2 采用“拆半記憶法”對最佳適應算法進行優(yōu)化

        由于最佳適應算法BF存在上述的1和2的明顯缺陷,經(jīng)過全面的分析和深入的研究,在空閑塊的查詢分配時,采用折半法代替原本的線性比較法;同時,結(jié)合內(nèi)存塊分配記憶,即后進程須參考前進程的分配位置,再決定其向前查詢或者向后查詢,即查詢的方向,較好地提高空閑塊的查詢速度,提升空閑塊的工作效率,實現(xiàn)了對最佳適應算法的優(yōu)化改進.具體的優(yōu)化改良措施如下所述:

        第一,最小基本塊原則節(jié)約了內(nèi)存空閑塊,避免了內(nèi)存的浪費.

        空閑塊以空間從小到大(容量遞增)的方式組成空閑塊隊列,同時遵循最小基本塊原則,最小基本塊的容量為Size,即當分配后余下的空間大于Size時,剩余的空間將作為新的空閑塊插入到隊列中合適的位置;否則,將整個空閑塊全部分配給進程.此舉能最大限度地節(jié)約內(nèi)存,不會出現(xiàn)過多的內(nèi)存浪費現(xiàn)象.

        第二,拆半法提高了空閑塊的查詢訪問效率.

        當進程提出內(nèi)存請求Ask時,不再采用從隊列頭部Head向尾部線性順序比較法查詢內(nèi)存空閑塊,而是采用折半法高效地完成內(nèi)存空閑塊的查找[5].

        1)將Ask和空閑塊隊列的中間空閑塊mid進行比較,其中Mid=INT((low+high)/2),如果該空閑塊大于等于進程請求的容量,即Ask<=med,說明該空閑塊滿足Ask的需要,那么直接將mid空閑塊分配給Ask,完成分配.

        當Ask>mid,即空閑塊太小不能滿足Ask的需要,則直接忽略1~mid間前半段所有空閑塊的比較,甩掉了一半的空閑塊進行比較,實現(xiàn)了拆半.再以mid為開頭到隊列尾部之間的空閑塊為新隊列,low=mid,med=INT ((low+high)/2),在新隊列中,繼續(xù)采用折半比較法進行比較,依次類推,直到找到滿足Ask<=med的空閑塊為止,完成分配,工作原理如圖3所示.

        圖3 拆半記憶法優(yōu)化原理圖

        從上述拆半法的工作原理可見,每次比較都能甩掉隊列中50%的空閑塊,極大地節(jié)約了空閑塊隊列的訪問時間,提高了訪問效率,從而提高了內(nèi)存塊的分配效率.

        2)后續(xù)的空閑塊請求必須根據(jù)上次作業(yè)分配的位置,向隊列尾查找比較,其方法仍采用折半比較法,找到滿足其大小的空閑塊,完成分配.

        3)當后續(xù)作業(yè)在分配的過程中,已經(jīng)沒有空閑塊滿足其需求,此時,立刻進行內(nèi)存中空閑塊的串聯(lián)組隊,串聯(lián)時仍然以空閑塊容量從小到大(即容量遞增)的方式組成空閑塊隊列.

        算法圖見圖3.其中l(wèi)ow代表的是空閑隊列的第一個空閑塊,而high代表的是最后一個隊列,mid則表示折半法的中間點,通過以上算法,當Ask(i)<=mid且mid-Ask(i)>=size,滿足分配條件,從mid中劃出Ask(i)所需要的空間給進程,多余的size作為空閑塊回收,完成分配;繼續(xù)判斷有無新請求,如果有,則需要參考上次的分配點mid,如果Aski+1>=mid,則以mid為隊首high為隊尾(后半段)進行拆半查詢,反之,以low為隊首mid為隊尾(前半段)進行拆半查詢.如果整個隊列中都沒有空閑塊滿足Aski+1的需要,則重新組織隊列,再按照同樣的方法折半比較,該算法用偽碼表示如下:

        3 優(yōu)化后的最佳適應算法性能分析

        在查詢空閑分區(qū)的時候,采用順序查找法和折半查找法,所耗的時間不同[6],如果空閑塊數(shù)都為n,那么,順序查找法的時間消耗為k1=(n+1)/2,而折半記憶法可以表示成:

        從以上結(jié)論可以看出,k2遠小于k1,尤其是空閑塊數(shù)多,即n的值很大的情況下,折半法的效率比順序查找的效率高很多,如表1所示.

        表1 算法對比表

        從表1可以看出,采用折半記憶法的性能遠優(yōu)于順序比較法,因此,在最佳適應算法的基礎上,采用折半記憶法查詢空閑塊,優(yōu)化后的最佳適應算法能極大地提高了內(nèi)存空閑塊的分配效率,對增加系統(tǒng)的吞吐量有明顯的改善效果.

        4 總結(jié)

        采用拆半記憶法優(yōu)化后的最佳適應算法(BF),在查詢空閑塊時,不再采用順序比較,而采用折半法提高了查詢效率;同時后續(xù)進程申請空閑塊的時候增加了記憶功能,后續(xù)進程以前導進程的位置為端點形成新的空閑塊隊列,進一步縮小了查詢隊列長度.更大程度地提高了比較查詢的效率,從根本上降低了最佳適應算法原來的順序比較法較大的時間開銷,加快了空閑塊的分配速度,從而提高了內(nèi)存的工作效率.

        [1]程顯波.計算機的內(nèi)存管理與優(yōu)化[J].遼陽石油化工高等??茖W校學報,1999(3):51-54.

        [2]瞿朝成,祁建宏,海波,等.動態(tài)分區(qū)管理中空閑分區(qū)的鄰接性判斷及合并算法研究[J].電腦編程技巧與維護,2012(24):7-8.

        [3]吳冰.計算機內(nèi)存管理的優(yōu)化[J].電腦技術,1995,(2):41-43.

        [4]湯小丹,湯子贏.計算機操作系統(tǒng)[M].第三版.西安:西安電子科技大學出版社,2007.

        [5]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(C語言版)[M].北京:清華大學出版社, 1997.

        [6]張瓊聲,劉冬萍.操作系統(tǒng)內(nèi)核內(nèi)存分配算法的分析與性能評價[J].計算機系統(tǒng)應用,2007(1):40-44.

        【編校:王露】

        Application of Half and Memory Method to Optimize Best Fit Algorithm

        LI Bo
        (Computer and Information Engineering Faculty,Yibin University,Yibin,Sichuan 644007,China)

        Best Fit algorithm(BF)is a common way to cope with memory allocation;the current BF is inefficient especially in free memory block inquiring.Half and Memory method was applied to replace the linear query of BF in memory block requirement, moreover,distribution and memory strategy was added in the half and memory method to strengthen the function,which strengthens the efficiency in memory allocation and promotes the throughput of operating system.

        memory allocation;best fit algorithm;half;half and memory algorithm

        TP301.6

        A

        1671-5365(2014)06-0123-03

        2013-05-15修回:2014-04-04

        黎波(1977-),男,講師,碩士研究生,研究方向為計算機應用技術

        時間:2014-04-16 16:51

        http://www.cnki.net/kcms/detail/51.1630.Z.20140416.1651.009.html

        猜你喜歡
        空閑比較法記憶法
        恩賜
        詩選刊(2023年7期)2023-07-21 07:03:38
        比較法:立法的視角
        法律方法(2020年2期)2020-11-16 01:23:00
        “鳥”字謎
        小讀者之友(2019年9期)2019-09-10 07:22:44
        高中數(shù)學學習中公式的記憶法則
        彪悍的“寵”生,不需要解釋
        比較法學習Co和Co2
        咒語記憶法
        WLAN和LTE交通規(guī)則
        CHIP新電腦(2016年3期)2016-03-10 14:09:48
        超強記憶法
        管窺“浮沉比較法”在脈診中的應用
        亚洲无线码1区| 免费人成网ww555kkk在线| 精品无码一区二区三区亚洲桃色| 激情人妻在线视频| 中文字幕人妻乱码在线| 青青草国产在线视频自拍| 国产激情电影综合在线看| 欧美精品在线一区| 免费的黄网站精品久久| 免费人成视频网站在在线| 亚洲av无码精品蜜桃| 伊人久久综在合线亚洲不卡| 一区二区三区国产亚洲网站| 黄片视频免费在线播放观看| 久久久久国产一区二区| 久久精品国产免费观看99| 日本av第一区第二区| 欧美性高清另类videosex| 精品国内自产拍在线观看| 国产超碰人人一区二区三区| 91久久精品美女高潮喷白浆| 久久精品国产亚洲av香蕉| 亚洲熟妇无码av不卡在线播放| 国产一区二区三区杨幂| 极品一区二区在线视频| 亚洲七久久之综合七久久| 欧美午夜精品久久久久久浪潮| 午夜精品人妻中字字幕| 天堂8在线新版官网| 2019最新国产不卡a| 无码 免费 国产在线观看91| 精品一区二区三区婷婷| 精品人妻伦九区久久aaa片| 亚洲av美女在线播放啊| 国产亚洲av一线观看| 强开少妇嫩苞又嫩又紧九色 | 亚洲成a人网站在线看| 色婷婷精品午夜在线播放| 极品嫩模高潮叫床| 男人的天堂在线无码视频| 久久精品伊人久久精品伊人|