计算机体系结构/内存分层体系
计算机体系结构
- CPU:控制程序执行
- 内存:放置程序代码和数据
- 设备(I/O)
内存分层体系
- 寄存器和缓存:CPU可以直接访问,操作系统无法控制,速度快但容量有限
- 主存/物理内存:放置操作系统本身以及要运行的代码,容量较大,速度较慢
- 磁盘/虚拟内存:容量大,速度慢
在操作系统的内存管理范例
操作系统要完成的目标
- 抽象:希望应用程序在内存中运行时,不用考虑底层的运行细节,比如不用考虑外设或者硬盘在什么地方,只需访问一个连续的地址空间(称为逻辑地址空间)。
- 保护:运行多个应用程序时,程序间会相互访问,需要有一个机制来保护自己的地址空间,防止别的程序的破坏。
- 共享:进程之间需要进行交互,提供机制使进程间能够安全、可靠的进行数据传递
- 虚拟化:当内存中放了很多应用程序时,会出现内存不够的情况。那么如何让正在运行的应用程序获得所需要的内存空间呢?可以将最需要的数据放在内存中,暂时不需要的数据放在硬盘上,这样可以实现一种虚拟的、容量大的地址空间。
在操作系统中管理内存的不同方法
程序重定位、分段、分页、虚拟内存、按需分页虚拟内存。
实现高度依赖于硬件
-
必须知道内存架构
-
MMU(内存管理单元):硬件组件负责处理CPU的内存访问请求