内存管理

本文介绍了内存管理的发展,从DOS时代的单进程执行到Windows95的多进程内存管理。核心在于虚拟地址和分页技术,解决了内存撑爆和进程间干扰的问题。虚拟地址使得每个进程拥有独立的寻址空间,而分页技术通过4K大小的页框动态加载内存,使用LRU算法管理页面。当页面缺失时,触发缺页中断,由内核处理。此外,还提到了ZGC等现代内存管理技术。
摘要由CSDN通过智能技术生成

内存的发展历程:
DOS时代:同一时间只能有一个进程在执行
windows95:多个进程装入内存(要解决两个问题,1内存撑爆,2相互打扰,访问别人的内存空间)

出现了现在的内存管理系统:
虚拟地址,分页装入,软硬件结合寻址
内存撑爆问题如何解决
分页:
内存中分成固定大小的页框(4K),把程序(硬盘上的)分成4K大小的块,用到那一块,加载那一块,加载的过程中,如果内存已满,新加载的块会把最不常用一块放到swap分区,把最新的一块加载进来(这个就是著名的LRU算法
相互打扰问题如何解决
虚拟内存:
让进程工作在虚拟空间,程序中用到的空间地址不再是直接的物理地址,而是虚拟地址,这样,A进程永远不可能访问到B进程的空间。
虚拟空间多大?就是 寻址空间,64位系统就是 2^64(bype)(2的64次方)比物理空间大很多。

站在虚拟的角度,进程是独享整个系统+CPU。

内存映射:偏移量+段的基地址=线性地址(虚拟空间的)
线性地址通过操作系统+MMU(memory Management Unit)硬件管理单元 = 物理地址
缺页中断:(不重要)
需要用到的页面内存中没有,产生的缺页异常(中断),由内核从硬盘处理并加载到内存

ZGC
https://blog.csdn.net/u010321010/article/details/115084646

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值