社区
硬件/系统
帖子详情
虚拟地址
angle_xiaoqing
2012-06-01 07:44:05
我们在程序中打印出的指针的值(即地址)是虚拟地址还是真正的物理地址?
...全文
158
12
打赏
收藏
虚拟地址
我们在程序中打印出的指针的值(即地址)是虚拟地址还是真正的物理地址?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
百事烟
2012-06-02
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
这个版块下是虚拟地址
[/Quote]
++
linux也是
wocow3
2012-06-01
打赏
举报
回复
这个版块下是虚拟地址
zgl7903
2012-06-01
打赏
举报
回复
逻辑地址
zhanshen2891
2012-06-01
打赏
举报
回复
虚拟地址!!!!
celerylxq
2012-06-01
打赏
举报
回复
应该是物理地址,这个类比嵌入式平台更能理解
stjay
2012-06-01
打赏
举报
回复
和CPU架构、操作系统有关
在Windows、Linux下是虚拟地址
gold_water
2012-06-01
打赏
举报
回复
是物理地址吧.
alexesion
2012-06-01
打赏
举报
回复
那到底是什么地址啊,回答的都不一样
Lactoferrin
2012-06-01
打赏
举报
回复
某些平台就是可以直接修改其他进程的
dahaiI0
2012-06-01
打赏
举报
回复
如果可以直接访问物理地址的话,那岂不是可以修改其他进程的数据
dahaiI0
2012-06-01
打赏
举报
回复
我觉得是逻辑地址,也就是虚拟地址
Lactoferrin
2012-06-01
打赏
举报
回复
看情况,标准没规定是什么
【Armv8/Armv9架构】-MMU专题
【课程简介】本课程是《Armv8/Armv9架构从入门到精通 第二期》中的第四章。建议购买大课程。本课程以为armv8-aarch64、armv9为基准,不涉及armv7及其以前的版本,也不涉及aarch32。本课程包含但不限于以下内容MMU的基础学习:啥是MMU?工作原理?MMU和cache之间的关系?及其怎样相互影响的?哪些是MMU硬件自动的行为?哪些是软件可配置的行为?地址空间基础:啥是
虚拟地址
空间?啥是物理地址空间?啥时memory-map? 代码程序中的
虚拟地址
空间是怎样的?arm core硬件决定的物理地址空间是怎样的?SOC memory-map时的地址空间是怎样的?具体的外设又是怎样的地址空间?Translation Regime:系统里有多少个MMU?系统里有多少个Translation Regime?他们之间的关系是怎样的?页表翻译:MMU是怎样翻译的?页表有几级?这些信息是怎么告诉MMU的,MMU又是怎样工作的,软件又需要怎样设计?stage1和stage2的区别和使用?Descriptor:啥是Descriptor、页表项、entry、条目、页表条目? Descriptor的格式是怎样的?每一个属性位是怎样的?MMU除了完成地址转换,属性权限的控制/cache的缓存策略是怎样配置的?optee中使用MMU的示例MMU深度思考篇:开启MMU瞬间可能出现的问题以及多种常用的解决方案。注意这里提到的是多种方案,绝大多数人只知道第一种,除此之外还有没有其它的设计方式? MMU关闭时cache的缓存策略会怎样?【思考】01、一个大系统中有多少个MMU ?02、一个ARM Core中有多少个Translation regime?03、EL1&0 Translation regime Stage2、EL2 Translation regime stage1、EL2&0 Translation regime stage1 这三者的区别是什么?04、TTBR1_EL2寄存器有啥特殊性,这个寄存器是给谁使用的?05、有没有TTBR1_EL3寄存器?为什么?06、什么是memory-map? 一个ARM的系统中,有几套物理地址空间?07、页表到底有几级? 页表最少可以有几级?页表最多可以有几级?08、页表有多大? 页表存放在哪里?页表由谁来管理?09、页表是否能放在cache中?10、什么是Translation Table walk? 什么是TLB?11、请简述页表查询的过程?12、在一个大系统中,物理地址是多少位的? 物理地址是多少位指的是什么?
虚拟地址
又是多少位的? 物理地址的位数和
虚拟地址
的位数都是由谁来决定的?13、请说明entry、descriptor、页表项、条目 这个四个词汇的由来?14、TCR中有缓存属性和共享属性、页表的entry中也有缓存属性和共享属性,这俩有什么区别?15、请简述TTBR0和TTBR1的概念和意义?16、请简述cacheability和shareability属性的含义?17、stage1和stage2有何区别?18、stage1和stage2的descriptor中,有很多重复的属性,当两者属性有冲突了怎么办?19、L1、L2、L2的descriptor中也有部分相同的属性,重复时怎么办?20、Descriptor的格式有哪几种?21、Descriptor的类型有哪几种?22、简述您所观察到的系统软件中(操作系统或hypervisor)的shareability和cacheability一般都是怎样配置的?23、开启一个MMU的步骤是怎样的?24、啥是flat map? 啥是full level table?25、页表中的AF属性位、DBM属性位分别是干啥的?26、页表中的nG属性位是干啥的?27、页表中的Contiguous属性位是干啥的?28、在开启MMU的瞬间会考虑哪些事情?【课程目录】当前21节课,6.8小时
彻底搞懂虚拟内存,
虚拟地址
,
虚拟地址
空间
程序经过编译后,变成了可执行的文件,可执行文件主要包括代码和数据两部分,代码是只读的,数据则是可读可写的。 可执行文件由操作系统加载到内存中,交由CPU去执行,现在问题来了,CPU怎么去访问代码和数据?,访问的方式经历过四个阶段: 1.直接访问 2.段基址+段偏移地址 3.段选择子+段偏移地址 4.
虚拟地址
现代操作系统采用的是
虚拟地址
,这也是本篇文章阐述的重点,但
虚拟地址
是由1~3阶段发展而来的,所以也有必要阐述1~3三种访问方式。 直接访问 直接访问很好理解,程序经过编译后,生成了可执行
虚拟地址
空间和物理地址空间
1.概念 每个进程都会分配
虚拟地址
空间,在32位机器上,该地址空间为4G 。平时以虚拟形式存储,当应用程序使用
虚拟地址
访问内存时/a.out执行,mmu将
虚拟地址
转换为物理地址执行(正常文件存储在磁盘中) 段错误:内存访问非法,内核空间受保护 堆空间存储后一定要释放 在进程里平时所说的指针变量,保存的就是
虚拟地址
。当应用程序使用
虚拟地址
访问内存时,处理器(CPU)会将其转化成物理地址(MMU)。 MMU:将虚拟的地址转化为物理地址。 这样做的好处在于: 进程隔离,更好的保护系统安全运行 屏蔽物理差异带来
虚拟内存与
虚拟地址
空间
虚拟地址
空间是一种使程序可以直接访问这些内存而不必真正了解这些内存在物理上所处的位置的技术。每个进程都有自己的独立
虚拟地址
空间,同时操作系统负责将每个进程的
虚拟地址
映射到主存中的物理内存地址。
虚拟地址
空间使每个进程都有最大4GB(32位系统)或16EB(64位系统)可用的虚拟内存空间,尽管实际物理内存少于该数量,这样允许处理器利用虚拟内存空间存储更多数据。总的来说,
虚拟地址
空间是一种重要的内存管理技术,它允许计算机以更高效、可靠和安全的方式管理内存。
虚拟地址
空间允许各进程共享某些资源并提升系统的效率。
虚拟地址
、逻辑地址、线性地址、物理地址的区别
虚拟地址
、逻辑地址、线性地址、物理地址的区别1)
虚拟地址
:是由程序产生的由段选择符和段内偏移地址组成的地址。这2部分组成的地址并不能直接访问物理内存,而是要通过分段地址的变化处理后才会对应到相应的物理内存地址。2) 逻辑地址:指由程序产生的段内偏移地址。逻辑地址与
虚拟地址
二者之间没有明确的界限。3) 线性地址:指
虚拟地址
到物理地址变换的中间层,是处理器可寻...
硬件/系统
2,640
社区成员
17,239
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章