久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

聊一聊Linux虛擬內(nèi)存技術(shù)

2021-03-05    分類: 網(wǎng)站建設(shè)

以存儲單元為單位來管理顯然不現(xiàn)實,因此Linux把虛存

為了使系統(tǒng)可以正確的訪問虛存頁在對應(yīng)頁框中的映像,在把一個頁映射到某個頁框上的同時,就必須把頁碼和存放該頁映像的頁框碼填入一個叫做 頁表的表項中。這個頁表就是之前提到的映射記錄表。一個頁表的示意圖如下所示:

頁模式下,虛擬地址、物理地址轉(zhuǎn)換關(guān)系的示意圖如下所示:

也就是說:處理器遇到的地址都是虛擬地址。虛擬地址和物理地址都分成頁碼(頁框碼)和偏移值兩部分。在由虛擬地址轉(zhuǎn)化成物理地址的過程中,偏移值不變。而頁碼和頁框碼之間的映射就在一個映射記錄表——頁表中。

請頁與交換

虛存頁面到物理頁框的映射叫做頁面的 加載。

當(dāng)處理器試圖訪問一個虛存頁面時,首先到頁表中去查詢該頁是否已映射到物理頁框中,并記錄在頁表中。如果在,則MMU會把頁碼轉(zhuǎn)換成頁框碼,并加上虛擬地址提供的頁內(nèi)偏移量形成物理地址后去訪問物理內(nèi)存;如果不在,則意味著該虛存頁面還沒有被載入內(nèi)存,這時MMU就會通知操作系統(tǒng):發(fā)生了一個頁面訪問錯誤(頁面錯誤),接下來系統(tǒng)會啟動所謂的“請頁”機制,即調(diào)用相應(yīng)的系統(tǒng)操作函數(shù),判斷該虛擬地址是否為有效地址。

如果是 有效的地址,就從虛擬內(nèi)存中將該地址指向的頁面讀入到內(nèi)存中的一個空閑頁框中,并在頁表中添加上相對應(yīng)的表項,最后處理器將從發(fā)生頁面錯誤的地方重新開始運行;如果是 無效的地址,則表明進程在試圖訪問一個不存在的虛擬地址,此時操作系統(tǒng)將終止此次訪問。

當(dāng)然,也存在這樣的情況:在請頁成功之后,內(nèi)存中已沒有空閑物理頁框了。這是,系統(tǒng)必須啟動所謂地 交換機制,即調(diào)用相應(yīng)的內(nèi)核操作函數(shù),在物理頁框中尋找一個當(dāng)前不再使用或者近期可能不會用到的頁面所占據(jù)的頁框。找到后,就把其中的頁移出,以裝載新的頁面。對移出頁面根據(jù)兩種情況來處理:如果該頁未被修改過,則刪除它;如果該頁曾經(jīng)被修改過,則系統(tǒng)必須將該頁寫回輔存。

系統(tǒng)請頁的處理過程如下所示:

為了公平地選擇將要從系統(tǒng)中拋棄的頁面,Linux系統(tǒng)使用 最近最少使用(LRU)頁面的衰老算法。這種策略根據(jù)系統(tǒng)中每個頁面被訪問的頻率,為物理頁框中的頁面設(shè)置了一個叫做 年齡的屬性。頁面被訪問的次數(shù)越多,則頁面的年齡最小;相反,則越大。而年齡較大的頁面就是待換出頁面的好候選者。

快表

在系統(tǒng)每次訪問虛存頁時,都要在內(nèi)存的所有頁表中尋找該頁的頁框,這是一個很費時間的工作。但是,人們發(fā)現(xiàn),系統(tǒng)一旦訪問了某一個頁,那么系統(tǒng)就會在一段時間內(nèi)穩(wěn)定地工作在這個頁上。所以,為了提高訪問頁表的速度,系統(tǒng)還配備了一組正好能容納一個頁表的 硬件寄存器,這樣當(dāng)系統(tǒng)再訪問虛存時,就首先到這組硬件寄存器中去訪問,系統(tǒng)速度就快多了。這組存放當(dāng)前頁表的寄存器叫做 快表。

總之,使用虛擬存儲技術(shù)時,處理器必須配備一些硬件來承擔(dān)內(nèi)存管理的一部分任務(wù)。承擔(dān)內(nèi)存管理任務(wù)的硬件部分叫做存儲管理單元MMU。存儲管理單元MMU的工作過程如下圖所示:

頁的共享

在多程序系統(tǒng)中,常常有多個程序需要共享同一段代碼或數(shù)據(jù)的情況。在分頁管理的存儲器中,這個事情很好辦:讓多個程序共享同一個頁面即可。

具體的方法是:使這些相關(guān)程序的

