理解存储器管理:逻辑地址到物理地址的转换

需积分: 0 0 下载量 157 浏览量 更新于2024-08-17 收藏 760KB PPT 举报
"如何根据逻辑地址得到p1,p2,w? - 汇编程序设计课件" 在计算机系统中,存储管理是操作系统的重要组成部分,它涉及到如何有效地利用有限的内存资源来运行多个程序。在本课件中,重点讲解了如何从逻辑地址获取页目录项p1和页表项p2,以及页内偏移量w,这是分页存储管理方式的基础。 首先,32位线性逻辑地址的构造是这样的:最高10位作为页目录项p1,中间10位作为页表项p2,剩下的低12位表示页内的偏移量w。如果有一个逻辑地址A,页大小为L,页表长度为N,那么可以通过以下方式计算p1和p2: 1. P1的计算:取逻辑地址A的高10位,然后除以页面大小L,并向下取整,再除以页表长度N,得到的结果即为P1。公式表示为:P1 = INT[INT[A/L]/N]。 2. P2的计算:对INT[A/L]除以N的结果取模,得到的余数即为P2。公式表示为:P2 = mod[INT[A/L]/N]。 3. W的计算:取逻辑地址A的低12位,这直接代表了在页内的偏移量,所以:W = mod[A/L]。 存储器管理通常包括以下几个方面: 1. 存储器的层次结构:多级存储器结构是为了平衡速度、容量和成本之间的关系,包括寄存器、高速缓存(Cache)、主存和磁盘缓存等层次。 2. 程序的装入和链接:程序在运行前需要经过编译、链接和装入的过程。绝对装入方式是在编译时确定地址,程序直接按绝对地址装入;可重定位装入方式则在装入时根据内存情况调整地址;动态运行时装入则在程序运行时进行地址转换。 3. 连续分配存储管理方式:包括单一连续区分配(所有程序都在一个连续区域)、固定分区分配(预先划分固定的内存区域)和动态分区分配(根据程序需求动态划分内存)。 4. 离散分配的存储管理方式:这种方式更灵活,包括基本分页存储(每个程序由多个固定大小的页组成,通过页表映射)、分段存储(每个程序按逻辑段划分,每段独立寻址)和段页式存储(结合分段和分页,先通过段表找到页表,再通过页表找到实际地址)。 这些概念是操作系统课程中关于存储管理的核心内容,理解它们有助于深入理解计算机如何管理和使用内存,以及程序如何在内存中运行。