理解存储器管理:逻辑地址到物理地址的转换
需积分: 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. 离散分配的存储管理方式:这种方式更灵活,包括基本分页存储(每个程序由多个固定大小的页组成,通过页表映射)、分段存储(每个程序按逻辑段划分,每段独立寻址)和段页式存储(结合分段和分页,先通过段表找到页表,再通过页表找到实际地址)。
这些概念是操作系统课程中关于存储管理的核心内容,理解它们有助于深入理解计算机如何管理和使用内存,以及程序如何在内存中运行。
2009-02-18 上传
2022-02-28 上传
点击了解资源详情
点击了解资源详情
2023-09-04 上传
2012-04-12 上传
912 浏览量
2018-03-27 上传
点击了解资源详情
速本
- 粉丝: 20
- 资源: 2万+
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器