操作系统中的内存回收机制与存储管理

需积分: 47 0 下载量 54 浏览量 更新于2024-07-13 收藏 2.13MB PPT 举报
"回收内存举例-操作系统第四章" 在操作系统中,内存管理是至关重要的一个环节,它确保了多道程序高效、稳定地运行。本章主要探讨了存储器管理的相关概念,包括存储体系、程序的链接和装入、连续分配方式、分页和分段存储管理方式以及虚拟存储器等。 4.1 存储体系 存储体系是计算机硬件中的关键部分,它由高速缓存(Cache)、主存(Main Memory)和辅存(Disk)等不同层次组成,每个层次都有不同的速度和容量特性。存储管理的目标之一是通过合理的数据管理和地址转换,平衡速度、容量和成本,实现存储器的高效利用。 4.2 程序的链接和装入 程序的链接是在编译后的目标代码与其他模块(如库函数)组合,形成可执行文件的过程。装入则是将这个可执行文件加载到内存中,以便CPU执行。链接可以分为静态链接和动态链接,前者在程序运行前完成,后者在运行时进行。 4.3 连续分配方式 连续分配方式是早期操作系统中常见的内存管理策略,它将整个内存空间划分为固定大小的区域,分配给各个进程。包括单一连续分配(所有进程共享一个连续区域)、固定分区分配(预先划分多个固定大小的分区)和动态分区分配(根据进程需求动态划分)。 4.4 分页存储管理方式 分页存储管理方式将内存和进程的地址空间划分为固定大小的页,每个进程有自己的页表来记录页的物理地址。这种方式提高了内存的利用率,但需要页表和地址变换机构。 4.5 分段存储管理方式 分段存储管理方式按照逻辑结构将进程划分为多个段,每个段有自己的名字和长度。这种方法更适应于模块化编程,但可能导致外部碎片。 4.6 虚拟存储器 虚拟存储器是一种从逻辑上扩展内存的技术,通过将硬盘空间作为内存的一部分使用,实现了大程序在小内存中的执行。它结合了分页或分段机制,使用页面替换算法(如LRU、FIFO等)在内存不足时将部分页面换出到磁盘。 4.7 请求分页/分段存储管理 请求分页和请求分段是虚拟存储器的具体实现,允许进程的部分在内存中,其余部分在磁盘上,按需调入调出。 4.8 页面置换算法 页面置换算法决定了当内存满而需要新页面时,选择哪个页面替换出去。常见的算法有最佳(OPT)、最近最久未使用(LRU)、先进先出(FIFO)等。 4.9 请求分段存储管理 请求分段管理方式与请求分页类似,但每个段独立考虑,增加了灵活性,但也可能导致更多的外部碎片。 在回收内存的例子中,当进程P1和P3运行结束后,需要对它们占用的内存分区进行处理。P1所占分区的上下都不空闲,所以将其信息加入空闲分区链。而P3所占分区下边的分区F1是空闲的,系统会找到F1节点,合并这两个分区,更新F1的起始地址和长度。这种内存回收操作有助于提高内存的利用率,减少内部碎片,并为后续进程分配更大的连续空间。