第一種:就是頁框到線性地址的一 一映射關係。這是在分頁階段,已經創建好的(這部分我能夠深刻講一下,可是這部份內容不是很難,並且個人肩膀好痠痛,就不寫了,之後在補上),就是爲物理內存前896M的每一個頁框創建頁表,並寫進頁表項。當進程請求這部份內存時,能夠直接訪問到這些頁表,而不併現場建立頁表。函數
第二種:高端內存永久內核映射。就是上一篇博文講到的。這種技術的映射能夠阻塞進程,使進程去睡眠。進程
第三種:臨時內核映射。其實道理差很少。任何一個頁框與權限合成的頁表能夠寫進預留的幾個頁表項中,但這種技術是不能阻塞的內核映射技術,所以能夠用到中斷處理函數和可延遲函數中。內存
第四種:非連續內存映射技術。用slab分配器分配線性區描述符,而後在非連續內存區找到一塊空閒的線性區。而後把申請到的每個零散的物理頁框描述符和權限合成頁表,並將此頁表寫到查找到的線性區對應的頁表項中。(其實道理都是差很少的,只要領悟了上一篇博文寫的永久內核映射思想,那麼此種技術的思想也是同樣的:查找物理頁框,(合成頁表,寫進頁表項,返回線性地址)權限
後3種技術會重寫頁表,致使tlb中的頁表無效。分頁
大道至簡,只要記住如下幾句話那麼面對各類映射技術就不會恐慌:請求
查找頁框,合成頁表,寫進頁表項,返回頁表項的線性地址技術
之後幾篇的更新會涉及物理內存頁框的分配。內核的映射就寫到這裏阻塞