第4章存储体系 主要内容包括 几种常用的内存管理方法(分区、分页、分段) 内存的分配和释放算法(最先适应、最佳适应、 最坏适应、临近适应) 拟存储器的概念(部分装入) °控制主存和外存之间的数据流动方法 地址变换技术和内存数据保护与共享技术等 Windows,200/x内存管理
第4章 存储体系 • 主要内容包括: • 几种常用的内存管理方法(分区、分页、分段) • 内存的分配和释放算法(最先适应、最佳适应、 最坏适应、临近适应) • 虚拟存储器的概念(部分装入) • 控制主存和外存之间的数据流动方法 • 地址变换技术和内存数据保护与共享技术等 • Windows2000/xp内存管理
存销器是计算机系统的重要资源之 狂何程序和数据以及各种控制用的数据 结构都必须占用一定的存储空间 存储器由内有( primary storage)和外存 ( secondary storage)组成。 存储管理是指存储器资源(主要指内存并 涉及外存)的管理 内存由顺序编址的块组成,每块包含相应 的物理单元
• 存储器是计算机系统的重要资源之一。 • 任何程序和数据以及各种控制用的数据 结构都必须占用一定的存储空间 • 存储器由内存(primary storage)和外存 (secondary storage)组成。 • 存储管理是指存储器资源(主要指内存并 涉及外存)的管理。 • 内存由顺序编址的块组成,每块包含相应 的物理单元
存储层次结构 寄存器( register) 快速缓存( cache) 内存( primary storage) 外存( secondary storage) 微机中的存储层次组织: 访问速度越慢,容量越大,价格越便宜 最佳状态应是各层次的存储器都处于均衡的 繁忙状态
存储层次结构 外存(secondary storage) DOS核心 命令处理程序 内存(primary storage) 快速缓存(cache) 寄存器(register) •微机中的存储层次组织: –访问速度越慢,容量越大,价格越便宜; –最佳状态应是各层次的存储器都处于均衡的 繁忙状态
存储管理的功能一 分配和回收分配,回收算法及相应数据结构。 地址变换 可执行文件生成中的链接技术 程序加教(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 存储共享和保护: 代码和数据共享 地址空间访问权限(读、写、执行) 存储器扩充:存储器的逻辑组织和物理组织 由应用程序控制:覆盖; 由OS控制:交换(整个进程空间),虚拟存储的请求 调入和预调入(部分进程空间)一
存储管理的功能 • 分配和回收:分配、回收算法及相应数据结构。 • 地址变换: – 可执行文件生成中的链接技术 – 程序加载(装入)时的重定位技术 – 进程运行时硬件和软件的地址变换技术和机构 的地址变换技术和机构 • 存储共享和保护: – 代码和数据共享 – 地址空间访问权限(读、写、执行) • 存储器扩充:存储器的逻辑组织和物理组织; – 由应用程序控制:覆盖; – 由OS控制:交换(整个进程空间),虚拟存储的请求 调入和预调入(部分进程空间)
虚抄有储器 RTUAL MEMORY 内存价格昂贵,不可能用大容量的内存存储所有 被访间的或不被访问的程序与数据段。 丛存尽管访问速度较慢,但价格便宣,适合于存 放大量信息。 有储管理系统把进程中那些不经常被访问的程序 段和数据放入外存中,待需要访问它们时再将它 们调入内存
虚拟存储器(VIRTUAL MEMORY) • 内存价格昂贵,不可能用大容量的内存存储所有 被访问的或不被访问的程序与数据段。 • 外存尽管访问速度较慢,但价格便宜,适合于存 放大量信息。 • 存储管理系统把进程中那些不经常被访问的程序 段和数据放入外存中,待需要访问它们时再将它 们调入内存
局部性原理( principle of locality)指程 序在执行过程中的一个较短时期,所执 的指令地址和指令的操作数地址,分 局限于一定区域。还可以表现为 时间局部性:一条指令的一次执行和下次 执行,一个数据的一次访问和下次访问都 集中在一个较短时期内; 空间局部性:当前指令和邻近的几条指 令,当前访问的数据和邻近的数据都集中一 在一个较小区域内
• 局部性原理(principle of locality):指程 序在执行过程中的一个较短时期,所执 行的指令地址和指令的操作数地址,分 别局限于一定区域。还可以表现为: – 时间局部性:一条指令的一次执行和下次 执行,一个数据的一次访问和下次访问都 集中在一个较短时期内; – 空间局部性:当前指令和邻近的几条指 令,当前访问的数据和邻近的数据都集中 在一个较小区域内
局部性原理的具体体现 程序在执行时,大部分是顺序执行的指令,少 部分是转移和过程调用指令。 过程调用的嵌套深度一般不超过5,因此执行 的范围不超过这组嵌套的过程。 程序中存在相当多的循环结构,它们由少量指 组成,而被多次执行。 程序中存在相当多对一定数据结构的操作,如 数组操作,往往局限在较小范围内
• 局部性原理的具体体现 – 程序在执行时,大部分是顺序执行的指令,少 部分是转移和过程调用指令。 – 过程调用的嵌套深度一般不超过5,因此执行 的范围不超过这组嵌套的过程。 – 程序中存在相当多的循环结构,它们由少量指 令组成,而被多次执行。 – 程序中存在相当多对一定数据结构的操作,如 数组操作,往往局限在较小范围内
虚抄存储器的原理 在程序装入时,不必将其全部读入到内存,而 需将当前需要执行的部分页或段读入到内存,就 可让程序开始执行。 在程序执行过程中,如果需执行的指令或访问的 数据尚未在内存(称为缺页或缺段),则由处理 器通知操作系统将相应的页或段调入到内存,然 后继续执行程序。 方面,操作系统将内存中暂时不使用的页或 段调出保存在外存上,从而腾出空间存放将要装 入的程序以及将要调入的页或段。只需程序的 部分在内存就可执
虚拟存储器的原理 • 在程序装入时,不必将其全部读入到内存,而只 需将当前需要执行的部分页或段读入到内存,就 可让程序开始执行。 • 在程序执行过程中,如果需执行的指令或访问的 数据尚未在内存(称为缺页或缺段),则由处理 器通知操作系统将相应的页或段调入到内存,然 后继续执行程序。 • 另一方面,操作系统将内存中暂时不使用的页或 段调出保存在外存上,从而腾出空间存放将要装 入的程序以及将要调入的页或段。只需程序的一 部分在内存就可执行
虚拟有储技术的特征 不连续性;物理内存分配的不连续,虚拟地址空 间使用的不连续(数据段和栈段之间的空闲空 间,共享段和动态链接库占用的空间) 部分交换:与交换技术相比较,虚拟存储的调入 和调出是对部分虚拟地址空间进行的; 大空间:通过物理内存和快速外存相结合,提供 大范围的虚拟地址空间 总容量不超过物理内存和外存交换区容量之和
虚拟存储技术的特征 • 不连续性:物理内存分配的不连续,虚拟地址空 间使用的不连续(数据段和栈段之间的空闲空 间,共享段和动态链接库占用的空间) • 部分交换:与交换技术相比较,虚拟存储的调入 和调出是对部分虚拟地址空间进行的; • 大空间:通过物理内存和快速外存相结合,提供 大范围的虚拟地址空间 – 总容量不超过物理内存和外存交换区容量之和
用户编写的源程序,首先要由编译程序编 详成CPU可执行的目标代码。然后,链接 序把一个进程的不同程序段链接起来以 完成所要求的功能。 不同的程序段,应具有不同的地址。如何 安排这些编译后的目标代码的地址
• 用户编写的源程序,首先要由编译程序编 译成CPU 可执行的目标代码。然后,链接 程序把一个进程的不同程序段链接起来以 完成所要求的功能。 • 不同的程序段,应具有不同的地址。如何 安排这些编译后的目标代码的地址