存储管理


存储管理在操作系统中扮演着重要的角色。它处理使用操作系统在计算机系统中的存储过程。详细信息如下:

内存管理

内存管理在操作系统中扮演着重要的角色。它处理内存以及将进程从磁盘移动到主内存以进行执行,然后再移回磁盘的过程。

内存管理中最重要的概念是分页和分段。下面将详细介绍这些主题:

分页

在计算机系统中,可以创建比实际可用内存(即物理内存)更大的虚拟内存。为此,使用了分页的概念。

在分页中,逻辑地址空间被划分为页面,物理地址空间被划分为帧。页面和帧的大小相同。进程由页面数来衡量。

现在,这些页面通过将页面存储到帧中从逻辑地址空间被带入物理地址空间。创建页面表以查找哪个页面存储在哪个帧中。

以下示例更清晰地解释了此概念:

Paging

以上示例的解释如下:

  • 逻辑地址为13位。其中前3位表示页号,其余位表示页偏移量。物理地址为12位。其中前2位表示帧号,其余位表示页偏移量。
  • 页面和帧的大小为1KW。逻辑地址空间中有8个页面,物理地址空间中有4个帧。
  • 页面表指定页面在帧中的位置。它包含8行,每页一行,这些行的内容是存储该特定页面的帧。这称为页面表项。
  • 例如,在页面表第7行包含值00。这意味着页面7存储在物理地址空间的帧0中。

分段

这是一种支持用户内存视图的内存管理技术。逻辑地址空间被划分为一组段。这些段具有名称和内存长度。因此,段地址使用其名称、基地址和长度来指定。

逻辑地址空间中的段如下所示:

Segmentation

虚拟内存

虚拟内存中最重要的概念是按需分页和抖动。下面将详细介绍这些主题:

按需分页

按需分页基本上包含带有交换的分页。进程的页面只有在需要时才被调入主内存。

按需分页所需的步骤:

  • 检查页面需求是针对有效的内存访问还是无效的内存访问。
  • 如果引用无效,则终止进程。但是,如果引用有效且页面在主内存中不可用,则将其调入。
  • 首先找到一个空闲帧,然后将所需的页面读入该帧。
  • 然后修改内部页面表以指示所需的页面现在在主内存中可用。
  • 完成所有这些步骤后,进程可以访问该页面,就好像它始终在内存中可用一样。

说明按需分页的图表:

Demand Paging

抖动

当没有足够的帧供进程使用时,就会发生抖动。假设主内存中的进程的所有页面都处于活动状态。如果它需要来自辅助存储器的另一个页面,则需要替换一个页面。但是,被替换的页面也处于活动状态,它通过替换另一个页面又被调回内存。因此,如果系统中进行的分页多于处理,则发生了抖动。

抖动会导致系统的许多性能问题。消除抖动的一种方法是减少系统的多道程序设计程度。另一种方法是使用工作集模型。

更新于:2020年6月22日

9K+ 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告