内核地址空间和用户地址空间
生活随笔
收集整理的這篇文章主要介紹了
内核地址空间和用户地址空间
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Linux 操作系統(tǒng)和驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間,應(yīng)用程序運(yùn)行在用戶空間,兩者不能簡(jiǎn)單地使用指針傳遞數(shù)據(jù),因?yàn)長(zhǎng)inux使用的虛擬內(nèi)存機(jī)制,用戶空間的數(shù)據(jù)可能被換出,當(dāng)內(nèi)核空間使用用戶空間指針時(shí),對(duì)應(yīng)的數(shù)據(jù)可能不在內(nèi)存中。用戶空間的內(nèi)存映射采用段頁(yè)式,而內(nèi)核空間有自己的規(guī)則。
*進(jìn)程尋址空間0~4G ?
*進(jìn)程在用戶態(tài)只能訪問0~3G,只有進(jìn)入內(nèi)核態(tài)才能訪問3G~4G ?
*進(jìn)程通過系統(tǒng)調(diào)用進(jìn)入內(nèi)核態(tài)
*每個(gè)進(jìn)程虛擬空間的3G~4G部分是相同的 ?
*進(jìn)程從用戶態(tài)進(jìn)入內(nèi)核態(tài)不會(huì)引起控制寄存器的改變但會(huì)引起堆棧的改變
總結(jié)
以上是生活随笔為你收集整理的内核地址空间和用户地址空间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。