存储器管理:段表与作业i的地址关系

需积分: 10 0 下载量 136 浏览量 更新于2024-07-11 收藏 2.62MB PPT 举报
"分段管理中作业i与段表、存储空间的关系-chapter4存储器管理" 在操作系统中,存储器管理是确保程序有效运行的关键部分。本章主要讨论了存储器的层次结构以及程序的装入和链接,特别是关注在分段存储管理下作业i与段表和存储空间之间的关系。 4.1 存储器的层次结构 存储器层次结构是现代计算机系统设计的基础,旨在平衡访问速度、容量和成本。这一结构通常包括寄存器、高速缓存(Cache)、主存和外存。寄存器是最快的但容量最小,而外存最慢但容量最大。高速缓存位于CPU和主存之间,用来缓解两者之间速度不匹配的问题,磁盘缓存则利用内存的一部分来提高磁盘I/O效率。 4.2 程序的装入和链接 程序在执行前需要经过编辑、编译、链接和装入四个阶段。链接过程将多个目标模块合并成一个可执行文件,解决模块间符号地址。装入阶段则涉及将逻辑地址转换为物理地址,以便程序能在内存中正确执行。 4.2.1 程序的装入方式 - 绝对装入方式:在编译时就确定程序在内存的固定位置。这种方法简单,但不适用于多道程序环境,因为多个程序可能需要相同的内存地址。 - 可重定位装入方式:允许程序在内存的任意位置装入,通过重定位装入器进行地址转换。 4.3 分段管理 分段存储管理是将程序逻辑结构划分为多个段,每个段对应一个特定功能。作业i的地址空间由多个段组成,例如1000、3200、5000、6000和8000。每个段有一个逻辑段号,如0、1、2、3、4。段表是操作系统维护的一个数据结构,记录每个段的起始地址和长度。例如,作业i的段表可能会显示段0在主存中的地址是3200,段1的地址是1500,以此类推。 在分段系统中,当作业i运行时,CPU生成的逻辑地址(段号和段内偏移量)会通过段表转换为物理地址。例如,如果作业i试图访问段0的第1000个字节,操作系统会查找段表找到段0的起始地址3200,然后加上段内偏移量1000,得到物理地址4200。 存储空间的分配根据主存的实际可用区域进行,例如,主存的K、P、L、N和S段分别对应于作业i的某段。这种动态分配策略使得内存可以更有效地使用,同时允许程序在运行时扩展或收缩。 总结来说,分段管理提供了一种灵活的方式来组织和管理程序的内存空间,使得每个程序的部分可以独立于其他部分进行修改和保护。通过段表,操作系统能够将逻辑地址映射到物理地址,从而实现程序在内存中的执行。同时,存储器的层次结构优化了数据的存取速度和成本,确保了系统的高效运行。