计算机操作系统存储器管理之三种扩大内存的方法

一:内存管理
包括内存管理和虚拟内存管理
内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(分页管理方式、分段管理方式、段页式管理方式)。
虚拟内存管理包括虚拟内存概念、请求分页管理方式、页面置换算法、页面分配策略、工作集和抖动。
二:三种扩大内存的方法
1.内存覆盖(进程内部)
覆盖的基本思想是:由于程序运行时并非任何时候都要访问程序及数据的各个部分(尤其是大程序),因此可以把用户空间分成一个固定区和若干个覆盖区。将经常活跃的部分放在固定区,其余部分按调用关系分段。首先将那些即将要访问的段放入覆盖区,其他段放在外存中,在需要调用前,系统再将其调入覆盖区,替换覆盖区中原有的段。
2.内存交换(进程之间)
交换(对换)的基本思想是,把处于等待状态(或在CPU调度原则下被剥夺运行权利)的程序从内存移到辅存,把内存空间腾出来,这一过程又叫换出;把准备好竞争CPU运行的程序从辅存移到内存,这一过程又称为换入。中级调度就是釆用交换技术。
它由计算机操作系统进行交换,不同进程,不同程序里的程序段。
有关交换需要注意以下几个问题:

交换需要备份存储,通常是快速磁盘。它必须足够大,并且提供对这些内存映像的直接访问。
为了有效使用CPU,需要每个进程的执行时间比交换时间长,而影响交换时间的主要是转移时间。转移时间与所交换的内存空间成正比。
如果换出进程,必须确保该进程是完全处于空闲状态。
交换空间通常作为磁盘的一整块,且独立于文件系统,因此使用就可能很快。
交换通常在有许多进程运行且内存空间吃紧时开始启动,而系统负荷降低就暂停。
普通的交换使用不多,但交换策略的某些变种在许多系统中(如UNIX系统)仍发挥作用。

交换技术主要是在不同进程(或作业)之间进行,而覆盖则用于同一个程序或进程中。由于覆盖技术要求给出程序段之间的覆盖结构,使得其对用户和程序员不透明,所以对于主存无法存放用户程序的矛盾,现代操作系统是通过虚拟内存技术来解决的,覆盖技术则已成为历史;而交换技术在现代操作系统中仍具有较强的生命力。
3.虚拟存储技术
是指:当进程运行时,先将其中一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不在内存时,由操作系统自动完成将他们从磁盘调入内存的工作
虚拟:提高通信信道的利用率–“虚拟”技术,通过“空分复用”或“时分复用”,将一条物理信道(实)变为若干条逻辑信道(虚)。
   * 空分复用:利用存储器的空闲空间分区域存放和运行其他的多道程序。
   * 时分复用:利用处理机的空闲时间运行其他程序。
虚拟存储技术是进程之间的,以页或段为单位

你可能感兴趣的:(计算机操作系统)