操作系统概念总结笔记——第八章 内存管理

本章目标:

1、详细讨论内存硬件的组织方法;

2、讨论各种内存管理技术,如分段、分页;



8.1 背景介绍


高速缓存: 由于CPU对寄存器的访问速率快于对内存的访问速率,导致在实际运行中,没有数据完成正在进行的操作,CPU通常需要暂停(stall), 由于内存的频繁访问,这种暂停是难以接受的,所以增加高速缓存,用于协调速度的差异。


程序空间: 要确保每个进程都有独立的内存空间,因此需要确定进程可访问的合法内存访问,这里使用两个寄存器来实现着这种保护:基地址寄存器(最小的合法物理内存地址)、界限地址寄存器(地址范围)。



地址绑定:  编译器通常需要将源程序中的地址绑定到可重定位的地址, 链接程序或加载程序再将这些可重定位的地址绑定成绝对地址,每次绑定都是从一个地址空间到另一个地址空间的映射。


通常,将指令和数据绑定到内存地址有以下几种情况:

编译时绑定:事先知道程序在内存空间的位置,就可以在编译时生成绝对代码,从该位置开始并向后扩展,如果后来开始地址发生变化,那么就必须重新编译代码。不同的人安排程序的位置可能冲突。

加载时绑定:如果在编译时不知道程序在内存空间的位置,那么编译时必须生成可重定位代码(可以使地址平移的代码称为可重定位代码,它通过加载过程中系统给定的物理地址,生成程序的物理地址),延迟到加载时绑定程序,称为静态地址重定位。

运行时绑定:如果进程在执行时可以从一个内存段转移到另一个内存段,那么绑定要延迟到执行时才进行,在每次CPU访问内存时,进行地址的转换,需要借助某种物理设备,称为动态地址重定位。



静态地址重定位:不需要硬件支持,不能移动代码,不能处理非连续代码;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值