gpt4 book ai didi

memory-management - 物理寻址和虚拟寻址概念之间的区别

转载 作者:行者123 更新时间:2023-12-03 11:08:17 26 4
gpt4 key购买 nike

这是重新提交,因为我没有收到来自 superuser.com 的任何回复。很抱歉对于这个误会。

我需要知道嵌入式系统中物理寻址和虚拟寻址概念之间的区别。

为什么在嵌入式系统中实现虚拟寻址概念?

与嵌入式系统中具有物理寻址概念的系统相比,虚拟寻址的优势是什么?

在嵌入式系统中,虚拟寻址到物理寻址之间的映射是如何完成的?

请用一些简单架构中的一些简单示例来解释上述概念。

最佳答案

物理寻址意味着您的程序实际上知道 RAM 的真实布局。当您访问地址 0x8746b3 处的变量时,这就是它真正存储在物理 RAM 芯片中的位置。

使用虚拟寻址,所有应用程序内存访问都转到页表,然后从虚拟地址映射到物理地址。所以每个应用程序都有自己的“私有(private)”地址空间,没有程序可以读取或写入另一个程序的内存。这称为分段。

虚拟寻址有很多好处。它可以防止程序因不良的指针操作等而相互崩溃。因为每个程序都有自己独特的虚拟内存集,所以没有程序可以读取另一个程序的数据——这既是安全性的,也是安全性的。虚拟内存还支持分页,其中程序的物理 RAM 可以在不使用时存储在磁盘上(或者,现在是较慢的闪存),然后在应用程序尝试访问页面时回调。此外,由于只有一个程序可能驻留在特定的 物理 页面,在物理分页系统中,要么 a) 所有程序必须编译以加载到不同的内存地址,要么 b) 每个程序都必须使用与位置无关的代码,或者 c) 某些程序集不能同时运行。

物理-虚拟映射可以在软件(硬件支持内存陷阱)或纯硬件中完成。有时甚至页表本身也在一组特殊的硬件内存上。我不知道哪个嵌入式系统做了什么,但每个桌面都有一个硬件 TLB(翻译后备缓冲区,基本上是虚拟物理映射的缓存),有些现在有高级内存映射单元,可以帮助虚拟机之类的。

虚拟内存的唯一缺点是增加了硬件实现的复杂性和较慢的性能。

关于memory-management - 物理寻址和虚拟寻址概念之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3243610/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com