HHz的编程日记 - 深入理解计算机系统
type: channel
link: https://huanghaozi.com/index.php/tag/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F/
items: [笔记]《深入理解计算机系统》中的虚拟内存

[笔记]《深入理解计算机系统》中的虚拟内存
type: item
date: 2020-09-09T11:56:00+08:00
description: [quote color="danger"]### 虚拟内存是要干什么？简单地说，就是要运行很多个程序，这些程序用的都是同一条内存。怎么才能让这些程序假装自己在用一条独立的内存呢？虚拟内存做到了这一点...[/quote][quote color="warning"]### 虚拟内存是怎么实现上面这个效果的呢？以Linux系统为例，Linux系统要求CPU有一个叫“内存管理单元(MMU)”的东西。这个MMU就可以实现把一条内存，抽象成很多条空白的内存给程序用。[/quote][quote color="success"]### 那这个MMU又是怎么实现的呢？MMU接收一个虚拟内存地址，返回一个物理内存地址。一个程序调用的虚拟内存地址是连续的，而它对应的物理内存地址不是连续的，这就是MMU的功能。[/quote][quote color="info"]注：以上内容纯属臆想瞎猜，如有理解上的错误请在评论区指出！[/quote]