覆盖与交换-第四十二天

目录

内存空间的扩充

覆盖技术

实例 

交换技术

思考

本节思维导图


内存空间的扩充

历史背景:早期计算机内存很小,内存大小不够的情况
解决办法:后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总合”的问题

覆盖与交换-第四十二天_第1张图片

覆盖技术

基本思想:将程序分为多个段(多个模块)常用的段常驻内存,不常用的段在需要时调入内存

解决方法:

  1. 内存中分为一个”固定区“和若干个”覆盖区“,需要常驻内存的段放在”固定区“中,调入后就不再调出(除非运行结束)
  2. 不常用的段放在”覆盖区“,需要用到时调入内存,用不到时调出内存

注意事项:必须由程序员声明覆盖结构,操作系统完成自动覆盖

缺点:对用户不透明,增加了用户编程负担

实例 

覆盖与交换-第四十二天_第2张图片

交换技术

基本思想:内存空间紧张时,系统将内存中某些进程暂时换出外存,把外村中某些已具备运行条件的进程换入内存(进程在内存与磁盘间动态调度)

覆盖与交换-第四十二天_第3张图片

覆盖与交换-第四十二天_第4张图片

中级调度(内存调度):决定将哪个处于挂起状态的进程重新调入内存

暂时换出外存等待的进程状态为挂起状态

挂起状态又可以进一步细分为就绪挂起、阻塞挂起两种状态

覆盖与交换-第四十二天_第5张图片

思考

  1. 应该在外存(磁盘)的什么位置保存被换出的进程
  2. 什么时候应该交换
  3. 应该换出哪些进程

覆盖与交换-第四十二天_第6张图片

本节思维导图

覆盖与交换-第四十二天_第7张图片

~over~

你可能感兴趣的:(计算机操作系统-初阶,linux,ubuntu,windows,centos,gnu)