博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于linux永久内核映射思想的阐述
阅读量:7116 次
发布时间:2019-06-28

本文共 471 字,大约阅读时间需要 1 分钟。

hot3.png

进程是运行在虚拟空间,所有的内存请求返回的都是虚拟地址。实际上在我自己的理解来看,寻址的过程就是在寻找页表。在linux中,对于32位系统,不论是开启还是未开启PAE都是把前896M的页框映射到内核空间,也就是在建立分页阶段,根据页框号(从0号页框开始)和权限合成了页表,然后逐一写进页表项中,因此,此时建立了一一映射的关系,因此此部分线性地址变化就可以直接访问页表获得物理地址。那么剩余的128M留做动态重映射,映射更多的地址。今天就来讲讲这128M内的永久内核映射部分。

文章开始已经说了,进程需要的是虚拟地址,而对于高端内存页框在分页初期并未建立映射,也就是说,并未对高端内存页框建立页表,所以也没有写进页表项。所以此时返回线性地址没有什么意义,也不可能返回线性地址。因此最重要的矛盾付出水面了——就是为高端内存页框到线性地址建立映射。

在主内核页全局目录中有一个专门的目录项,它指向的1024个页表项只能被写进永久内核映射而建立的页表。

200623_7BIW_1375613.png

转载于:https://my.oschina.net/u/1375613/blog/486523

你可能感兴趣的文章
A Course on Borel Sets Exercise 1.3.3
查看>>
陶哲轩实分析 习题10.2.7 导函数有界的函数一致连续
查看>>
用C语言实现的轴对称变换
查看>>
陶哲轩实分析定理17.3.8(一)
查看>>
使用iostat分析IO性能
查看>>
left top right bottom问题
查看>>
android内存优化之图片压缩和缓存
查看>>
python中super与成员属性
查看>>
mysql 分库分表 ~ 方案选择浅谈
查看>>
回头再学Asp.net系列--基础篇(五)
查看>>
Linux 小知识翻译 - 「内核(kernel)」
查看>>
P3758 [TJOI2017]可乐
查看>>
动画--easeljs中的movieClip控件示例?
查看>>
细说浏览器特性检测(1)-jQuery1.4添加部分
查看>>
C errno是否是线程安全的
查看>>
类的初始化
查看>>
百度AI开放平台 UNIT平台开发在线客服 借助百度的人工智能如何开发一个在线客服系统...
查看>>
TensorFlow学习笔记(二)深层神经网络
查看>>
mysql 分组取每个组的前几名的问题
查看>>
JQuery拖拽插件
查看>>