版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、內(nèi)核空間中的各種地址,楊小帥 2012-5-24,提綱, 2010 WRI .,2,內(nèi)核空間中的地址,有哪些?,如何理解?,如何使用?,內(nèi)核空間地址種類, 2010 WRI .,3,物理地址; 線性地址; 虛擬地址; IO地址;,內(nèi)核地址空間布局, 2010 WRI .,4,Linux內(nèi)存線性地址空間大小為4GB,分為2個(gè)部分:用戶空間部分(通常是3G)和內(nèi)核空間部分(通常是1G)。我們主要關(guān)注內(nèi)核地址空間部分。 在我們P4080/P4040中,0 xC0000000 0 xC0000000+768M是內(nèi)核的線性地址空間(mem_map),768M以上的空間稱之為高端內(nèi)存(high memor
2、y)。 高端內(nèi)存分為三個(gè)區(qū)域: vmalloc region; 永久映射區(qū)(Permanet Kernel Mappings); 固定映射區(qū)(Fix-mapped linear Address);,如何理解?(1), 2010 WRI .,5,硬件地址 硬件真正識(shí)別的地址;,線性地址 32位系統(tǒng),能夠訪問(wèn)的地址空間為4G(地址線只有32bit),可以稱之為CPU的線性地址空間。內(nèi)核中的線性地址指的是PAGE_OFFSET PAGE_OFFSET+768M。這段地址與真實(shí)的物理地址就相差一個(gè)PAGE_OFFSET,它有兩個(gè)特點(diǎn):物理地址連續(xù),虛擬地址也連續(xù);,如何理解?(2), 2010 WRI
3、 .,6,虛擬地址 軟件真正使用的地址,在內(nèi)核空間中,除了物理地址和IO地址,其他常見(jiàn)的地址都可以理解為虛擬地址;,IO地址 CPU控制外設(shè)是通過(guò)讀寫外設(shè)上的寄存器來(lái)進(jìn)行的,外設(shè)寄存器也稱為“I/O端口”,而IO端口有兩種編址方式:獨(dú)立編址和統(tǒng)一編址。 統(tǒng)一編址:IO寄存器與主存單元一樣看待,將主存的一部分劃出來(lái)用作IO地址空間,也稱為“IO內(nèi)存”(ARM,POWERPC一般采用這種方式); 獨(dú)立編址: IO地址與存儲(chǔ)地址分開(kāi)獨(dú)立編址,I/0端口地址不占用存儲(chǔ)空間的地址范圍。獨(dú)立編址也稱為“I/O端口”方式,外設(shè)寄存器位于“I/O(地址)空間”(x86一般是這種方式);,如何使用?(1), 2
4、010 WRI .,7,硬件地址 如何使用硬件地址,跟軟件沒(méi)有關(guān)系,是硬件電路關(guān)心的事情;,線性地址 一般使用kmalloc來(lái)分配。gfp_mask標(biāo)志常用場(chǎng)景如下:,如何使用?(2), 2010 WRI .,8,線性地址(續(xù)) 線性地址和物理地址之間可以靈活轉(zhuǎn)換。 物理地址-線性地址 #define _va(x) (void *)(unsigned long)(x) + PAGE_OFFSET) 線性地址-物理地址 #define _pa(x) (unsigned long) (x) - PAGE_OFFSET),虛擬地址 用戶空間中的變量地址一般都是虛擬地址。在內(nèi)核中,虛擬地址是一個(gè)理解上
5、的概念,它包含的范圍比線性地址廣。 注意:vmalloc出來(lái)的mem雖然虛擬地址仍然是連續(xù)的,但是物理上不一定連續(xù),因?yàn)関malloc不是工作在內(nèi)核的低端內(nèi)存空間。,如何理解?(3), 2010 WRI .,9,IO地址 訪問(wèn)IO內(nèi)存的流程為: request_mem_region()-ioremap()-ioread8()/iowrite8()-iounmap()-release_mem_region() 其實(shí),IO地址在ioremap之后,基本上可以把它當(dāng)作普通的虛擬地址一樣來(lái)操作。但是,需要注意的是,IO地址與RAM地址最大的區(qū)別在于IO操作具有邊際效應(yīng)。 由緩存引起的問(wèn)題很好解決:訪問(wèn)
6、IO區(qū)域時(shí)禁止硬件緩存; 由編譯器優(yōu)化引起的解決辦法是:在特定順序執(zhí)行的操作之間使用內(nèi)存屏障。,Summary (1), 2010 WRI .,10,內(nèi)存分配: #include void *kmalloc(size_t size, int flags); Void kfree(void *obj); #include void *kmalloc(unsigned long size); Void kfree(void *addr); 頁(yè)分配函數(shù): struct page *alloc_pages(unsigned int flags, unsigned int order); struct
7、page *alloc_page (unsigned int flags); void _free_pages(struct page * page, unsigned int order); void _free_page (struct page * page); int get_order(unsigned long size);,Summary (2), 2010 WRI .,11,內(nèi)存區(qū)域的資源分配: #include #define request_mem_region(start,n,name) ; #define check_mem_region(start,n); #defi
8、ne release_mem_region(start,n); 映射IO地址空間到虛擬地址空間: #include void _iomem *ioremap(phys_addr_t address, unsigned long size); #define ioremap_nocache(addr, size)ioremap(addr), (size); void iounmap(volatile void _iomem *addr); 頁(yè)分配函數(shù): #include unsigned int ioread8(void _iomem *); unsigned int ioread16(void _iomem *); unsigned int ioread32(void _iomem *);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024芒果園果樹(shù)修剪與整形技術(shù)指導(dǎo)合同3篇
- 2024年版金融科技產(chǎn)品代理銷售合同
- 2024年預(yù)拌混凝土產(chǎn)品出口貿(mào)易合同2篇
- 2024戊己雙方委托理財(cái)管理服務(wù)合同
- 2025年度果樹(shù)租賃與果樹(shù)種植基地租賃合同3篇
- 2025年度綠色環(huán)保企業(yè)安全生產(chǎn)責(zé)任協(xié)議書范本3篇
- 2024水產(chǎn)養(yǎng)殖環(huán)境監(jiān)測(cè)與生態(tài)保護(hù)合同3篇
- 2024新媒體綠色出行信息平臺(tái)建設(shè)合作合同3篇
- 專業(yè)定制廣告牌制作及銷售合同2024版版B版
- 不病防控知識(shí)培訓(xùn)課件
- 2025河南滎陽(yáng)市招聘第二批政務(wù)輔助人員211人高頻重點(diǎn)提升(共500題)附帶答案詳解
- JJF 2180-2024嬰兒輻射保暖臺(tái)校準(zhǔn)規(guī)范
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 中建X局設(shè)計(jì)參數(shù)指標(biāo)庫(kù)
- 2023年售前工程師年度總結(jié)及來(lái)年計(jì)劃
- DL-T 5190.1-2022 電力建設(shè)施工技術(shù)規(guī)范 第1部分:土建結(jié)構(gòu)工程(附條文說(shuō)明)
- 《工人工資發(fā)放承諾書范文 》
- 馬達(dá)加斯加 礦產(chǎn)和能源開(kāi)發(fā)戰(zhàn)略
- 忘憂草(周華健)原版五線譜鋼琴譜正譜樂(lè)譜.docx
- 心天瀉血排瘀綱要(全部)
- XX公司紀(jì)檢監(jiān)察機(jī)構(gòu)談話筆錄模板
評(píng)論
0/150
提交評(píng)論