久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 進程與線(xian)程的空間(jian)問題

進程與線程的空間問(wen)題(ti) 時間:2014-11-29      來(lai)源(yuan):未知

這(zhe)兩天有同學(xue)問到進(jin)程線程的(de)(de)地(di)址(zhi)(zhi)空(kong)(kong)間的(de)(de)問題,提到在linux下(xia)每個(ge)進(jin)程單獨占有4G的(de)(de)虛擬(ni)地(di)址(zhi)(zhi)空(kong)(kong)間,而(er)這(zhe)個(ge)進(jin)程下(xia)的(de)(de)所有線程共享著(zhu)它(ta)的(de)(de)地(di)址(zhi)(zhi)空(kong)(kong)間。這(zhe)只是一個(ge)概(gai)念上的(de)(de)理(li)解,具(ju)體是怎么回事呢?

在(zai)(zai)(zai)說這個(ge)(ge)問(wen)題之前我(wo)們先說一下(xia)(xia)早期的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)管(guan)理(li)機(ji)(ji)(ji)(ji)(ji)制。在(zai)(zai)(zai)早期的(de)(de)(de)(de)(de)(de)(de)(de)計(ji)算(suan)機(ji)(ji)(ji)(ji)(ji)中(zhong),程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)都(dou)是(shi)(shi)直(zhi)(zhi)接運(yun)(yun)(yun)行(xing)(xing)(xing)在(zai)(zai)(zai)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)上的(de)(de)(de)(de)(de)(de)(de)(de),也(ye)就是(shi)(shi)說程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)中(zhong)訪問(wen)的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)地(di)址(zhi)都(dou)是(shi)(shi)實(shi)際(ji)的(de)(de)(de)(de)(de)(de)(de)(de)物(wu)理(li)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)地(di)址(zhi)。當(dang)(dang)計(ji)算(suan)機(ji)(ji)(ji)(ji)(ji)同(tong)時運(yun)(yun)(yun)行(xing)(xing)(xing)多(duo)個(ge)(ge)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)時,必(bi)須保(bao)證這些程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)用到的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)總量要(yao)小(xiao)(xiao)于(yu)計(ji)算(suan)機(ji)(ji)(ji)(ji)(ji)實(shi)際(ji)物(wu)理(li)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)的(de)(de)(de)(de)(de)(de)(de)(de)大(da)(da)(da)小(xiao)(xiao)。那當(dang)(dang)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)同(tong)時運(yun)(yun)(yun)行(xing)(xing)(xing)多(duo)個(ge)(ge)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)時,操作系(xi)統順次向下(xia)(xia)分(fen)(fen)配物(wu)理(li)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)地(di)址(zhi)例如(ru)一臺計(ji)算(suan)機(ji)(ji)(ji)(ji)(ji)的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)大(da)(da)(da)小(xiao)(xiao)是(shi)(shi)128M,現在(zai)(zai)(zai)同(tong)時運(yun)(yun)(yun)行(xing)(xing)(xing)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)A和B,A需(xu)(xu)占用內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)30M,B需(xu)(xu)占用內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)60M。計(ji)算(suan)機(ji)(ji)(ji)(ji)(ji)在(zai)(zai)(zai)給(gei)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)分(fen)(fen)配內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)時先將(jiang)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)中(zhong)的(de)(de)(de)(de)(de)(de)(de)(de)前30M分(fen)(fen)配給(gei)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)A,接著再(zai)(zai)從內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)中(zhong)剩余的(de)(de)(de)(de)(de)(de)(de)(de)98M中(zhong)劃分(fen)(fen)出(chu)60M分(fen)(fen)配給(gei)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)B。這種分(fen)(fen)配方法可以保(bao)證程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)A和程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)B都(dou)能(neng)運(yun)(yun)(yun)行(xing)(xing)(xing),但是(shi)(shi)這種簡(jian)單的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)分(fen)(fen)配策(ce)略(lve)問(wen)題很多(duo)。首先進程(cheng)(cheng)(cheng)地(di)址(zhi)空間(jian)(jian)(jian)不(bu)隔離(li)。由(you)于(yu)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)都(dou)是(shi)(shi)直(zhi)(zhi)接訪問(wen)物(wu)理(li)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun),惡(e)意程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)可以很容統修改別(bie)的(de)(de)(de)(de)(de)(de)(de)(de)進程(cheng)(cheng)(cheng)的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)數據(ju),以達(da)到破壞的(de)(de)(de)(de)(de)(de)(de)(de)目的(de)(de)(de)(de)(de)(de)(de)(de)。即使是(shi)(shi)非惡(e)意的(de)(de)(de)(de)(de)(de)(de)(de),但是(shi)(shi)有bug的(de)(de)(de)(de)(de)(de)(de)(de)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)也(ye)可能(neng)不(bu)小(xiao)(xiao)心修改了其(qi)(qi)(qi)它程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)數據(ju),就會(hui)導致其(qi)(qi)(qi)它程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)的(de)(de)(de)(de)(de)(de)(de)(de)運(yun)(yun)(yun)行(xing)(xing)(xing)出(chu)現異(yi)常。其(qi)(qi)(qi)中(zhong)一個(ge)(ge)任務失敗(bai)了,可能(neng)也(ye)會(hui)影響其(qi)(qi)(qi)它的(de)(de)(de)(de)(de)(de)(de)(de)任務。其(qi)(qi)(qi)次是(shi)(shi)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)運(yun)(yun)(yun)行(xing)(xing)(xing)的(de)(de)(de)(de)(de)(de)(de)(de)地(di)址(zhi)不(bu)確定。當(dang)(dang)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)中(zhong)的(de)(de)(de)(de)(de)(de)(de)(de)剩余空間(jian)(jian)(jian)可以滿足程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)C的(de)(de)(de)(de)(de)(de)(de)(de)要(yao)求后,操作系(xi)統會(hui)在(zai)(zai)(zai)剩余空間(jian)(jian)(jian)中(zhong)隨機(ji)(ji)(ji)(ji)(ji)分(fen)(fen)配一段連續的(de)(de)(de)(de)(de)(de)(de)(de)20M大(da)(da)(da)小(xiao)(xiao)的(de)(de)(de)(de)(de)(de)(de)(de)空間(jian)(jian)(jian)給(gei)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)C使用,因為(wei)是(shi)(shi)隨機(ji)(ji)(ji)(ji)(ji)分(fen)(fen)配的(de)(de)(de)(de)(de)(de)(de)(de),所(suo)以程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)運(yun)(yun)(yun)行(xing)(xing)(xing)的(de)(de)(de)(de)(de)(de)(de)(de)地(di)址(zhi)是(shi)(shi)不(bu)確定的(de)(de)(de)(de)(de)(de)(de)(de)。內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)使用效率(lv)低。在(zai)(zai)(zai)A和B都(dou)運(yun)(yun)(yun)行(xing)(xing)(xing)的(de)(de)(de)(de)(de)(de)(de)(de)情況下(xia)(xia),如(ru)果(guo)用戶又運(yun)(yun)(yun)行(xing)(xing)(xing)了程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)C,而程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)C需(xu)(xu)要(yao)20M大(da)(da)(da)小(xiao)(xiao)的(de)(de)(de)(de)(de)(de)(de)(de)內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)才能(neng)運(yun)(yun)(yun)行(xing)(xing)(xing),而此時系(xi)統只剩下(xia)(xia)8M的(de)(de)(de)(de)(de)(de)(de)(de)空間(jian)(jian)(jian)可供使用,所(suo)以此時系(xi)統必(bi)須在(zai)(zai)(zai)已運(yun)(yun)(yun)行(xing)(xing)(xing)的(de)(de)(de)(de)(de)(de)(de)(de)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)中(zhong)選(xuan)擇(ze)一個(ge)(ge)將(jiang)該程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)的(de)(de)(de)(de)(de)(de)(de)(de)數據(ju)暫(zan)時拷(kao)貝到硬盤上,釋放出(chu)部分(fen)(fen)空間(jian)(jian)(jian)來供程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)C使用,然后再(zai)(zai)將(jiang)程(cheng)(cheng)(cheng)序(xu)(xu)(xu)(xu)(xu)C的(de)(de)(de)(de)(de)(de)(de)(de)數據(ju)全部裝入內(nei)(nei)(nei)(nei)(nei)存(cun)(cun)(cun)(cun)中(zhong)運(yun)(yun)(yun)行(xing)(xing)(xing)。可以想象得到,在(zai)(zai)(zai)這個(ge)(ge)過(guo)程(cheng)(cheng)(cheng)中(zhong),有大(da)(da)(da)量的(de)(de)(de)(de)(de)(de)(de)(de)數據(ju)在(zai)(zai)(zai)裝入裝出(chu),導致效率(lv)十分(fen)(fen)低下(xia)(xia)。

