存储器工作原理
程序链接
链接库
静态链接
程序装载到内存和运行前链接
动态链接
内存一边装载程序一边链接,生成可执行程序
运行时连接
程序执行时链接
地址重定位
可执行程序逻辑地址转换成物理地址的过程
- 静态地址重定位
-
动态地址重定位
程序执行过程中,当 CPU 引用内存地址时,由硬件截取逻辑地址,并在它被发送到内存之前加上重定位寄存器的值,以便实现地址转换 - 运行时链接地址重定位
运行前不必装载全部运行代码
连续存储管理
MMU
支撑存储系统的底层硬件
分页存储管理
image.png
翻译快表(TLB)
页表可以放在内存,访问数据要访问内存两次,一次访问页表,一次访问数据
翻译快表,放在相联存储器(一种硬件,比内存快),用来存放进程最近访问的部分页表项
反置页表用哈希
分段存储管理
程序分段结构
二维地址结构,为什么?http://blog.csdn.net/top_along/article/details/37875267
因为段之间的地址不一定连续,段内地址连续
页表为一维地址,一维页表地址可以拆分成页框号和页内位移
目的
满足用户(程序员)编程和使用上的习惯
image.png
分段和分页的比较
- 分段是信息的逻辑单位,是用户可见的,段长由用户根据需求设定,源程序(段号、段内位移)经链接装配后仍保持二维地址结构,引入目的是满足用户模块化程序设计的需要
- 分页是信息的物理单位,用户不可见,页长由系统决定,源程序(页号,页内位移)经链接装配后变成一维地址,引入的目的是实现离散分配,并提高内存利用率
虚拟存储管理
在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换的功能,能从逻辑上为用户提供一个比物理内存容量大得多的、可寻址的内存储器
image.png
虚存对用户隐蔽可用物理内存的容量和操作细节,虚存容量与物理内存无关,而受限于计算机地址结构和磁盘容量
用户只需要在逻辑地址中间编程,大大方便了编写程序工作,系统负责内存分配和地址映射,把逻辑地址最终转换为物理地址
请求分页虚存管理的硬件支撑
支撑存储系统的底层硬件为MMU,存储管理部件(转换地址,是CPU一部分),它提供地址转换和存储保护功能,并支持虚存管理和多任务管理
- 管理硬件页表基址寄存器
- 分解逻辑地址
- 管理快表
-
访问页表
image.png
请求分页虚存地址转换过程
image.png
缺页中断率
不在内存中的概率
f = F / A
f——缺页中断率
F——不成功访问次数
A——总次数
看清楚题目问却缺页数还是缺页率
全局页面替换策略
- 最佳页面替换算法(OPTimal)
淘汰以后不再访问的页,或距现在最长时间后才访问的页 - 先进先出页面替换算法(FIFO)
- 最近最少使用页面替换算法(LRU)
淘汰最近一段时间未被访问的页












网友评论