内存覆盖和内存交换
覆盖和交换技术是在多道程序环境下用来扩充内存的两种方法。覆盖技术主要用在早期的操作系统中而交换技术则在现代操作系统中仍具有较强的生命力。1、内存覆盖Overlay在早期的计算机系统中主存容量很小。虽然主存中仅存放一道用户程序但是存储空间放不下用户进程的现象也经常发生。这一矛盾可以用覆盖技术来解决。覆盖的基本思想是由于程序运行时并非任何时候都要访问程序及数据的各个部分尤其是大程序 因此可以把用户空间分成一个固定区和若干个覆盖区。将经常活跃的部分放在固定区其余部分按调用关系分段。首先将那些即将要访问的段放入覆盖区其他段放在外存中在需要调用前系统再将其调入覆盖区替换覆盖区中原有的段。---- 覆盖技术的实现是把程序划分为若干个功能上相对独立的程序段按照其自身的逻辑结构使那些不会同时运行的程序段共享同一块内存区域。程序段先保存在磁盘上当有关程序的前一部分执行结束后把后续程序段调入内存覆盖前面的程序段。---- 所谓覆盖就是把一个大的程序划分为一系列覆盖每个覆盖就是一个相对独立的程序单位把程序执行时并不要求同时装入内存的覆盖组成一组称为覆盖段。一个覆盖段内的覆盖共享同一存储区域该区域成为覆盖区它与覆盖段一一对应。显然为了使一个覆盖区能为相应覆盖段中的每个覆盖在不同时刻共享其大小应由覆盖段中的最大覆盖来确定。---- 覆盖技术要求程序员必须把一个程序划分为不同的程序段并规定好它们的执行和覆盖顺序操作系统根据程序员提供的覆盖结构来完成程序段之间的覆盖。例如一个用户程序由6个模块组成下图给出了各个模块的调用关系Main模块是一个独立的段其调用A和B模块A和B是互斥被调用的两个模块。在A模块执行过程中调用C模块而在B模块执行过程中它可能调用D或E模块D和E模块也是互斥被调用的。为该用户程序建立的覆盖结构如下Main模块是常驻段其余部分组成两个覆盖段。由以上推理可知A和B模块组成覆盖段1C、D和E组成覆盖段2。为了实现真正覆盖相应的覆盖区应为每个覆盖段中最大覆盖的大小。覆盖技术的特点是打破了必须将一个进程的全部信息装入主存后才能运行的限制但当同时运行程序的代码量大于主存时仍不能运行。2、内存交换Swapping交换对换的基本思想是---- 把处于等待阻塞状态或在CPU调度原则下被剥夺运行权利的程序进程从内存移到辅存外存把内存空间腾出来这一过程又叫换出。把准备好竞争CPU运行的程序从辅存移到内存这一过程又称为换入。中级调度策略就是釆用交换技术。1对换的引入在多道程序环境下一方面在内存中的某些进程由于某事件尚未发生而被阻塞运行但它却占用了大量的内存空间甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况。另一方面却又有着许多作业在外存等待因无内存而不能进入内存运行的情况。显然这是对系统资源的一种严重浪费使系统吞吐量下降于是增设了对换交换设施。----- 所谓“对换”是指把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存上以便腾出足够的内存空间再把已具备运行条件的进程调入内存。----- 如果对换是以整个进程为单位的便称之为“整体对换”或“进程对换”。解决内存紧张的问题。----- 如果对换是以页或段为单位进行的则分别称之为”页面对换“或”分段对换“。为了实现进程对换系统必须能实现3个方面的功能对换空间的管理、进程的换出、进程的换入。2对换空间的管理在具有对换功能的OS中通常把外存分为文件区和对换区。前者用于存放文件后者用于存放从内存换出的进程。对换区采用的是连续分配的方式考虑到对换的速度。3进程的换出与换入换出每当一进程由于创建子进程而需要更多的内存空间但又无足够的内存空间等情况发生时系统应将某进程换出。系统首先选择处于阻塞状态且优先级最低的进程作为换出进程然后启动磁盘将该进程的程序和数据传送到磁盘的对换区。若传送过程未出现错误便可回收该进程所占用的内存空间并对该进程的进程控制块做相应的修改。换入把外存交换区中的数据和程序换到内存中。系统应定时的查看所有进程的状态从中找出就绪状态但已换出的进程。将其中换出时间最久换出到磁盘上的进程作为换入进程将之换入。直至已无可换入的进程或无可换出的进程为止。交换的特点是打破了一个程序一旦进入主存便一直运行到结束的限制但运行的进程大小仍受实际主存的限制。---- 与覆盖技术相比交换不要求程序员给出程序段之间的覆盖结构而且交换主要是在进程或作业之间进行而覆盖则主要在同一个作业或进程中进行。另外覆盖只能覆盖与覆盖程序段无关的程序段。

