一、内存管理
二、页式存储
逻辑地址:程序在运行过程中使用的地址,是虚拟地址,Virtual Address
物理地址:内存中实际存在的地址,十六进制的,Real Address
不是映射关系!!!
使用逻辑地址,更加安全的访问内存
块大小一般为4KB,因为内存大小一般是4G的倍数,这样分出来的是整数个块(1024倍数)
2^12 = 4096=4K
2500 % 1024 = 452
内存=8*1K + 452 =8644,块地址和页面大小是一致的
缺页中断:进程线性地址空间里的页面不必常驻内存,在执行一条指令时,如果发现他要访问的页没有在内存中(即存在位为0),那么停止该指令的执行,并产生一个页不存在的异常,对应的故障处理程序可通过从外存加载该页的方法来排除故障。
也就是说,长时间不用的进程可以把他从内存中加载到外存中去。
这些算法的优点和缺点都很明显,很少单独使用,作为性能评估和其他算法共同使用
内部碎片:进程大小不足一块,剩余的空间无法被使用,产生浪费。(大小固定会产生)
外部碎片:分出块后,剩余的空间。在页式管理中,不会产生外部碎片(大小不固定会产生)
![](https://img-blog.csdnimg.cn/direct/1a34aa43c14c463ea9ab548fdcf9b154.png)
三、段式存储
1、D 段内偏移量不能超过段长
2、C
0AFE=2814
2814/2048=1,2814%2048=766
2048*9+766=19198=4AFE
外部碎片比较小
四、段页式存储