计算机的体系结构
计算机基本硬件结构 :cpu 内存 外设
内存层次结构:寄存器 ->cache->主存->磁盘 速度越来越慢 容量越来越大
OS怎么管理虚拟内存,需要完成的事情:
1.抽象:逻辑地址空间
2.保护:独立地址空间(不同程序的地址空间需要隔离)
3.共享:访问相同内存
4.虚拟化:更多的地址空间(将最需要的数据放在内存中 不需要的放在disk,此过程对应用程序透明)
逻辑地址–(MMU)------->物理地址
MMU(内存管理单元):硬件组件负责处理cpu的内存访问请求
在OS中管理内存的不同方法:
程序重定位
分段
分页
虚拟内存
按需分页虚拟内存
这些方法的实现高度依赖于硬件:
必须知道内存架构
MMU
地址空间 地址生成
地址空间定义
物理地址空间:(disk,主存):硬件支持的地址空间
逻辑地址空间:一个运行程序所拥有的内存范围
地址生成过程
逻辑地址:
函数名就是地址(c语言,汇编)
编译->汇编->链接->载入(程序重定位)
物理地址:
cpu方面
1.运算器需要在逻辑地址的内容
2.MMU寻找在逻辑地址和物理地址之间的映射
3.控制器从总线发送在物理地址的内存内容的请求
内存方面
4.内存发送物理地址内存的内容给cpu
os方面 建立逻辑地址和物理地址之间的映射
安全检查
逻辑地址空间:界限寄存器 基址寄存器(操作系统设置)