Operating system 操作系统中的逻辑和物理地址,

Operating system 操作系统中的逻辑和物理地址,,operating-system,Operating System,为什么需要逻辑地址?CPU可以直接为不同的进程生成物理地址 我的第二个问题是CPU是如何产生这个逻辑地址的?是一个来自虚拟内存的地址。它是虚拟的,因为它实际上并不存在 为什么需要逻辑地址 答案是,程序员通常不知道主内存的实际地址(物理地址),除此之外,操作系统设计者希望每个程序员都知道物理地址。将这些虚拟地址转换为RAM的实际物理地址的所有负担都是RAM的工作 这个逻辑地址是如何由CPU产生的 CPU只是根据分配给特定进程的虚拟内存量生成这些地址,通常是一个很好的连续块,但被访问的实际地址不必是

为什么需要逻辑地址?CPU可以直接为不同的进程生成物理地址

我的第二个问题是CPU是如何产生这个逻辑地址的?

是一个来自虚拟内存的地址。它是虚拟的,因为它实际上并不存在

为什么需要逻辑地址

答案是,程序员通常不知道主内存的实际地址(物理地址),除此之外,操作系统设计者希望每个程序员都知道物理地址。将这些虚拟地址转换为RAM的实际物理地址的所有负担都是RAM的工作

这个逻辑地址是如何由CPU产生的

CPU只是根据分配给特定进程的虚拟内存量生成这些地址,通常是一个很好的连续块,但被访问的实际地址不必是连续的,地址转换单元(页表、TLB等)在引擎盖下工作以获得正确的实际物理地址


是一个美丽的视频,肯定会消除你的疑虑。

逻辑地址转换至少有两个功能。首先,它对系统安全至关重要。页保护作为逻辑内存转换的一部分实现

其次,它有助于内存管理。特别是,如果没有逻辑内存转换,就不可能实现虚拟内存

我可以加上第三个,这可能被认为是其他两个的一部分。逻辑内存提供了一种共享内存的方法。例如,大多数操作系统定义一系列逻辑地址作为“系统空间”。这些逻辑地址映射到所有进程的相同物理地址

在较大的应用程序中,进程共享相同的物理内存是很常见的。这是通过逻辑地址转换完成的

我的第二个问题是CPU是如何产生这个逻辑地址的


逻辑地址[通常]不是由CPU产生的。CPU使用页表将它们转换为物理地址。操作系统设置页面表,定义从逻辑页面到物理页面框架的映射。答案可以涵盖一本书。阅读一本操作系统书籍,阅读内存管理和虚拟内存章节,了解总体思路。