為了(le)解決(jue)上述(shu)問題,人們設(she)計了(le)間接(jie)的地(di)址(zhi)訪問方(fang)法(fa)訪問物(wu)理(li)(li)(li)內(nei)存(cun)。按照這(zhe)種方(fang)法(fa),程序中(zhong)訪問的內(nei)存(cun)地(di)址(zhi)不(bu)再是實際的物(wu)理(li)(li)(li)內(nei)存(cun)地(di)址(zhi),而(er)是一個虛擬地(di)址(zhi),然(ran)后由(you)操(cao)作系(xi)(xi)統將這(zhe)個虛擬地(di)址(zhi)映(ying)射到(dao)適(shi)當的物(wu)理(li)(li)(li)內(nei)存(cun)地(di)址(zhi)上。這(zhe)樣(yang),只要操(cao)作系(xi)(xi)統處(chu)理(li)(li)(li)好虛擬地(di)址(zhi)到(dao)物(wu)理(li)(li)(li)內(nei)存(cun)地(di)址(zhi)的映(ying)射,就可(ke)以(yi)保證不(bu)同的程序終訪問的內(nei)存(cun)地(di)址(zhi)位于不(bu)同的區域,彼此沒(mei)有(you)重疊,就可(ke)以(yi)達(da)到(dao)內(nei)存(cun)地(di)址(zhi)空間隔(ge)離的效果。

