覆盖与交换技术是在多道程序环境下用于扩充内存的两种方法。

覆盖

为了能让进程比它所分配到的内存空间大,可以使用覆盖(Overlay)技术。

覆盖会将用户空间划分为一个固定区和若干个覆盖区,经常调用的在固定区,否则在覆盖区。

覆盖的基本思想是在任何时候只在内存中保留所需的指令和数据。当需要其它指令时,它们会装入到刚刚不再需要的指令所占用的内存空间(覆盖区)内,而不再需要的指令会被放到外存中。

覆盖的特点是打破了必须将一个进程的全部信息装入内存才能运行的限制,只不过当同时运行的程序代码量大于内存时仍不能执行。

覆盖由用户实施,不需要操作系统的特殊支持。

覆盖结构的编程设计很复杂。

【例】假定某些组件的大小如下:

  • Pass 1 70KB
  • Pass 2 80KB
  • Symbol table 20KB
  • Common routines 30KB

如果只有150KB可用,该怎么办(覆盖技术)?

【解】如下图所示:

交换

进程需要在内存中以便执行。不过,进程可以暂时从内存

【操作系统】内存扩容的两种方法相关推荐

  1. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  2. C++ string清空并释放内存空间的两种方法(shrink_to_fit()、swap())

    说明 在STL中 vector和string 是比较特殊的,clear()之后是不会释放内存空间的,也就是size()会清零,但capacity()不会改变,需要手动去释放,说明 clear() 没有 ...

  3. 计算机怎么看显卡内存容量,Win10系统显卡显存大小怎样查看?Win10查看显存大小的两种方法...

    对于十分关心电脑配置的用户而言,查看电脑显卡显存大小是一件非常必要的事情.那么,Win10系统电脑该怎样查看显卡显存大小呢?虽然现在有很多软件都可以直接查看,但是不使用软件查看才是真正的好方法.下面, ...

  4. 打游戏计算机内存不足,电脑玩cf游戏内存不足的两种解决方法

    电脑出现内存不足是一种较为常见的电脑故障,常见于运行大型游戏的时候发生此类故障.最近,一些小伙伴说电脑玩cf游戏内存不足,怎么办?cf穿越火线是一款第一人称射击游戏的网络游戏,如果想要运行cf游戏,不 ...

  5. Redis中持久化的两种方法详解

    Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...

  6. qt 加载 图片旋转_QT 实现图片旋转的两种方法

    第一种方案 使用 QPixmap 的 transformed 函数来实现旋转,这个函数默认是以图片中心为旋转点,不能设置旋转的中心点,使用如下: QMatrix matrix; matrix.rota ...

  7. windows下tomcat集群配置(两种方法)

    两种方法只是在配置上不同原理一样,因为apache2.X后其自身集成了mod_jk功能,相对于1.3版本,不需要再进行繁琐的worker.properties配置,配置过程大幅简化. 一.软件需求 操 ...

  8. 图文+视频手把手教您:两种方法增加PowerPoint可撤消(可撤销)次数

    导读:微软的Office在2007及以后的版本中,对可撤消(可撤销--六分办公注:实际上应为撤销,微软官方称之为撤消)次数默认为100次,如果要增加可撤消(可核销)次数,PowerPoint有两种方法 ...

  9. Windows环境下打开cmd进入到指定目录的两种方法

    文章目录 一.cmd是什么 二.在指定的目录地址栏中输入cmd敲回车即可 三."Windows+r"键打开运行对话框,在框中输入cmd敲回车,然后再输入相应的命令 四.cmd常用指 ...

最新文章

  1. Hive:解决Hive创建文件数过多的问题
  2. C# Winform应用程序占用内存较大解决方法整理(转)
  3. HBase:为客户行为生成搜索点击事件统计信息
  4. 5-6 AOF15-7 AOF25-8 AOF实验
  5. 后台代码调用Application Resources
  6. 第一届对象存储技术及应用大会:Esri中国周宁——万物互联时代,云存储技术的变革与展望...
  7. 你会用JSON.stringify()?
  8. Android Studio GPX文件解析显示地图轨迹和海拔示意(模拟沿轨迹前进)
  9. DOS命令和linux
  10. 10-新闻发布系统数据库-新闻管理数据操作
  11. el-cascader数据绑定值原理之展平操作的算法
  12. 【Angular中的RxJS】- Subject 分类介绍
  13. 网站启用CDN加速对百度SEO排名有什么影响?
  14. LFS学习系列3 — 前言
  15. Dns与httpDNS的区别
  16. 线程同步互斥机制--互斥锁
  17. som神经网络聚类简单例子_神经网络学习及其模型
  18. Ruby On Rails的傻瓜安装
  19. ThreadLocal.withInitial
  20. uni-app 打开外部网页地址 web url

热门文章

  1. 我的第一个Java项目——客户管理
  2. 计算机二级ppt为客户制作演示文稿,《全国计算机等级考试二级officeppt演示文稿题目》.doc...
  3. 渐进明细、镀金、范围蔓延的区别
  4. 爬虫训练场项目前端基础,Bootstrap5排版、表格、图像
  5. Find My资讯|苹果Find My技术应用于车内丢失设备
  6. AVI movi LIST
  7. CSS切割术的手术刀Background-Position
  8. 废旧光盘手工小制作_废旧光盘大变身:自制光盘台灯做法教程
  9. tomcat文件类型下载或预览
  10. ShaderForge制作简单特效