资源描述
虚拟存储管理1第第6章章 虚拟虚拟存储管理存储管理虚拟存储器的引入虚拟存储器的引入 请求页式存储管理请求页式存储管理 请求段式存储管理请求段式存储管理 虚拟存储管理26.1虚拟存储器的引入虚拟存储器的引入前面介绍的存储管理方案要求作业全部装入内存才可运前面介绍的存储管理方案要求作业全部装入内存才可运行。但这会出现两种情况:行。但这会出现两种情况:有的作业因太大,内存装不下而无法运行。有的作业因太大,内存装不下而无法运行。系统中作业数太多,因系统容量有限只能让少数作业先系统中作业数太多,因系统容量有限只能让少数作业先运行。运行。虚拟存储管理3局部性原理(理论基础)局部性原理(理论基础)19681968年年P.Denning P.Denning 提出提出程序执行时,大多数情况下是顺序执行的。程序执行时,大多数情况下是顺序执行的。过程调用会使程序的执行轨迹从一部分内存区域转至另一过程调用会使程序的执行轨迹从一部分内存区域转至另一部分区域,部分区域, 但过程调用的深度不会超过但过程调用的深度不会超过5 5。程序中有许多循环语句,这些语句会重复多次执行。程序中有许多循环语句,这些语句会重复多次执行。程序中对数据结构的操作,往往局限在很小的范围内。程序中对数据结构的操作,往往局限在很小的范围内。局部性原理局部性原理虚拟存储管理4局部性的表现局部性的表现时间局部性时间局部性u程序中的的某条指令一旦执行,不久后会程序中的的某条指令一旦执行,不久后会再次执行。再次执行。空间局部性空间局部性u程序一旦访问某存储单元,不久后会访问程序一旦访问某存储单元,不久后会访问其附近的存储单元。其附近的存储单元。虚拟存储管理5虚拟存储器的定义虚拟存储器的定义u 基于局部性理论,程序在执行时常常会局部于某一存储基于局部性理论,程序在执行时常常会局部于某一存储单元附近。单元附近。u 一个进程在运行时,没有必要将其全部装入内存,而仅一个进程在运行时,没有必要将其全部装入内存,而仅将那些当前要运行的那部分装入内存,其余部分可以暂将那些当前要运行的那部分装入内存,其余部分可以暂时留在磁盘。时留在磁盘。u 当进程访问不在内存的那部分程序和数据时再将它调入当进程访问不在内存的那部分程序和数据时再将它调入内存。内存。u 如果此时内存已满,无法装入新的程序和数据,可以将如果此时内存已满,无法装入新的程序和数据,可以将暂时不用的部分程序和数据置换出去,腾出内存空间后暂时不用的部分程序和数据置换出去,腾出内存空间后再将需要的调入内存,使进程能继续运行。再将需要的调入内存,使进程能继续运行。虚拟存储管理6虚拟存储器的定义虚拟存储器的定义u 这样一来,可以使得一个很大的程序在一个比较小的内这样一来,可以使得一个很大的程序在一个比较小的内存空间上运行;存空间上运行;u 也可以使内存中同时装入更多的进程并发地执行。也可以使内存中同时装入更多的进程并发地执行。u 从用户角度看,系统具有的内存容量要比实际大得多,从用户角度看,系统具有的内存容量要比实际大得多,所以称为虚拟存储器。所以称为虚拟存储器。虚拟存储管理7虚拟存储器的定义虚拟存储器的定义 所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。离散性离散性作业不装入连续的存储空间,内存分配采用离散分配方作业不装入连续的存储空间,内存分配采用离散分配方多次性多次性一个作业被分割,被多次调入内存。一个作业被分割,被多次调入内存。对换性对换性作业在运行过程中换进、换出内存。作业在运行过程中换进、换出内存。虚拟性虚拟性从逻辑上扩充了内存的容量。从逻辑上扩充了内存的容量。虚拟存储器的特征虚拟存储器的特征虚拟存储管理8u将虚拟存储器用在页式存储管理系统中,进程的多个页根将虚拟存储器用在页式存储管理系统中,进程的多个页根据需要调入内存,当内存空间紧张时再将暂时不用的页调据需要调入内存,当内存空间紧张时再将暂时不用的页调出。出。u因为页是根据需要请求调入的,因此被称为请求页式存储因为页是根据需要请求调入的,因此被称为请求页式存储管理系统。管理系统。u实现请求页式存储管理系统,需要一定的硬件支持。除了实现请求页式存储管理系统,需要一定的硬件支持。除了需要一定容量的内存和外存兑换区之外,还需要页表机制、需要一定容量的内存和外存兑换区之外,还需要页表机制、缺页中断机构和地址变换机构。缺页中断机构和地址变换机构。6.26.2请求页式存储管请求页式存储管理理虚拟存储管理9状态位状态位P P:记录该页是否在内存。记录该页是否在内存。P=1P=1该页在内存;该页在内存; P=0 P=0该页不在该页不在内存。内存。访问字段访问字段A A:记录该页在一段时间内被访问的次数。记录该页在一段时间内被访问的次数。修改位修改位M M:记录该页在内存期间是否被修改过。记录该页在内存期间是否被修改过。M=1M=1该页调入内存后被修改过该页调入内存后被修改过; M=0 M=0该页调入内存后未被修改过。该页调入内存后未被修改过。外存地址:外存地址: 该页在外存的地址。该页在外存的地址。 页号 存储块号 状态位P 访问字段A 修改位M 外存地址页表的扩充页表的扩充6.26.2请求页式存储管请求页式存储管理理虚拟存储管理10缺页中断机构缺页中断机构主要表现在(与一般中断的主要区别):主要表现在(与一般中断的主要区别):在指令执行期间产生和处理中断信号。在指令执行期间产生和处理中断信号。通常通常CPUCPU外部中断,是在每条指令执行完毕后去外部中断,是在每条指令执行完毕后去检查是否有中断请求到达。而缺页中断是在指令检查是否有中断请求到达。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存执行期间,发现所要访问的指令或数据不在内存时产生和处理。时产生和处理。缺页中断是一种特殊的中断缺页中断是一种特殊的中断虚拟存储管理11缺页中断机构缺页中断机构主要表现在(与一般中断的主要区别):主要表现在(与一般中断的主要区别):一条指令执行期间,可能产生多次缺页中断一条指令执行期间,可能产生多次缺页中断。基于这些特性,系统中的硬件机构应能够保存多基于这些特性,系统中的硬件机构应能够保存多次中断时的状态,并保存最后能返回到中断前产次中断时的状态,并保存最后能返回到中断前产生缺页中断的指令处继续执行。生缺页中断的指令处继续执行。虚拟存储管理12地址变换机构地址变换机构u请求页式存储管理系统的地址变换机构,是在页式存储管理请求页式存储管理系统的地址变换机构,是在页式存储管理系统基础之上,为实现虚拟存储器而增加了某些功能所形成的系统基础之上,为实现虚拟存储器而增加了某些功能所形成的。u增加的功能有产生和处理缺页中断、从内存换出一页和调出增加的功能有产生和处理缺页中断、从内存换出一页和调出一页。一页。虚拟存储管理13地址变换机构地址变换机构开始页号页表长度越界中断Y查快表查页表页在快表中?NY页在内存?Y修改快表修改访问字段和修改位N形成物理地址结束保留CPU现场从外存找到缺页N内存满否?Y选择一页换出将该页写回外存该页修改过吗?Y从外存读入缺页修改页表NN缺页中断处理虚拟存储管理14请求页式存储管理驻留集管理请求页式存储管理驻留集管理驻留集管理包括以下内容:驻留集管理包括以下内容:保证进程正常运行所需的最少物理块数是多少?保证进程正常运行所需的最少物理块数是多少?为每个进程分配物理块时,其数目是固定的、还是可变的?为每个进程分配物理块时,其数目是固定的、还是可变的?如何为进程置换物理块,是局部置换?还是全局置换如何为进程置换物理块,是局部置换?还是全局置换?虚拟存储管理15物理块越多越好!物理块越多越好!虚拟?虚拟?随着为进程分配的物理块数目的减少,将使进随着为进程分配的物理块数目的减少,将使进程执行中的缺页率提高,从而降低进程的执行程执行中的缺页率提高,从而降低进程的执行速度。速度。能保证进程正常运行所需的最小物理块数是多能保证进程正常运行所需的最小物理块数是多少?少?这与计算机的硬件结构有关,取决于指令的格式、这与计算机的硬件结构有关,取决于指令的格式、功能和寻址方式。功能和寻址方式。最少物理块数最少物理块数进程正常运行需要多少物理块?虚拟存储管理16驻留集管理驻留集管理 u 除了分配策略,系统还要考虑换出策略。在考虑换出一除了分配策略,系统还要考虑换出策略。在考虑换出一页时,有两种置换策略:局部置换和全局置换。页时,有两种置换策略:局部置换和全局置换。u局部置换策略是指在缺页的进程中选择一页换出。局部置换策略是指在缺页的进程中选择一页换出。u全局置换策略是指在所有驻留在内存的页中进行选择,不全局置换策略是指在所有驻留在内存的页中进行选择,不管它属于哪个进程。管它属于哪个进程。u综合分配策略和置换策略,固定分配就意味着使用局部置综合分配策略和置换策略,固定分配就意味着使用局部置换。可变分配策略显然即可以采用局部置换策略,也可以采换。可变分配策略显然即可以采用局部置换策略,也可以采用全局置换策略。用全局置换策略。u于是可以组合出以下三种适用的策略:于是可以组合出以下三种适用的策略:虚拟存储管理17驻留集管理驻留集管理 固定分配、局部置换固定分配、局部置换为每个进程分配固定页数的内存空间、且运行过程中为每个进程分配固定页数的内存空间、且运行过程中不变。不变。当进程缺页时,只能从该进程在内存的几个页面中选当进程缺页时,只能从该进程在内存的几个页面中选出一页换出,然后再调入一页,保证进程的页数不变。出一页换出,然后再调入一页,保证进程的页数不变。可变分配、全局置换可变分配、全局置换系统开始先为每个进程分配一定数目的物理块。整个系统开始先为每个进程分配一定数目的物理块。整个系统有一空闲物理块链,当某进程缺页时,系统从空闲系统有一空闲物理块链,当某进程缺页时,系统从空闲链中选出一块分配给进程。链中选出一块分配给进程。空闲链为空时,空闲链为空时,OSOS从所有进程的页面中权衡选择一页从所有进程的页面中权衡选择一页换出。换出。可变分配、局部置换可变分配、局部置换分配同上,但进程缺页时,只能从该进程在内存的页分配同上,但进程缺页时,只能从该进程在内存的页面中选出一页换出。面中选出一页换出。虚拟存储管理18请求页式存储管理的调入策略请求页式存储管理的调入策略 何时调入页面何时调入页面预调:预计进程要访问的页,提前调入内存的方法。预调:预计进程要访问的页,提前调入内存的方法。 主要用于进程首次调入时使用。主要用于进程首次调入时使用。请调:当进程运行过程中发生缺页时,将缺页面调入内请调:当进程运行过程中发生缺页时,将缺页面调入内存。存。 实现策略简单,但是容易产生较多的缺实现策略简单,但是容易产生较多的缺页中页中 断,造成对磁盘断,造成对磁盘I/OI/O的次数增多,容易产生抖动。的次数增多,容易产生抖动。虚拟存储管理19请求页式存储管理的调入策略请求页式存储管理的调入策略 从何处调入从何处调入进程的所有页面都放在进程的所有页面都放在对换区对换区。只将修改过的页面放在只将修改过的页面放在对换区对换区,未的放在,未的放在文件区文件区。 UNIX UNIX系统方式,首次从文件区调入,换出时放在对换系统方式,首次从文件区调入,换出时放在对换区,以后从对换区调入。区,以后从对换区调入。虚拟存储管理20请求页式存储管理的页面置换算法请求页式存储管理的页面置换算法 最佳置换算法最佳置换算法OPTOPT先进先出置换算法先进先出置换算法FIFOFIFO最近最久未使用置换算法最近最久未使用置换算法LRULRU CLOCK CLOCK置换算法置换算法虚拟存储管理21最佳置换算法最佳置换算法7701701203203243201201707 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1结果结果:页面换出6次,缺页9次。页面走向页面走向思想思想置换哪些不再使用,或最长时间内不再使用的页置换哪些不再使用,或最长时间内不再使用的页(即往后看(即往后看 看哪个数字出现比较靠后,替换它)。看哪个数字出现比较靠后,替换它)。虚拟存储管理22先进先出页面置换算法先进先出页面置换算法7701701203203243201201707 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 17701701201230433023012717 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1023042342201270170OPT与FIFO的比较结果结果: OPT页面换出6次,缺页9次。 FIFO页面换出12次,缺页15次。页面走向页面走向页面走向页面走向FIFO思想思想淘汰最先进入内存的页淘汰最先进入内存的页。OPT思想思想置换哪些不再使用,置换哪些不再使用,或最长时间内不再使用的页或最长时间内不再使用的页。虚拟存储管理23最近最久未使用最近最久未使用LRULRU页面置换算法页面置换算法7701701203203243201201707 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 17701701203203402032132107 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1240243710OPT与LRU的比较结果结果: OPT页面换出6次,缺页9次。 LRU 页面换出9次,缺页12次。页面走向页面走向页面走向页面走向思想思想用用“过去过去”的行为预测将来,置换哪些的行为预测将来,置换哪些“最近最久未使用最近最久未使用”的页的页。虚拟存储管理24CLOCKCLOCK页面置换算法页面置换算法 LRULRU性能较好,但实现困难!因此可用性能较好,但实现困难!因此可用CLOCKCLOCK算法。算法。为每页设一访问位,再将内存中的所有页面链接成为每页设一访问位,再将内存中的所有页面链接成一循环队列。一循环队列。 当某页被访问时,其访问位置当某页被访问时,其访问位置1 1。 置换算法在选择一页淘汰时,只需检查其访问位。置换算法在选择一页淘汰时,只需检查其访问位。u如果是如果是0 0,就选择该页换出;,就选择该页换出;u如果是如果是1 1,则重新将其置为,则重新将其置为0 0,暂不换出。,暂不换出。虚拟存储管理25CLOCKCLOCK页面置换算法页面置换算法除了考虑页面的使用情况外,还要考虑该页是否被修改过。除了考虑页面的使用情况外,还要考虑该页是否被修改过。由访问位由访问位A A和修改位和修改位M M组合成下面四种情况的组合:组合成下面四种情况的组合: A=0A=0,M=0M=0该页既未被访问过、又未被修改过,是最佳淘汰页。该页既未被访问过、又未被修改过,是最佳淘汰页。 A=0A=0,M=1M=1该页最近未被访问、但已被修改,可以被淘汰。该页最近未被访问、但已被修改,可以被淘汰。 A=1A=1,M=0M=0最近已被访问,但未被修改,该页有可能再被访问。最近已被访问,但未被修改,该页有可能再被访问。 A=1A=1,M=1M=1最近已被访问且被修改,该页可能再被访问。最近已被访问且被修改,该页可能再被访问。11从当前位置扫描循环队列,寻找从当前位置扫描循环队列,寻找1 1类页面。类页面。22若若11失败,开始第二轮扫描,寻找失败,开始第二轮扫描,寻找类页面,并将所经过的类页面,并将所经过的页面的访问位置页面的访问位置0 0。33若若22也失败,返回到开始位置,将所有的访问位复也失败,返回到开始位置,将所有的访问位复0 0,goto goto 11。虚拟存储管理26u请求页式存储管理系统的性能请求页式存储管理系统的性能u由于请求页式存储管理系统的性能优越,因此它成为当由于请求页式存储管理系统的性能优越,因此它成为当前最常用的一种存储管理方案。前最常用的一种存储管理方案。u但进程在运行时的缺页情况,会影响进程的运行速度和但进程在运行时的缺页情况,会影响进程的运行速度和系统的性能。系统的性能。u而缺页率的高低又与一个进程在内存的存储块数有关。而缺页率的高低又与一个进程在内存的存储块数有关。u下面分析缺页率对系统性能的影响:下面分析缺页率对系统性能的影响:虚拟存储管理27驻留集驻留集u 驻留集理论是在驻留集理论是在19681968年由年由P.DenningP.Denning提出并推广的,提出并推广的,它对虚拟存储器的设计有着深远的影响。它对虚拟存储器的设计有着深远的影响。u DenningDenning认为,进程在运行时对页面的访问是不均认为,进程在运行时对页面的访问是不均匀的。即往往在某段时间内的访问仅局限于较少的若匀的。即往往在某段时间内的访问仅局限于较少的若干页面;干页面;u 而在另一段时间内,则又可能仅局限于对另一些较而在另一段时间内,则又可能仅局限于对另一些较少的页面进行访问。少的页面进行访问。u如果能够预知进程在某段时间间隔内要访问哪些页如果能够预知进程在某段时间间隔内要访问哪些页面,并能将这些页面提前调入内存,将会大大地降低面,并能将这些页面提前调入内存,将会大大地降低缺页率,从而减少置换工作,提高缺页率,从而减少置换工作,提高CPUCPU的利用率。的利用率。虚拟存储管理28驻留集驻留集正确选择驻留集窗口大小:正确选择驻留集窗口大小:窗口大小窗口大小选择得过小,频繁产生缺页中断。选择得过小,频繁产生缺页中断。窗口大小窗口大小选择得很大,失去了虚拟存储器的意义。选择得很大,失去了虚拟存储器的意义。1824151823241718241817171524172424 182424 1515 1818 2323 2424 1717 1818 2418 1717 1515 2424 1717 24 182424 1524 15 1815 18 2318 23 2423 24 1724 17 1818 17 1517 15 24页访问序列窗口大小2 3 4 52424 1524 15 1824 15 18 2318 23 24 1724 18 17 152424 1524 15 1824 15 18 2315 18 23 24 17驻留集驻留集:即在某段时间间隔内,进程实际要访问的页即在某段时间间隔内,进程实际要访问的页面的集合。面的集合。虚拟存储管理29缺页率与物理块数的关系缺页率与物理块数的关系下限上限物理块数缺页率为进程分配的物理块数达到一定值图中拐点拐点处,缺页率保持在上下限之间虚拟存储管理30CPUCPU的利用率与多道程序数的关系的利用率与多道程序数的关系多道程序度CPU利用率抖动的产生抖动的产生在多道程序环境下,在多道程序环境下,并不是并不是“多道程序的多道程序的度越高,系统吞吐量度越高,系统吞吐量越大。越大。”当当CPUCPU的利用率达的利用率达到某一峰值后,若继到某一峰值后,若继续增加多道程度,将续增加多道程度,将产生产生抖动抖动。抖动预防方法抖动预防方法加载控制加载控制 L=S L=S准则准则(产生缺页的平均时间产生缺页的平均时间L等于系统处理缺页的平均等于系统处理缺页的平均时间时间 S S)采用局部置换采用局部置换挂起若干进程挂起若干进程虚拟存储管理31u具体预防措施:具体预防措施:u驻留集理论隐含了加载控制,只有驻留集足够大的进程驻留集理论隐含了加载控制,只有驻留集足够大的进程才允许执行。在确定每一个进程驻留集大小时,就确定才允许执行。在确定每一个进程驻留集大小时,就确定了进程的数目。了进程的数目。uDenningDenning于于19801980年提出了年提出了L=SL=S准则,它用于调整多道程序准则,它用于调整多道程序的道数,使产生缺页的平均时间的道数,使产生缺页的平均时间L L等于系统处理缺页的等于系统处理缺页的平均时间平均时间S S。性能表明,此时。性能表明,此时CPUCPU的利用率最大。的利用率最大。u系统在采取可变分配策略时,尽可能采取局部置换。到系统在采取可变分配策略时,尽可能采取局部置换。到某进程发生缺页时,仅在进程自己的页面内进行置换,某进程发生缺页时,仅在进程自己的页面内进行置换,不影响其他进程分配的存储块数。这样即使出现了抖动,不影响其他进程分配的存储块数。这样即使出现了抖动,也局限在较小的范围内。也局限在较小的范围内。1.1.当多道程序的道数出现偏高的情况时,简单而有效的方当多道程序的道数出现偏高的情况时,简单而有效的方法是挂起一些进程,以便腾出内存空间分配给出现抖动法是挂起一些进程,以便腾出内存空间分配给出现抖动的进程。的进程。虚拟存储管理32u与页式存储管理系统一样,段式存储管理系统也同样可以与页式存储管理系统一样,段式存储管理系统也同样可以实现虚拟存储器。实现虚拟存储器。u不同的是,请求页式存储管理系统以页为单位换进不同的是,请求页式存储管理系统以页为单位换进/ /换出,换出,而请求段式存储管理系统以段为单位进行置换。而请求段式存储管理系统以段为单位进行置换。u与请求页式存储管理系统一样,为了实现请求段式存储管与请求页式存储管理系统一样,为了实现请求段式存储管理系统,同样需要一定硬件的支持和配备相应的软件,同理系统,同样需要一定硬件的支持和配备相应的软件,同样有段表机制、缺段中断机构及地址变换机构。样有段表机制、缺段中断机构及地址变换机构。虚拟存储管理33请段式系统中段表的扩充请段式系统中段表的扩充 6.36.3请求段式存储管请求段式存储管理理 段号 段长 段始址 存取方式 状态位 访问字段 修改位 增补位 外存地址除段号、段长和段始址这些段式系统已有的基本表项之外,增除段号、段长和段始址这些段式系统已有的基本表项之外,增加了以下表项:加了以下表项:存取方式:用于标识本段的存取属性是只执行、只读,还是存取方式:用于标识本段的存取属性是只执行、只读,还是允许读允许读/ /写写状态位:指示该段是否已进驻内存状态位:指示该段是否已进驻内存访问字段:用于记录本段有多长时间没有被访问。置换算法访问字段:用于记录本段有多长时间没有被访问。置换算法在选择换出段时参考在选择换出段时参考修改位:表示该段调入内存后是否被修改过修改位:表示该段调入内存后是否被修改过增补位:这是请求段式存储管理系统中特有的字段,用于表增补位:这是请求段式存储管理系统中特有的字段,用于表示本段在运行过程中是否进行过动态增长示本段在运行过程中是否进行过动态增长外存地址:用于指出该段在外存的地址,供调入该段时使用外存地址:用于指出该段在外存的地址,供调入该段时使用虚拟存储管理34u请段式缺段中断机构请段式缺段中断机构u在请求段式存储管理系统中,调入、调出内存的单位是在请求段式存储管理系统中,调入、调出内存的单位是段,如果所要访问的段尚未调入内存,就产生缺段中断段,如果所要访问的段尚未调入内存,就产生缺段中断信号。信号。u请段式地址变换机构请段式地址变换机构u是在段式系统基础上形成的。由于要访问的段不一定在是在段式系统基础上形成的。由于要访问的段不一定在内存,因此在进行地址变换时,如果发现所要访问的段内存,因此在进行地址变换时,如果发现所要访问的段不在内存,必须将所缺的段调入内存,并修改段表中的不在内存,必须将所缺的段调入内存,并修改段表中的状态位。状态位。u请段式系统的内存管理请段式系统的内存管理u在请求段式管理系统中,对于物理内存的分配可以采取在请求段式管理系统中,对于物理内存的分配可以采取可变分区管理相似的方案。可变分区管理相似的方案。虚拟存储管理35动态链接动态链接L 间接地址间接地址动态链接动态链接装入时动态链接:在装入内存时,边装入边链接。装入时动态链接:在装入内存时,边装入边链接。运行时动态链接:运行时,用到哪个模块,再链接哪运行时动态链接:运行时,用到哪个模块,再链接哪个模块,用不到的模块可不装入内存。个模块,用不到的模块可不装入内存。间接字间接字 L=1 L=1:表示要动态链接,发出链接中断信号,转系统处理。表示要动态链接,发出链接中断信号,转系统处理。 L=0 L=0:直接地址。直接地址。动态链接的实现动态链接的实现虚拟存储管理36实现动态链接对编译器的要求实现动态链接对编译器的要求LOAD 1,X|MAINLOAD 1,0|1000X|MAIN=01 0 1004010010001004当某段的指令是访问本段内的地址时,将其译成直接当某段的指令是访问本段内的地址时,将其译成直接寻址指令寻址指令。当某段的指令是访问本段外的地址时,将其译成间接当某段的指令是访问本段外的地址时,将其译成间接寻址指令,并将链接中断位寻址指令,并将链接中断位L L置置1 1,设置链接中断处理程,设置链接中断处理程序。序。虚拟存储管理37动态链接过程0 1 120当程序执行到当程序执行到LOAD 1LOAD 1,0|10000|1000时,由于时,由于L=1L=1发出链接中断发出链接中断信号,信号,OSOS得到控制。得到控制。系统找到系统找到00段的段的10041004号单元处的符号串号单元处的符号串” X|“X|“,将将 X X 段调入内存,分配一个段号段调入内存,分配一个段号 X=1X=1,同时找到同时找到 =120Y=120后后修改间接字,并置修改间接字,并置L=0L=0。中段返回后,执行指令,此时中段返回后,执行指令,此时L=0L=0为直接寻址指令。为直接寻址指令。LOAD 1,0|1000X|1 0 1004010010001004虚拟存储管理38LOAD 1,0|1000X|MAIN=01 0 1004010010001004 段号 状态 段长 主存始址 0 1 1 0 2 0 3 0LOAD 1,0|1000MAIN=00 1 12001001000 段号 状态 段长 主存始址 0 1 1 1 2 0 3 0120X=1动态链接前动态链接后动态链接过程虚拟存储管理39P166-167/1,2,46789作业
展开阅读全文