當(dang)創(chuang)建一(yi)(yi)(yi)個進(jin)(jin)程(cheng)(cheng)時(shi)(shi),操(cao)作(zuo)(zuo)系統(tong)會(hui)為(wei)該進(jin)(jin)程(cheng)(cheng)分配一(yi)(yi)(yi)個4GB大小的(de)(de)(de)(de)虛(xu)(xu)(xu)擬(ni)進(jin)(jin)程(cheng)(cheng)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)。之所(suo)以是(shi)(shi)(shi)(shi)4GB,是(shi)(shi)(shi)(shi)因為(wei)在(zai)32位的(de)(de)(de)(de)操(cao)作(zuo)(zuo)系統(tong)中(zhong)(zhong)(zhong),一(yi)(yi)(yi)個指針長度是(shi)(shi)(shi)(shi)4字(zi)節(64位系統(tong)是(shi)(shi)(shi)(shi)8字(zi)節,由cpu的(de)(de)(de)(de)尋址(zhi)(zhi)(zhi)(zhi)位數(shu)決定(ding)),而4字(zi)節指針的(de)(de)(de)(de)尋址(zhi)(zhi)(zhi)(zhi)能力是(shi)(shi)(shi)(shi)從0x00000000~0xFFFFFFFF,大值(zhi)(zhi)0xFFFFFFFF表示的(de)(de)(de)(de)即(ji)為(wei)4GB大小的(de)(de)(de)(de)容(rong)量。與虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)相(xiang)(xiang)對的(de)(de)(de)(de),還(huan)有一(yi)(yi)(yi)個物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian),這(zhe)(zhe)(zhe)個地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)對應(ying)的(de)(de)(de)(de)是(shi)(shi)(shi)(shi)真實(shi)(shi)(shi)的(de)(de)(de)(de)物(wu)(wu)理(li)(li)內(nei)存(cun)。如果你的(de)(de)(de)(de)計算(suan)機(ji)上(shang)安裝了1G大小的(de)(de)(de)(de)內(nei)存(cun),那么這(zhe)(zhe)(zhe)個物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)表示的(de)(de)(de)(de)范圍是(shi)(shi)(shi)(shi)0x00000000~0x3FFFFFFF。當(dang)操(cao)作(zuo)(zuo)系統(tong)做(zuo)(zuo)虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)到(dao)(dao)物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)映(ying)射時(shi)(shi),只(zhi)能映(ying)射到(dao)(dao)這(zhe)(zhe)(zhe)一(yi)(yi)(yi)范圍。當(dang)進(jin)(jin)程(cheng)(cheng)創(chuang)建時(shi)(shi),每(mei)個進(jin)(jin)程(cheng)(cheng)都會(hui)有一(yi)(yi)(yi)個自己(ji)的(de)(de)(de)(de)4GB虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)。要注意(yi)的(de)(de)(de)(de)是(shi)(shi)(shi)(shi)這(zhe)(zhe)(zhe)個4GB的(de)(de)(de)(de)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)是(shi)(shi)(shi)(shi)"虛(xu)(xu)(xu)擬(ni)"的(de)(de)(de)(de),并(bing)不(bu)是(shi)(shi)(shi)(shi)真實(shi)(shi)(shi)存(cun)在(zai)的(de)(de)(de)(de),而且每(mei)個進(jin)(jin)程(cheng)(cheng)只(zhi)能訪(fang)問自己(ji)虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)中(zhong)(zhong)(zhong)的(de)(de)(de)(de)數(shu)據(ju),無法訪(fang)問別的(de)(de)(de)(de)進(jin)(jin)程(cheng)(cheng)中(zhong)(zhong)(zhong)的(de)(de)(de)(de)數(shu)據(ju),通(tong)過(guo)這(zhe)(zhe)(zhe)種(zhong)方(fang)法實(shi)(shi)(shi)現了進(jin)(jin)程(cheng)(cheng)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)的(de)(de)(de)(de)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)隔離。實(shi)(shi)(shi)際(ji)上(shang)也(ye)是(shi)(shi)(shi)(shi)增加了地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian),在(zai)這(zhe)(zhe)(zhe)4G中(zhong)(zhong)(zhong)還(huan)分為(wei)用(yong)戶空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)和系統(tong)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian),用(yong)戶態時(shi)(shi)候(hou)進(jin)(jin)程(cheng)(cheng)只(zhi)能訪(fang)問用(yong)戶空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)(內(nei)核(he)態時(shi)(shi)候(hou)既可以訪(fang)問用(yong)戶空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)也(ye)可以訪(fang)問系統(tong)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian))。這(zhe)(zhe)(zhe)只(zhi)是(shi)(shi)(shi)(shi)解決了地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)問題,實(shi)(shi)(shi)際(ji)進(jin)(jin)程(cheng)(cheng)的(de)(de)(de)(de)運(yun)(yun)行還(huan)是(shi)(shi)(shi)(shi)要在(zai)真實(shi)(shi)(shi)的(de)(de)(de)(de)內(nei)存(cun)上(shang),所(suo)以,必須在(zai)虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)與物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)建立一(yi)(yi)(yi)種(zhong)映(ying)射關系。這(zhe)(zhe)(zhe)樣(yang),通(tong)過(guo)映(ying)射機(ji)制,當(dang)程(cheng)(cheng)序(xu)訪(fang)問虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)上(shang)的(de)(de)(de)(de)某個地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)值(zhi)(zhi)時(shi)(shi),就相(xiang)(xiang)當(dang)于(yu)訪(fang)問了物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)中(zhong)(zhong)(zhong)的(de)(de)(de)(de)另一(yi)(yi)(yi)個值(zhi)(zhi)。人們采用(yong)分段(duan)(Sagmentation)的(de)(de)(de)(de)方(fang)法,它的(de)(de)(de)(de)思想是(shi)(shi)(shi)(shi)在(zai)虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)和物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)之間(jian)(jian)(jian)(jian)(jian)(jian)(jian)做(zuo)(zuo)一(yi)(yi)(yi)一(yi)(yi)(yi)映(ying)射。比如說(shuo)虛(xu)(xu)(xu)擬(ni)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)中(zhong)(zhong)(zhong)某個10M大小的(de)(de)(de)(de)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)映(ying)射到(dao)(dao)物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)中(zhong)(zhong)(zhong)某個10M大小的(de)(de)(de)(de)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)。這(zhe)(zhe)(zhe)種(zhong)思想理(li)(li)解起(qi)來并(bing)不(bu)難,操(cao)作(zuo)(zuo)系統(tong)保(bao)證不(bu)同進(jin)(jin)程(cheng)(cheng)的(de)(de)(de)(de)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)被(bei)映(ying)射到(dao)(dao)物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)中(zhong)(zhong)(zhong)不(bu)同的(de)(de)(de)(de)區域上(shang),這(zhe)(zhe)(zhe)樣(yang)每(mei)個進(jin)(jin)程(cheng)(cheng)終訪(fang)問到(dao)(dao)的(de)(de)(de)(de)物(wu)(wu)理(li)(li)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)空(kong)(kong)(kong)(kong)(kong)(kong)(kong)(kong)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)都是(shi)(shi)(shi)(shi)彼此分開的(de)(de)(de)(de)。通(tong)過(guo)這(zhe)(zhe)(zhe)種(zhong)方(fang)式,就實(shi)(shi)(shi)現了進(jin)(jin)程(cheng)(cheng)間(jian)(jian)(jian)(jian)(jian)(jian)(jian)的(de)(de)(de)(de)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)隔離。在(zai)做(zuo)(zuo)開發時(shi)(shi),開發人員(yuan)只(zhi)需訪(fang)問這(zhe)(zhe)(zhe)段(duan)虛(xu)(xu)(xu)擬(ni)區間(jian)(jian)(jian)(jian)(jian)(jian)(jian)上(shang)的(de)(de)(de)(de)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)即(ji)可。應(ying)用(yong)程(cheng)(cheng)序(xu)并(bing)不(bu)關心(xin)進(jin)(jin)程(cheng)(cheng)的(de)(de)(de)(de)這(zhe)(zhe)(zhe)段(duan)地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)究竟被(bei)映(ying)射到(dao)(dao)物(wu)(wu)理(li)(li)內(nei)存(cun)的(de)(de)(de)(de)那塊區域上(shang)了,所(suo)以程(cheng)(cheng)序(xu)的(de)(de)(de)(de)運(yun)(yun)行地(di)(di)(di)(di)(di)(di)(di)址(zhi)(zhi)(zhi)(zhi)也(ye)就是(shi)(shi)(shi)(shi)相(xiang)(xiang)當(dang)于(yu)說(shuo)是(shi)(shi)(shi)(shi)確定(ding)的(de)(de)(de)(de)了。

