码迷,mamicode.com
首页 > 其他好文 > 详细

精髓——高度概括几种页框到线性地址的映射技术

时间:2015-08-01 22:12:37      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

第一种:就是页框到线性地址的一 一映射关系。这是在分页阶段,已经建立好的(这部分我可以深入讲一下,但是这部分内容不是很难,而且我的肩膀好酸痛,就不写了,以后在补上),就是为物理内存前896M的每个页框建立页表,并写进页表项。当进程请求这部分内存时,可以直接访问到这些页表,而不并现场创建页表。

第二种:高端内存永久内核映射。就是上一篇博文讲到的。这种技术的映射可以阻塞进程,使进程去睡眠。

第三种:临时内核映射。其实道理差不多。任何一个页框与权限合成的页表可以写进预留的几个页表项中,但这种技术是不能阻塞的内核映射技术,因此可以用到中断处理函数和可延迟函数中。

第四种:非连续内存映射技术。用slab分配器分配线性区描述符,然后在非连续内存区找到一块空闲的线性区。然后把申请到的每一个零散的物理页框描述符和权限合成页表,并将此页表写到查找到的线性区对应的页表项中。(其实道理都是差不多的,只要领悟了上一篇博文写的永久内核映射思想,那么此种技术的思想也是一样的:查找物理页框,(合成页表,写进页表项,返回线性地址)

后3种技术会重写页表,导致tlb中的页表无效。

大道至简,只要记住以下几句话那么面对各种映射技术就不会恐慌:

查找页框,合成页表,写进页表项,返回页表项的线性地址

 

以后几篇的更新会涉及物理内存页框的分配。内核的映射就写到这里

精髓——高度概括几种页框到线性地址的映射技术

标签:

原文地址:http://my.oschina.net/u/1375613/blog/486537

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!