您现在的位置: 万盛学电脑网 >> 电脑基础 >> 电脑入门 >> 正文

电脑操作系统基础——3 存储器管理

作者:佚名    责任编辑:admin    更新时间:    2015-10-21 18:04:31

3.3 存储器管理
3.3.1 存储管理概述

    问题的提出:

n        计算机处理的数据和程序都是存放在外存中,使用时才调入内存。

n        调入内存过程中如何分配存储空间?

n        多个程序的存储空间怎样分配?

n        在小内存中能否运行大程序?

n        同一程序多次装入内存其地址相同吗?即如何解决程序的重定位问题?

n      怎样解决存储保护?


(1)存储器管理的功能

主要有4个功能:

n        存储分配。按分配策略和算法分配主存空间;

n        地址变换。将程序在外存中的逻辑地址转换为在内存中的物理地址;

n        存储保护。保护各类程序(系统的、用户的、应用程序的)及数据区免遭破坏;

n        存储扩充。解决在小的存储空间中运行大程序的问题,即虚拟存储问题。

(2)存储分配

n      直接分配  在源程序中直接使用主存的物理地址。对用户要求高、使用不方便、易出错。早期计算机系统中使用。

n      静态分配  在装入内存前,一次性说明程序所需要的地址空间。确定后在整个程序执行过程中不再改变。简单、利用率低、难于实现多道程序对资源的共享。

n      动态分配  在程序被装入主存或在执行过程中,才确定其存储分配。管理复杂、但利用率高,容易实现主存的资源共享。

在现代操作系统中,主要采用动态分配方式。

(3)地址变换

由源程序中的符号名空间→目标程序的逻辑地址空间→主存中的物理地址空间。

(4)存储保护

n      内存中存放了各类程序。为确保它们在各自的存储区内独立运行,互不干扰,系统必须提供安全保护功能。

n      用“分隔法”把各类程序使用区域隔开,使得各类程序之间不可能发生有意或无意的损害行为。

n      存储区域划分为:用户区域和系统区域

(5)存储扩充

如何在有限的主存空间中,处理大于主存的程序。

扩充主存常用的有效方法:

ü      “自动覆盖”技术:采用分段方法,将大的程序划分为在主存中可以容纳的独立的逻辑段。每次只调入其中的一段进行处理。后调入的程序使用前面程序使用过的存储空间。

ü    &