頁的保護

由上可知,頁表實際上是由

注意:其中的PCD位表示著是否允許高速緩存(cache)。

如果程序?qū)σ粋€頁試圖進行一個該頁控制字段所不允許的操作,則會引起操作系統(tǒng)的一次中斷——非法訪問中斷,并拒絕這種操作,從而保護該頁的內(nèi)容不被破壞。

多級頁表

需要注意的是,頁表是操作系統(tǒng)創(chuàng)建的用于內(nèi)存管理的表格。因此,一個程序在運行時,其頁表也要存放到內(nèi)存

當(dāng)然,如果程序的

為了應(yīng)用上的靈活,Linux使用一系列的宏來掩蓋各種平臺的細節(jié)。用戶可以在配置文件 config中根據(jù)自己的需要對頁表進行配置,以決定是使用三級頁表還是使用二級頁表。

在系統(tǒng)編譯時,會根據(jù)配置文件 config中的配置,把目錄 include/asm符號連接到具體CPU專用的文件目錄中。例如,對于i386CPU,該目錄符號會連接到include/asm-i386,并在文件pgable-2level-defs.h中定義了二級頁表的基本結(jié)構(gòu),如下圖:

其中還定義了:

  1. #define?PGDIR_SHIFT??22 //PGD在線性地址中的起始地址為bit22?
  2. #define?PTRS_PER_PGD??1024? //PGD共有1024個表項?
  3. ??????????????????????
  4. #define?PTRS_PER_PTE??1024? //PTE共有1024個表項?
  5. #endif?

在文件include/asm-i386/pgtable.h中定義了頁目錄和頁表項的數(shù)據(jù)結(jié)構(gòu),如下:

  1. typedof?struct?{?unsigned?long?pte_low;?}??pte_t?;?????????????????????//頁表中的物理地址,頁框碼?
  2. typedof?struct?{?unsigned?long?pgd;?}??pgd_t?;?????????????????????????//指向一個頁表?
  3. typedof?struct?{?unsigned?long?pgprot;?}??pgprot_t?;???????????????????//頁表中的各個狀態(tài)信息和訪問權(quán)限?

從定義可知,它們都是只有一個 長整型類型(32位)的結(jié)構(gòu)體。

注意:如上文的“頁的保護”部分,頁框碼代表物理地址,只需要高20位就夠了(因為頁框的長度為4KB,因此頁內(nèi)偏移12位)。而后12位可以存放各個狀態(tài)信息和訪問權(quán)限。但是Linux并沒有這樣做,反而重新定義了一個結(jié)構(gòu)體來存放,通過“或”運算來將兩者結(jié)合。