但是這種(zhong)分段(duan)的(de)映射方法(fa)并沒有解決內(nei)存(cun)(cun)的(de)使用效(xiao)率問題。在分段(duan)的(de)映射方法(fa)中,每(mei)次(ci)換入換出內(nei)存(cun)(cun)的(de)都是整(zheng)個程序,這樣會造(zao)成(cheng)大量的(de)磁盤(pan)訪(fang)問操作,導致效(xiao)率低下。基于這種(zhong)情況,人們想(xiang)到了內(nei)存(cun)(cun)分割和映射方法(fa),這種(zhong)方法(fa)就(jiu)是分頁(Paging)。

分(fen)(fen)頁(ye)的(de)(de)(de)(de)(de)基本方法(fa)是(shi),將地(di)(di)址(zhi)空(kong)間(jian)(jian)(jian)分(fen)(fen)成許多的(de)(de)(de)(de)(de)頁(ye)。每(mei)頁(ye)的(de)(de)(de)(de)(de)大(da)小(xiao)由CPU決定,然后由操(cao)作系統選擇頁(ye)的(de)(de)(de)(de)(de)大(da)小(xiao)。目(mu)前Inter系列(lie)的(de)(de)(de)(de)(de)CPU支(zhi)持4KB或4MB的(de)(de)(de)(de)(de)頁(ye)大(da)小(xiao),而PC上目(mu)前都選擇使用(yong)(yong)4KB。按這(zhe)(zhe)種選擇,4GB虛(xu)擬(ni)(ni)地(di)(di)址(zhi)空(kong)間(jian)(jian)(jian)共可(ke)(ke)以分(fen)(fen)成1048576個頁(ye),512M的(de)(de)(de)(de)(de)物(wu)(wu)理(li)(li)內(nei)(nei)存(cun)(cun)(cun)可(ke)(ke)以分(fen)(fen)為(wei)131072個頁(ye)。顯然虛(xu)擬(ni)(ni)空(kong)間(jian)(jian)(jian)的(de)(de)(de)(de)(de)頁(ye)數(shu)要比物(wu)(wu)理(li)(li)空(kong)間(jian)(jian)(jian)的(de)(de)(de)(de)(de)頁(ye)數(shu)多得多。 在分(fen)(fen)段的(de)(de)(de)(de)(de)方法(fa)中(zhong),每(mei)次程(cheng)序(xu)運(yun)行(xing)(xing)時總是(shi)把程(cheng)序(xu)全部(bu)裝入內(nei)(nei)存(cun)(cun)(cun),而分(fen)(fen)頁(ye)的(de)(de)(de)(de)(de)方法(fa)則有所不同。分(fen)(fen)頁(ye)的(de)(de)(de)(de)(de)思想(xiang)是(shi)程(cheng)序(xu)運(yun)行(xing)(xing)時用(yong)(yong)到(dao)哪頁(ye)就為(wei)哪頁(ye)分(fen)(fen)配(pei)內(nei)(nei)存(cun)(cun)(cun),沒用(yong)(yong)到(dao)的(de)(de)(de)(de)(de)頁(ye)暫時保留在硬盤上。當用(yong)(yong)到(dao)這(zhe)(zhe)些頁(ye)時再在物(wu)(wu)理(li)(li)地(di)(di)址(zhi)空(kong)間(jian)(jian)(jian)中(zhong)為(wei)這(zhe)(zhe)些頁(ye)分(fen)(fen)配(pei)內(nei)(nei)存(cun)(cun)(cun),然后建立(li)虛(xu)擬(ni)(ni)地(di)(di)址(zhi)空(kong)間(jian)(jian)(jian)中(zhong)的(de)(de)(de)(de)(de)頁(ye)和(he)剛分(fen)(fen)配(pei)的(de)(de)(de)(de)(de)物(wu)(wu)理(li)(li)內(nei)(nei)存(cun)(cun)(cun)頁(ye)間(jian)(jian)(jian)的(de)(de)(de)(de)(de)映射(she)。用(yong)(yong)這(zhe)(zhe)樣的(de)(de)(de)(de)(de)方法(fa)程(cheng)序(xu)可(ke)(ke)以使用(yong)(yong)一(yi)系列(lie)虛(xu)擬(ni)(ni)地(di)(di)址(zhi)來訪問大(da)于可(ke)(ke)用(yong)(yong)物(wu)(wu)理(li)(li)內(nei)(nei)存(cun)(cun)(cun)的(de)(de)(de)(de)(de)內(nei)(nei)存(cun)(cun)(cun)緩沖區。當物(wu)(wu)理(li)(li)內(nei)(nei)存(cun)(cun)(cun)的(de)(de)(de)(de)(de)供應(ying)量變小(xiao)時,內(nei)(nei)存(cun)(cun)(cun)管(guan)理(li)(li)器(qi)會將物(wu)(wu)理(li)(li)內(nei)(nei)存(cun)(cun)(cun)頁(ye)(通(tong)常大(da)小(xiao)為(wei) 4 KB)保存(cun)(cun)(cun)到(dao)磁(ci)盤文(wen)件。數(shu)據或代碼頁(ye)會根(gen)據需要在物(wu)(wu)理(li)(li)內(nei)(nei)存(cun)(cun)(cun)與磁(ci)盤之(zhi)間(jian)(jian)(jian)移(yi)動。這(zhe)(zhe)具(ju)體和(he)系統對內(nei)(nei)存(cun)(cun)(cun)的(de)(de)(de)(de)(de)管(guan)理(li)(li)和(he)對進程(cheng)的(de)(de)(de)(de)(de)調度有關。

上一篇:M0傳感器新板子

下一篇:WindowsPhone自定義控件詳解(一) - 控件類庫分析

熱(re)點文章推薦
華(hua)清(qing)學員就業榜(bang)單
高薪學員經驗分享
熱(re)點新聞推薦
前臺專線:010-82525158 企業培訓洽談專(zhuan)線(xian):010-82525379 院校合作洽(qia)談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部