首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >物理寻址和虚拟寻址概念之间的区别

物理寻址和虚拟寻址概念之间的区别
EN

Stack Overflow用户
提问于 2010-07-14 13:34:47
回答 2查看 57.2K关注 0票数 25

这是一次重新提交,因为我没有从superuser.com得到任何回应。很抱歉造成了误会。

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

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

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

在嵌入式系统中如何实现虚拟寻址到物理寻址的映射?

请在一些简单的架构中用一些简单的例子来解释上面的概念。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-14 13:44:45

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

使用虚拟寻址,所有应用程序内存访问都转到一个页表,然后该页表从虚拟地址映射到物理地址。因此,每个应用程序都有自己的“私有”地址空间,任何程序都不能读写另一个程序的内存。这称为分段。

虚拟寻址有很多好处。由于每个程序都有自己独特的虚拟内存集,因此任何程序都不能读取另一个程序的数据-这既是一个安全的优点,也是一个安全的优点。虚拟内存还支持分页,在这种情况下,程序的物理RAM可以在不使用时存储在磁盘(现在是较慢的闪存)上,然后在应用程序试图访问该页时回调。此外,由于只有一个程序可以驻留在特定的物理页处,因此在物理分页系统中,a)必须编译所有程序以加载到不同的存储器地址,或者b)每个程序必须使用与位置无关的代码,或者c)某些程序集不能同时运行。

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

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

票数 52
EN

Stack Overflow用户

发布于 2010-07-28 05:15:50

数字设备公司的VAX (Virtual Address eXtented )是一个很好的虚拟嵌入式硬件系统的例子。这是一台32位的迷你计算机,有一个叫做VMS或虚拟内存系统的操作系统。Dave Cutler是该系统的主要架构师之一,他在很久以后为Windows NT编写了内核。他是一个非常好的阅读这些和其他东西的人。Vax具有特殊的硬件,用于控制虚拟空间和通过硬件控制操作码的安全访问。非常安全。这个系统曾经是或者现在是内核级别的modfern day PC的祖先。我在WNT 3.51上看到的第一个BSOD我能够阅读,因为它来自VMS中用于在不稳定时停止系统的崩溃转储。顺便说一句,看看VMS和WNT这两个名字,你会发现VMS的字母表中接下来的字母就是WNT这个词。这不是意外。也许是因为DEC放了他一刀。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3243610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档