用户程序自己控制内外存之间的数据交换的例子 盖技术要求用户清楚地了解程序的结构,并指 定各程序段调入内存的先后次序。 覆盖是一种早期的主存扩充技术。使用覆盖技 术,用户负担很大,且程序段的最大长度仍受内 存容量限制。因此,覆盖技术不能实现虚拟存储 器
• 用户程序自己控制内外存之间的数据交换的例子 是覆盖。 • 覆盖技术要求用户清楚地了解程序的结构,并指 定各程序段调入内存的先后次序。 • 覆盖是一种早期的主存扩充技术。使用覆盖技 术,用户负担很大,且程序段的最大长度仍受内 存容量限制。因此,覆盖技术不能实现虚拟存储 器
覆盖技术 把程序划分为若千个功能上相对独立的程序段,按照 其自身的逻辑结构将那些不会同时执行的程序段共享 同一块内存区域 程序段先保存在磁盘上,当有关程序段的前一部分执 行结束,把后续程序段调入内存,覆盖前面的程序段 (内存“扩大”了) 覆盖:一个作业的若干程序段,或几个作业的某些部 分共享某一个存储空间 般要求作业各模块之间有明确的调用结构,程序员 要向系统指明覆盖结构,然后由由操作系统完成自动 覆盖
覆盖技术 – 把程序划分为若干个功能上相对独立的程序段,按照 其自身的逻辑结构将那些不会同时执行的程序段共享 同一块内存区域 – 程序段先保存在磁盘上,当有关程序段的前一部分执 行结束,把后续程序段调入内存,覆盖前面的程序段 (内存“扩大”了) – 覆盖:一个作业的若干程序段,或几个作业的某些部 分共享某一个存储空间 – 一般要求作业各模块之间有明确的调用结构,程序员 要向系统指明覆盖结构,然后由由操作系统完成自动 覆盖
覆盖技术例(图) 作业X的常驻区 A(8K B 8K 10K CB覆盖区0 (10K) 12K 10K FI/EI/D 覆盖区1 (12K) 作业X的调
A 8K E 4K F 10K C 10K B 8K D 12K 作业X的调用结构 作业X的常驻区 A(8K) 覆盖区0 (10K) 覆盖区1 (12K) C B E D F 覆盖技术例(图)
操作系统控制方式又可进一步分为两种。一种 是交换( swapping)方式,另一种是请求调入 ( on demand)方式和预调入( on prefetch)方 请求调入方式是在程序执行时,如果所要访问 的程序段或数据段不在内存中,则操作系统 自动地从外存将有关的程序段和数据段调入 内存的一种操作系统控制方式。 而预调入则是由操作系统预测在不远的将来会 访问到的那些程序段和数据段部分,并在它 们被访问之前系统选择适当的时机将它们调 入内存的一种数据流控制方式
操作系统控制方式又可进一步分为两种。一种 是交换(swapping)方式,另一种是请求调入 (on demand)方式和预调入(on prefetch)方 式。 请求调入方式是在程序执行时,如果所要访问 的程序段或数据段不在内存中,则操作系统 自动地从外存将有关的程序段和数据段调入 内存的一种操作系统控制方式。 而预调入则是由操作系统预测在不远的将来会 访问到的那些程序段和数据段部分,并在它 们被访问之前系统选择适当的时机将它们调 入内存的一种数据流控制方式
引:多个程序并发执行,可以将暂时不 能执行的程序送到外存中,从而获得空闲 内存空间来装入新程序,或读入保存在外 存中而目前到达就绪状态的进程。交换单 位为整个进程的地址空间。 程序暂时不能执行的可能原因:处于阻塞状 态,低优先级(确保高优先级程序执行)
交换 • 引入:多个程序并发执行,可以将暂时不 能执行的程序送到外存中,从而获得空闲 内存空间来装入新程序,或读入保存在外 存中而目前到达就绪状态的进程。交换单 位为整个进程的地址空间。 – 程序暂时不能执行的可能原因:处于阻塞状 态,低优先级(确保高优先级程序执行);