網(wǎng)站名稱:聊一聊Linux虛擬內(nèi)存技術(shù)
標題路徑:http://www.js-pz168.com/news1/104401.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈品牌網(wǎng)站設(shè)計小程序開發(fā)外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
日韩午夜激情免费电影| 国产精品久99| 亚洲欧美日本在线| 视频一区二区国产| 成人蜜臀av电影| 美乳视频一区二区| 欧美精品日韩一区| 国产精品不卡在线观看| 蜜臀久久久久久久| 91免费精品国自产拍在线不卡| 欧美一区二区视频17c| 欧美精品乱码久久久久久按摩| 欧美韩日一区二区三区| 日韩电影在线观看一区| 久久人人97超碰com| 午夜成人免费视频| a亚洲天堂av| 一区二区三区av在线| 精品国产乱码久久久久久久| 亚洲午夜精品在线| 成人高清av在线| 日韩亚洲不卡在线| 精品国产亚洲在线| 五月天激情综合| av成人动漫在线观看| 一级特黄录像免费播放全99| 久久人人爽人人爽| 免费的成人av| 精品国产免费一区二区三区| 欧美日韩国产一级片| 亚洲欧美日韩人成在线播放| 国产精品一区二区视频| 日本一区视频在线| 2020国产精品自拍| 日韩av电影免费观看高清完整版在线观看| 91啦中文在线观看| 欧美亚日韩国产aⅴ精品中极品| 国产精品萝li| 国产精品亚洲第一| 亚洲成人a**址| 日韩欧美国产二区| 精品久久久久久久人人人人传媒| 午夜日韩在线观看| 国产精品一区二区在线观看| 欧美日产国产精品| 亚洲一级二级在线| 国产精品12| 日韩一区二区在线观看视频播放| 亚洲成人7777| 国产精品免费观看高清| 91精品国产aⅴ一区二区| 亚洲va中文字幕| 国产欧美在线一区二区| 欧美岛国在线观看| 奇米色一区二区三区四区| 久久久久一区二区| 久久影院视频免费| 国产一区二区在线看| 亚洲一区二区免费视频软件合集| 日本一区二区三区在线不卡 | 久热国产精品视频一区二区三区| 日韩一区二区在线看| 欧美aaaaaa午夜精品| 欧美尤物一区| 国产精品女同一区二区三区| 日本 国产 欧美色综合| 女女同性女同一区二区三区91 | 成人黄色小视频在线观看| 色婷婷av一区二区| 一区二区三区国产| 精品国产乱码久久久久久88av | 亚洲日本va午夜在线影院| 99精品视频在线观看免费| 欧美二区在线观看| 美国毛片一区二区三区| 亚洲精品日韩在线观看| 一本久久a久久精品vr综合| 亚洲欧洲99久久| 91久久精品国产91久久性色tv| 欧美一区二区三区爱爱| 久久99国产乱子伦精品免费| 亚洲欧美日韩精品久久久 | 精品少妇一区二区三区在线视频 | 欧美无乱码久久久免费午夜一区 | 一区二区三区四区国产| 一区二区欧美精品| 久久久久久久久久码影片| 日本一区二区三区电影| 粉嫩av一区二区三区| 3751色影院一区二区三区| 另类专区欧美蜜桃臀第一页| 一本大道久久a久久精品综合| 亚洲成年人影院| 日韩三级电影| 一区二区高清在线| 日本一区视频在线播放| 亚洲美女在线国产| 欧美国产二区| 亚洲精品国产视频| 久久久久久国产精品mv| 最新欧美精品一区二区三区| 国产精品一级久久久| 国产精品人妖ts系列视频| 动漫一区二区在线| 国产精品狼人久久影院观看方式| 国产精品.com| 亚洲欧美在线aaa| 久久一区二区三区av| 亚洲人被黑人高潮完整版| 农村寡妇一区二区三区| 一片黄亚洲嫩模| 色999五月色| 天天色天天爱天天射综合| 中文有码久久| 六月婷婷色综合| 91精品国产色综合久久久蜜香臀| 国产精品一卡二卡| 日韩免费电影一区| 99久久精品免费精品国产| 国产亚洲女人久久久久毛片| 成人av免费看| 亚洲色图.com| 水蜜桃一区二区三区| 日本一不卡视频| 欧美日韩国产小视频| 国产成人三级在线观看| 久久综合色之久久综合| 成人动漫在线视频| 亚洲欧美日韩在线| 亚洲精品一区二区三区四区五区| 日韩精品一二三| 欧美另类久久久品| av激情综合网| 国产精品初高中害羞小美女文| 欧美极品一区二区| 日韩精品免费专区| 欧美精品自拍偷拍| 91亚洲午夜精品久久久久久| 国产精品久久久爽爽爽麻豆色哟哟 | 在线电影欧美成精品| 99久久婷婷国产综合精品| 亚洲国产精品t66y| 日产精品高清视频免费| 美国毛片一区二区三区| 日韩写真欧美这视频| 官网99热精品| 亚洲一二三四区不卡| 欧美午夜一区二区| 成人黄页毛片网站| √…a在线天堂一区| 在线综合视频网站| 国产成人免费在线视频| 国产欧美一区二区精品久导航 | 欧美一区在线视频| 成人蜜桃视频| 亚洲小说春色综合另类电影| 欧美少妇bbb| 99久久精品国产毛片| 亚洲视频资源在线| 在线一区二区三区四区| www.欧美日韩国产在线| 亚洲欧美综合色| 91福利在线播放| 99精品视频在线播放观看| 亚洲精品视频免费看| 欧美日韩激情在线| 粉嫩av四季av绯色av第一区| 亚洲丶国产丶欧美一区二区三区| 欧美另类变人与禽xxxxx| www.成人av.com| 婷婷国产v国产偷v亚洲高清| 日韩午夜在线影院| 免费看成人片| 国模冰冰炮一区二区| 亚洲国产精品精华液2区45| 在线成人av电影| av亚洲精华国产精华精华 | 国产一区在线观看麻豆| 国产精品色婷婷| 欧美亚洲一区三区| 99久久国产免费免费| 日韩中文字幕亚洲一区二区va在线 | 久久精品人人做人人爽97| 亚洲精品影院| 99久久精品国产观看| 亚洲福利一区二区| 精品久久久久久无| 亚洲精品一区二区三区四区五区| 久久久久久久久久久久久女国产乱 | 国产精品久久久久天堂| 欧美视频在线不卡| 国产一区二区三区四区五区在线| 看电影不卡的网站| 中文字幕av资源一区| 欧美自拍丝袜亚洲| 精品久久久久久乱码天堂| 国内精品久久久久影院薰衣草| 18欧美乱大交hd1984| 制服丝袜亚洲色图| 日韩精品久久久免费观看 |