相关新闻

Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解

Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解

Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解 本自测解析针对 Python 学习笔记系列第五期(组合数据类型:列表、元组、集合与字典精讲)的核心内容。共 10 …

2026/10/12 8:28:52 阅读更多 →
Tiva C系列I2C μDMA突发传输原理与实战配置详解

Tiva C系列I2C μDMA突发传输原理与实战配置详解

1. 项目概述与核心价值在嵌入式系统开发中,I2C总线因其简洁的硬件连接和灵活的通信方式,成为了连接各类传感器、存储器和外设的“血管”。然而,当数据吞吐量增大或系统实时性要求提高时,传统的轮询或中断驱动数据传输方式往往会成…

2026/10/12 9:17:52 阅读更多 →
Cortex-M4中断机制深度解析:从NVIC原理到TM4C实战避坑指南

Cortex-M4中断机制深度解析:从NVIC原理到TM4C实战避坑指南

1. 项目概述:从硬件信号到软件响应的中断世界在嵌入式系统的世界里,中断机制就像是给微控制器装上了一套灵敏的“神经系统”。想象一下,你正在专心致志地写代码,突然有人敲门(外部事件),你不得不…

2026/10/2 4:54:44 阅读更多 →

最新新闻

AI芯片软硬件协同设计实战:从GPU瓶颈到专用架构的权衡

AI芯片软硬件协同设计实战:从GPU瓶颈到专用架构的权衡

1. 为什么GPU不能通吃所有AI场景:从算力垄断到专用芯片做了几年AI芯片的软硬件协同设计,我经常被问到同一个问题:现在GPU这么强,H100、A100都上万卡了,为什么还要费劲搞专用AI芯片?等GPU大规模铺开之后&…

2026/10/12 9:17:54 阅读更多 →
AI芯片软硬件协同设计:从MAC阵列到编译器工具链的实战解析

AI芯片软硬件协同设计:从MAC阵列到编译器工具链的实战解析

1. 先从产品视角看:AI芯片的软硬件设计到底在解决什么问题做芯片方向好几年了,每次有新同事入职,问的第一个问题基本都是"AI芯片和普通芯片到底差在哪"。这个问题看着基础,其实特别值得展开聊。AI芯片的软硬件设计&…

2026/10/12 9:17:54 阅读更多 →
FTP内网大文件传输实战:从被动模式到Python自动化

FTP内网大文件传输实战:从被动模式到Python自动化

简介:面向Java开发者的FTP文件传输资源包,解决在服务器与本地之间上传、下载文件的常见需求,适合正在学习Apache Commons Net或需要快速集成FTP/SFTP功能的项目人员。资源压缩后约106KB,仅含2个文件:一个Java源码文件和…

2026/10/12 9:17:54 阅读更多 →
Go 运行时锁竞争排查:使用 pprof -block 与 mutex 找出双 11 性能杀手

Go 运行时锁竞争排查:使用 pprof -block 与 mutex 找出双 11 性能杀手

双 11 前第二轮全链路压测,团队遇到了一个极其诡异的性能瓶颈。聚合网关跑在 8 核 16G 的容器里,当发压机把并发数从 2000 逐步拉升到 10000 时,服务吞吐量却死死卡在 8200 QPS 纹丝不动。更离奇的是,监控大盘上的 CPU 利用率只有…

2026/10/12 9:17:54 阅读更多 →
热点商品秒杀缓存设计:Redis 多级缓存与本地 LRU 缓存的协同抗压实录

热点商品秒杀缓存设计:Redis 多级缓存与本地 LRU 缓存的协同抗压实录

去年双 11 预售刚过零点,监控报警平台就发出了刺耳的猩红告警:Redis 核心集群的 04 号分片节点出网带宽瞬间飙到 98MB/s(千兆网卡已触顶),单核 CPU 占用直接顶死在 100%。紧接着,依赖该分片的一百多个无关商…

2026/10/12 9:17:54 阅读更多 →
凌晨一点的工位与耳机里的二五一和弦:在大厂解决内存泄漏的节奏冥想

凌晨一点的工位与耳机里的二五一和弦:在大厂解决内存泄漏的节奏冥想

园区大楼的中央空调已经在午夜十二点准时切换成低功率吹风模式。工位对面的几排屏幕早就暗了下去,空气里只剩下机房服务器微弱的嗡嗡声,还有机械键盘敲击的清脆声响。 耳机里循环放着 Bill Evans 钢琴三重奏里的经典段落。爵士乐里最迷人的莫过于“二五一…

2026/10/12 9:16:53 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →