存储管理
存储管理在操作系统中扮演着重要的角色。它处理计算机系统中使用操作系统的存储过程。其详细信息如下:
内存管理
内存管理在操作系统中扮演着重要的角色。它处理内存以及将进程从磁盘移动到主内存以执行,然后再移回磁盘的过程。
内存管理中最重要的概念是分页和分段。下面将详细介绍这些主题:
分页
在计算机系统中,可以创建虚拟内存,其大小超过实际可用内存(即物理内存)。为了实现这一点,使用了分页的概念。
在分页中,逻辑地址空间被划分为页面,物理地址空间被划分为帧。页面和帧的大小相同。进程由页面数来衡量。
现在,这些页面通过将页面存储到帧中从逻辑地址空间带到物理地址空间。创建页面表以找出哪个页面存储在哪个帧中。
以下示例更清楚地解释了此概念:
以上示例的解释如下:
- 逻辑地址为 13 位。其中前 3 位表示页号,其余位表示页面偏移量。物理地址为 12 位。其中前 2 位表示帧号,其余位表示页面偏移量。
- 页面和帧的大小为 1 KW。逻辑地址空间中有 8 个页面,物理地址空间中有 4 个帧。
- 页面表指定页面在帧中的位置。它包含 8 行,每行对应一个页面,这些行的内容是存储该特定页面的帧。这称为页面表项。
- 例如,在页面表中,第 7 行包含值 00。这意味着页面 7 存储在物理地址空间中的帧 0 中。
分段
这是一种内存管理技术,支持用户对内存的视图。逻辑地址空间被划分为一组段。这些段具有名称和内存长度。因此,段地址使用其名称、基地址和长度来指定。
逻辑地址空间中的段如下所示:
虚拟内存
虚拟内存中最重要的概念是按需分页和抖动。下面将详细介绍这些主题:
按需分页
按需分页基本上包含带有交换的分页。进程的页面仅在需要时才被调入主内存。
按需分页所需的步骤如下:
- 检查页面需求是否为有效的内存访问。
- 如果引用无效,则终止进程。但是,如果引用有效且页面在主内存中不可用,则将其调入。
- 首先找到一个空闲帧,然后将所需的页面读入该帧。
- 然后修改内部页面表,以指示所需的页面现在在主内存中可用。
- 完成所有这些操作后,进程可以访问该页面,就好像它始终在内存中可用一样。
说明按需分页的图表如下:
抖动
当进程没有足够的帧时,就会发生抖动。假设主内存中的所有进程页面都处于活动状态。如果它需要来自辅助存储器的另一个页面,则需要替换一个页面。但是,被替换的页面也处于活动状态,并且通过替换另一个页面将其调回内存。因此,如果系统中发生的分页操作多于处理操作,则说明发生了抖动。
抖动会导致系统出现许多性能问题。消除抖动的一种方法是减少系统的多道程序设计程度。另一种方法是使用工作集模型。
广告