目录
内存空间的扩充
覆盖技术
实例
交换技术
思考
本节思维导图
内存空间的扩充
历史背景:早期计算机内存很小,内存大小不够的情况
解决办法:后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总合”的问题
覆盖技术
基本思想:将程序分为多个段(多个模块)常用的段常驻内存,不常用的段在需要时调入内存
解决方法:
- 内存中分为一个”固定区“和若干个”覆盖区“,需要常驻内存的段放在”固定区“中,调入后就不再调出(除非运行结束)
- 不常用的段放在”覆盖区“,需要用到时调入内存,用不到时调出内存
注意事项:必须由程序员声明覆盖结构,操作系统完成自动覆盖
缺点:对用户不透明,增加了用户编程负担
实例
交换技术
基本思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外村中某些已具备运行条件的进程换入内存(进程在内存与磁盘间动态调度)
中级调度(内存调度):决定将哪个处于挂起状态的进程重新调入内存
暂时换出外存等待的进程状态为挂起状态
挂起状态又可以进一步细分为就绪挂起、阻塞挂起两种状态
思考
- 应该在外存(磁盘)的什么位置保存被换出的进程
- 什么时候应该交换
- 应该换出哪些进程
本节思维导图
~over~