內(nèi)存尋址一直都是不少同學(xué)Linux學(xué)習(xí)的難點(diǎn),今天,就讓我們來(lái)看看千鋒互聯(lián)的老師是怎么講的吧!
Q1.什么是物理地址?什么是虛地址?什么是線性地址?
A:1)將主板上的物理內(nèi)存條所提供的內(nèi)存空間定義為物理內(nèi)存空間,其中每個(gè)內(nèi)存單元的實(shí)際地址就是物理地址;
2)將應(yīng)用程序員看到的內(nèi)存空間定義為虛擬地址空間(或地址空間),其中的地址就叫做虛擬地址(或虛地址),一般用“段:偏移量”的形式來(lái)描述,如A815:CF2D;
3)線性地址空間是指一段連續(xù)的、不分段的、范圍為0~4GB的地址空間,一個(gè)線性地址就是線性地址空間的一個(gè)絕對(duì)地址。
Q2.在保護(hù)模式下,MMU如何把一個(gè)虛地址轉(zhuǎn)換為物理地址?
A:在保護(hù)模式下,內(nèi)存管理單元(MMU)由一個(gè)或一組芯片組成,其功能是指虛擬地址映射為物理地址,即進(jìn)行地址轉(zhuǎn)換;MMU是一種硬件電路,它包含分段部件和分頁(yè)部件兩個(gè)部件,分別叫做分段機(jī)制和分頁(yè)機(jī)制,分段機(jī)制是把一個(gè)虛擬地址轉(zhuǎn)換為線性地址,分頁(yè)機(jī)制是把一個(gè)線性地址轉(zhuǎn)換為物理地址。
Q3.為什么對(duì)32位線性地址空間要采用兩級(jí)頁(yè)表?
A:頁(yè)表是把線性地址映射到物理地址的一種數(shù)據(jù)結(jié)構(gòu),4GB的線性空間可以被劃分為1M個(gè)4KB大小的頁(yè),每個(gè)頁(yè)表項(xiàng)占4字節(jié),則1M個(gè)頁(yè)表項(xiàng)的頁(yè)表就需要占用4MB空間,而且還要求是連續(xù)的,于是采用兩級(jí)頁(yè)表來(lái)實(shí)現(xiàn);兩級(jí)頁(yè)表就是對(duì)頁(yè)表再進(jìn)行分頁(yè),第 一級(jí)稱為頁(yè)目錄,其中存放關(guān)于頁(yè)表的信息;4MB的頁(yè)表再次分頁(yè),可以分為1K個(gè)4KB大小的頁(yè)。
Q4.頁(yè)面高速緩存的作用是什么?Linux為什么主要采用分頁(yè)機(jī)制來(lái)實(shí)現(xiàn)虛擬存儲(chǔ)管理?它為什么采用三級(jí)分頁(yè)模式而不是兩級(jí)?
A:(1)頁(yè)面高速緩存自動(dòng)保留處理器近使用的32項(xiàng)頁(yè)表項(xiàng),因此可以覆蓋128KB范圍的內(nèi)存;
(2)Linux主要采用分頁(yè)機(jī)制來(lái)實(shí)現(xiàn)虛擬存儲(chǔ)器管理,原因?yàn)椋?/span>
1)Linux的分段機(jī)制使得所有的進(jìn)程都使用相同的段寄存器,這使得內(nèi)存管理變得簡(jiǎn)單;
2)Linux的設(shè)計(jì)目標(biāo)之一就是能夠被移植到絕大多數(shù)流行的處理平臺(tái)上,但許多RISC處理器支持的分段功能非常有限;為了保證可移植性,Linux采用三級(jí)分頁(yè)模式,因?yàn)樵S多處理器都采用64位結(jié)構(gòu);Linux定義了三種類型的頁(yè)表:頁(yè)目錄(PGD)、中間目錄(PMD)和頁(yè)表(PT)。
想要學(xué)習(xí)更多的Linux知識(shí)嗎?快來(lái)千鋒互聯(lián)吧!
千鋒互聯(lián)校區(qū)
北京天豐利校區(qū)(總部):北京市海淀區(qū)寶盛北里西區(qū)28號(hào)
北京沙河校區(qū):北京市昌平區(qū)沙陽(yáng)路18號(hào)
廣州校區(qū)地址:廣州市天河區(qū)元崗路310號(hào)
(注:其他校區(qū)咨詢老師)
千鋒互聯(lián)一直秉承“用良心做教育”的理念,全力打造互聯(lián)網(wǎng)技術(shù)型研發(fā)人才服務(wù)優(yōu)質(zhì)平臺(tái)。現(xiàn)在北京、深圳、上海、鄭州、廣州、大連、武漢、成都、西安、青島、杭州、重慶、長(zhǎng)沙開(kāi)設(shè)分公司。擁有全國(guó)的專業(yè)教學(xué)以及就業(yè)保障團(tuán)隊(duì),成為學(xué)員信賴的IT培訓(xùn)機(jī)構(gòu)!>> http://kaoshi.china.com/xuexiao/bjqf/
以上就是小編簡(jiǎn)單的介紹,希望對(duì)你有所幫助,還有更多相關(guān)的訊息,歡迎咨詢,驚喜多多,收獲多多。
課程咨詢
咨詢老師:金老師
咨詢電話:010-64707530
咨詢微信:15110074071
相關(guān)推薦
課程 | 班型 | 費(fèi)用 |
千鋒互聯(lián)UI設(shè)計(jì)培訓(xùn)班 | 白天班/晚班/周末班 | 點(diǎn)擊了解 |
千鋒互聯(lián)python培訓(xùn)班 | 白天班/晚班/周末班 | 點(diǎn)擊了解 |
千鋒互聯(lián)HTML5培訓(xùn)班 | 白天班/晚班/周末班 | 點(diǎn)擊了解 |
千鋒互聯(lián)軟件測(cè)試培訓(xùn)班 | 白天班/晚班/周末班 | 點(diǎn)擊了解 |
千鋒互聯(lián)大數(shù)據(jù)培訓(xùn)班 | 白天班/晚班/周末班 | 點(diǎn)擊了解 |
千鋒互聯(lián)Linux云計(jì)算培訓(xùn)班 | 白天班/晚班/周末班 | 點(diǎn)擊了解 |