18、虚拟存储管理9 J# B& O7 t8 x$ j2 G* c# r! Y
程序的局部性:时间局限性和空间局限性。前者指程序中的某条指令或某个存储单元一旦被执行或访问,则在不久的将来可能会再次发生(因为程序中存在着大量的循环操作);后者指一旦程序访问了某个存储单元,则不久的将来该存储单元附近的存储单元也最有可能被访问(因为程序是顺序执行的)。
- N" X/ J1 p, P1 ^
# ?9 h0 q6 e6 W }: r2 ~3 P! } 虚拟存储器,从用户的角度看,是这样一个系统,它所具有的主存容量比实际主存容量大得多。它是根据局部性原理,在一个作业运行之前只把部分程序和数据装入主存,其余部分留在磁盘上。如果要访问的页或段未在主存中(称为缺页或缺段)则将它们调入主存。7 X" \0 ?( H$ p. P n3 p& g+ K0 }
5 {& i0 Q/ c9 G% n0 P2 v 虚拟存储器的实现:3 _7 Y9 P& i4 \* n6 I: S# p6 N7 s
1 Y' O" |9 E% w# K9 ~( o4 ~
请求分页系统,它是在分页系统的基础上,增加了请求调页和页面置换功能后所形成的页式虚拟存储系统。! x5 D! v3 W& n$ g# I, w
' D- a! F ]2 U 请求分段系统,它是在分段系统的基础上,增加了请求调段和段置换功能后所形成的段式虚拟存储系统。- t) I( x" s c$ N/ F; W5 w6 X
) A# d1 i8 @% X, A) \! x 请求段页式系统,它是在段页式基础上,增加了请求调页和页面置换功能后所形成的段页式虚拟存储系统。; d. y1 d8 M5 b- m' ~/ C$ _+ J% m
' N, Q% I' Z$ ^* j# e8 A 其中请求分页系统是目前常用的一种虚拟存储器方式。其页面置换算法的好坏直接影响系统性能,不当的置换算法可能会导致系统“抖动”。常用的页面置换算法有:最佳置换算法、先进先出置换算法、最近最久未使用置换算法和最近未用置换算法。0 Z4 \' ]. A+ |. h
1 p+ E# k) @: n; y; c6 m
虚拟存储器的特征:离散性、多次性、对换性、虚拟性。工作集的概念是指在某段时间间隔里,进程实际要访问的页面的集合。虚存容量不是无限的,它受主存和外存可利用的总容量限制;虚存还受计算机总线地址结构限制。虚存的扩大是以牺牲CPU工作时间和主存与外存交换时间为代价的。虚存是由操作系统调度,采用主存外存交换技术,各道程序在必须使用时调入主存,不用的程序则调出主存。 |