局部性原理( principle of locality)指程 序在执行过程中的一个较短时期,所执 的指令地址和指令的操作数地址,分 局限于一定区域。还可以表现为 时间局部性:一条指令的一次执行和下次 执行,一个数据的一次访问和下次访问都 集中在一个较短时期内; 空间局部性:当前指令和邻近的几条指 令,当前访问的数据和邻近的数据都集中一 在一个较小区域内
• 局部性原理(principle of locality):指程 序在执行过程中的一个较短时期,所执 行的指令地址和指令的操作数地址,分 别局限于一定区域。还可以表现为: – 时间局部性:一条指令的一次执行和下次 执行,一个数据的一次访问和下次访问都 集中在一个较短时期内; – 空间局部性:当前指令和邻近的几条指 令,当前访问的数据和邻近的数据都集中 在一个较小区域内
局部性原理的具体体现 程序在执行时,大部分是顺序执行的指令,少 部分是转移和过程调用指令。 过程调用的嵌套深度一般不超过5,因此执行 的范围不超过这组嵌套的过程。 程序中存在相当多的循环结构,它们由少量指 组成,而被多次执行。 程序中存在相当多对一定数据结构的操作,如 数组操作,往往局限在较小范围内
• 局部性原理的具体体现 – 程序在执行时,大部分是顺序执行的指令,少 部分是转移和过程调用指令。 – 过程调用的嵌套深度一般不超过5,因此执行 的范围不超过这组嵌套的过程。 – 程序中存在相当多的循环结构,它们由少量指 令组成,而被多次执行。 – 程序中存在相当多对一定数据结构的操作,如 数组操作,往往局限在较小范围内
虚抄存储器的原理 在程序装入时,不必将其全部读入到内存,而 需将当前需要执行的部分页或段读入到内存,就 可让程序开始执行。 在程序执行过程中,如果需执行的指令或访问的 数据尚未在内存(称为缺页或缺段),则由处理 器通知操作系统将相应的页或段调入到内存,然 后继续执行程序。 方面,操作系统将内存中暂时不使用的页或 段调出保存在外存上,从而腾出空间存放将要装 入的程序以及将要调入的页或段。只需程序的 部分在内存就可执
虚拟存储器的原理 • 在程序装入时,不必将其全部读入到内存,而只 需将当前需要执行的部分页或段读入到内存,就 可让程序开始执行。 • 在程序执行过程中,如果需执行的指令或访问的 数据尚未在内存(称为缺页或缺段),则由处理 器通知操作系统将相应的页或段调入到内存,然 后继续执行程序。 • 另一方面,操作系统将内存中暂时不使用的页或 段调出保存在外存上,从而腾出空间存放将要装 入的程序以及将要调入的页或段。只需程序的一 部分在内存就可执行
虚拟有储技术的特征 不连续性;物理内存分配的不连续,虚拟地址空 间使用的不连续(数据段和栈段之间的空闲空 间,共享段和动态链接库占用的空间) 部分交换:与交换技术相比较,虚拟存储的调入 和调出是对部分虚拟地址空间进行的; 大空间:通过物理内存和快速外存相结合,提供 大范围的虚拟地址空间 总容量不超过物理内存和外存交换区容量之和
虚拟存储技术的特征 • 不连续性:物理内存分配的不连续,虚拟地址空 间使用的不连续(数据段和栈段之间的空闲空 间,共享段和动态链接库占用的空间) • 部分交换:与交换技术相比较,虚拟存储的调入 和调出是对部分虚拟地址空间进行的; • 大空间:通过物理内存和快速外存相结合,提供 大范围的虚拟地址空间 – 总容量不超过物理内存和外存交换区容量之和
用户编写的源程序,首先要由编译程序编 详成CPU可执行的目标代码。然后,链接 序把一个进程的不同程序段链接起来以 完成所要求的功能。 不同的程序段,应具有不同的地址。如何 安排这些编译后的目标代码的地址
• 用户编写的源程序,首先要由编译程序编 译成CPU 可执行的目标代码。然后,链接 程序把一个进程的不同程序段链接起来以 完成所要求的功能。 • 不同的程序段,应具有不同的地址。如何 安排这些编译后的目标代码的地址