简要概括内存机制

1-逻辑地址

为什么要引入逻辑地址?

逻辑地址是虚拟的,并非真实的物理地址。逻辑地址是写在程序中的,因为程序是写死的,不方便更改,而实际使用中内存是变化的,如果直接在程序中写物理地址,会引发错误,因此引入逻辑地址。

程序无法得知可用的物理地址,所以必须做出映射。


2-逻辑地址和物理地址如何完成映射

一种简单的思路:固定偏移量

 

 缺陷:

在实际使用中,程序1内存的实际使用量通常小于200,余下的内存成为内碎片

程序1如果运行完,程序3要运行,但需要201内存,那么200那块内存就会被浪费,被称为外碎片

 解决办法:分页

 二者如何建立联系?需要一张中间表,称为page table,程序中的page -> page frame进行映射

 补充知识

 分页优化

参考:B站 https://www.bilibili.com/video/BV1u7411z7Sv?from=search&seid=9878274338412530575

原文地址:https://www.cnblogs.com/tudoo/p/12626898.html