简要概括内存机制
1-逻辑地址
为什么要引入逻辑地址?
逻辑地址是虚拟的,并非真实的物理地址。逻辑地址是写在程序中的,因为程序是写死的,不方便更改,而实际使用中内存是变化的,如果直接在程序中写物理地址,会引发错误,因此引入逻辑地址。
程序无法得知可用的物理地址,所以必须做出映射。
2-逻辑地址和物理地址如何完成映射
一种简单的思路:固定偏移量
缺陷:
在实际使用中,程序1内存的实际使用量通常小于200,余下的内存成为内碎片
程序1如果运行完,程序3要运行,但需要201内存,那么200那块内存就会被浪费,被称为外碎片
解决办法:分页
二者如何建立联系?需要一张中间表,称为page table,程序中的page -> page frame进行映射
补充知识
分页优化
参考:B站 https://www.bilibili.com/video/BV1u7411z7Sv?from=search&seid=9878274338412530575