一、计算机体系结构/内存分层体系
1、计算机基本硬件结构
2、内存层次结构
3、操作系统在内存管理方面需要完成的目标
抽象:应用程序在内存中运行的时候能够不考虑底层细节(如:物理内存在什么地方?外设在什么地方?),只需访问一个连续的地址空间,这个地址空间被称为逻辑地址空间。
保护:在内存中可以运行多个不同的应用程序,不同进程之间可能会相互干扰,我们需要一种机制来保护某个进程不被其他进程所破坏。
共享:进程之间也需要进行交互(如:进程之间的数据传递),操作系统能够保证各个进程之间能够安全可靠地进行数据传递。
虚拟化:当多个进程同时进行的时候,内存可能不够用,这时我们可以临时把一些不需要访问的数据放到硬盘上,以缓解内存的紧张。
在这个例子中我们能看到正在占用内存的除了操作系统内核之外还有P1、P2、P3、P4,但是主存的空间不够了,这时P4进程可能正在等待某一个数据来继续执行,这个数据可能需要一定的时间来获取,所以此时我们可以将P4的数据暂时放到硬盘上以保证P1、P2、P3能够正常执行。
4、在操作系统中管理内存的基本方法
- 程序重定位
- 分段
- 分页
- 虚拟内存
- 按需分页虚拟内存
5、方法的实现高度依赖硬件
- 必须知道内存架构
- MMU(内存管理单元):硬件组件负责处理CPU的内存访问请求