操作系统区别于一般软件的两大核心功能:进程管理、存储管理
主存管理
一般来说 ,主存=内存
概述
现代操作系统的主存区分类: { 物 理 主 存 : 由 0 ( m − 1 ) 个 物 理 地 址 组 成 逻 辑 主 存 \left\{\begin{aligned}物理主存:由0~(m-1)个物理地址组成\\逻辑主存\end{aligned}\right. { 物理主存:由0 (m−1)个物理地址组成逻辑主存
用户看到的存储空间为逻辑地址空间,信息真正存储在物理主存中。
优点:(1)用户不必了解繁杂的物理主存(2)操作系统可实现动态的主存分配
物理地址(绝对地址/实地址):
- 是计算机主存单元的真实地址
- 物理地址的集合所对应的空间为主存空间
- 主存中的一个区域是物理地址集合的一个递增整数序列子集n、n+1、… 、n+m 所对应的主存空间
逻辑地址(虚地址):
- 用户直接使用物理地址会非常困难;且当多个共享主存时,不可能由用户自行分配主存
- 系统为每个用户提供0~(n-1)的一组逻辑地址(即一个虚拟地址空间)
- 每个应用程序相信它的主存是由0单元开始的一组连续地址组成
- 用户的程序地址(指令地址或操作数地址)均为逻辑地址
故而,地址映射: 逻辑地址→物理地址。
程序的逻辑组织:
存储区的组织方式虽然是一维的(线性的)存储空间,它的地址从零开始顺序编号直至主存上界为止。
而程序的逻辑组织有两种: { 一 维 地 址 结 构 二 维 地 址 结 构 \left\{\begin{aligned}一维地址结构\\二维地址结构\end{aligned}\right. { 一维地址结构二维地址结构
主存分片:
现代操作系统中,主存以分片方式实现共享。
主 存 分 片 方 式 { 按 区 分 配 : 划 分 为 大 小 不 等 的 区 域 , 按 用 户 程 序 的 实 际 需 要 决 定 分 区 大 小 ( 也 称 按 段 分 配 ) 按 页 分 配 : 划 分 为 大 小 相 等 的 块 , 以 块 为 单 位 根 据 用 户 程 序 的 实 际 需 要 决 定 应 分 配 的 块 数 主存分片方式 \begin{cases} 按区分配:划分为大小不等的区域,按用户程序的实际需要决定分区大小(也称 按段分配)\\ 按页分配:划分为大小相等的块,以块为单位根据用户程序的实际需要决定应分配的块数 \end{cases} 主存分片方式{ 按区分配:划分为大小不等的区域,按用户程序的实际需要决定分区大小(也称按段分配)按页分配:划分为大小相等的块,以块为单位根据用户程序的实际需要决定应分配的块数
- 方式一:按区分配:使一个主存区域可以存放一个应用程序的连续地址空间;按段分配:主存区域存放一个应用程序的一个逻辑分段的地址
- 方式二:页式系统:将一个应用程序的地址空间划分成一系列页面,然后放置到主存的块中去
主存管理的功能
现代操作系统主存管理的主要功能: { 地 址 映 射 主 存 分 配 主 存 保 护 虚 拟 主 存 \left\{\begin{aligned}地址映射\\主存分配\\主存保护\\虚拟主存\end{aligned}\right.