社区
Linux_Kernel
帖子详情
CR0的PE和PG置位后,linux源码中的逻辑地址、线性地址、物理地址问题
天行健__
2013-12-24 02:28:42
看了赵老师的linux内核源码注解一书。
有一些疑惑,请大家不吝赐教。
1、这是获取一页物理内存的代码,代码中计算了某个页面的物理地址,并使用edi寄存器对改页面的对应对的物理地址进行清0。这段代码应该是在CR0的PE和PG置位后运行的,既然开启了段页存储,内核怎么会还用物理地址进行寻址操作呢?不是要经过段页转换的吗?
2、这个是释放页目录所对应页表的操作,内核代码里面使用的是相对的逻辑地址,怎么可以直接用*号操作物理内存中的页表了?不是要经过段页转换的吗?
...全文
404
2
打赏
收藏
CR0的PE和PG置位后,linux源码中的逻辑地址、线性地址、物理地址问题
看了赵老师的linux内核源码注解一书。 有一些疑惑,请大家不吝赐教。 1、这是获取一页物理内存的代码,代码中计算了某个页面的物理地址,并使用edi寄存器对改页面的对应对的物理地址进行清0。这段代码应该是在CR0的PE和PG置位后运行的,既然开启了段页存储,内核怎么会还用物理地址进行寻址操作呢?不是要经过段页转换的吗? 2、这个是释放页目录所对应页表的操作,内核代码里面使用的是相对的逻辑地址,怎么可以直接用*号操作物理内存中的页表了?不是要经过段页转换的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
天行健__
2013-12-26
打赏
举报
回复
太让我失望了,csdn果然没有高手,还是我自己苦思冥想,想到了怎么回事。 内核把自己的代码段和数据段设为了0,内核初始化的时候就在页目录表里放了四个页表,每个页表映射4M物理内存,共映射了16M物理内存,也就是说内核的页表已经覆盖了整个物理内存,内核线性地址空间等于物理地址空间。 所以代码里面用物理地址寻址其实就是线性地址,线性地址和物理地址一一映射,完全相等,寻址时cpu的mmu单元也进行了段页转换。
天行健__
2013-12-24
打赏
举报
回复
怎么没人回啊?是觉得问题不削一顾,还是csdn都我一般菜鸟?大侠们出来。
Linux
内核学习笔记之系统启动(三)
分段机制和分页机制,共同构成了保护模式下的
地址
映射机制,也为多任务操作系统以及程序部分加载的实现提供了支持。本节我们将探究分页机制的原理,并结合
源码
来研究在启动CPU分页机制前,操作系统都做哪些设置。 1.再练神功 九阴真经残卷(四)----分页机制 首先在开始讲解分页机制前,我们要明白三个
地址
的含义:
逻辑
地址
、
线性
地址
和
物理
地址
。程序运行的时候,所有的
地址
都是
逻辑
地址
,
保护模式-内存寻址
好久以前就想系统的学习一下
linux
源码
了,由于懒得一直没有执行,最近终于下定决定开始学习了。 首先从保护模式开始吧。 1、系统标志寄存器EFLAGS 系统标志寄存器EFLAGS控制这I/O,可屏蔽
中
断,调试,任务切换以及保护模式和多任务环境下虚拟8086程序的执行。其
中
系统标志:VM-虚拟8086模式,RF恢复标志;NT-嵌套标志;IOPL-I/O特权标志...
自动焊接和攻螺纹工作机械设备.rar
自动焊接和攻螺纹工作机械设备.rar
【数字预失真(DPD)】静态DPD设计扩展为自适应设计及评估两种自适应DPD设计:基于(最小均方)LMS算法、使用递归预测误差方法(R
PE
M)算法研究(Matlab&Simulink实现)
内容概要:本文详细研究了数字预失真(DPD)技术的自适应设计,重点探讨了基于最小均方(LMS)算法和递归预测误差方法(R
PE
M)算法的两种自适应DPD设计方案,并通过Matlab与Simulink平台实现了仿真与评估。研究旨在提升DPD系统对非
线性
失真的补偿能力,增强其在动态环境下的适应性和实时性。文
中
不仅介绍了两种算法的理论基础,还对比分析了它们在不同场景下的性能表现,包括收敛速度、稳定性、计算复杂度等方面的差异,为通信系统
中
功放
线性
化提供了有效的技术路径和技术选型依据。; 适合人群:具备通信工程、信号处理或电子信息技术背景的研究生、科研人员及从事射频与通信系统开发的工程师。; 使用场景及目标:①用于研究和开发高性能的自适应数字预失真系统;②为通信系统
中
的功率放大器
线性
化提供算法选型与仿真依据;③适用于高校教学与科研项目
中
的先进信号处理技术实践。; 阅读建议:建议读者结合Matlab/Simulink代码实例进行仿真实践,重点关注LMS与R
PE
M算法在收敛速度、稳定性和计算复杂度方面的差异,以便在实际工程
中
做出合理选择。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章