操作系统中的内存回收机制与存储管理
需积分: 47 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的起始地址和长度。这种内存回收操作有助于提高内存的利用率,减少内部碎片,并为后续进程分配更大的连续空间。
2022-03-29 上传
461 浏览量
163 浏览量
2021-10-05 上传
2021-10-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
正直博
- 粉丝: 48
- 资源: 2万+
最新资源
- radio-pomarancza:Szablon PHP,HTMLCSS pod广播互联网
- mini-project-loans:Lighthouse Labs迷你项目,用于创建简单的贷款资格API
- 行业分类-设备装置-可远程控制的媒体分配装置.zip
- 密码战
- Python库 | OT1D-0.3.5-cp39-cp39-win_amd64.whl
- Reactivities
- VB仿RealonePlayer播放器的窗体界面
- symfony_issuer_40452
- healthchecker
- 行业分类-设备装置-可编程多媒体控制器的编程环境和元数据管理.zip
- dosmouse:只是为了好玩:是我在汇编程序I386中编写的一个程序,用于在MsDOS控制台上使用鼠标(在Linux上,类似的程序称为gpm)
- Python库 | os_client_config-1.22.0-py2.py3-none-any.whl
- HERBv1
- BuzzSQL-开源
- show-match:一个允许用户从特定频道搜索电视节目并保存该列表以供将来参考的应用
- ETL-Project:该项目将利用ETL流程