概念:
局部性原理
1:时间局部性:
如果执行了程序中的某条指令,那么不久后这条指令有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问。
2:空间局部性:
一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。
3:高速缓存技术
使用频繁的数据放到更高速的存储器中。
定义:
在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。
特征:
1:多次性,无需在作业运行时一次性全部装入内存,而是被允许分成多次调入内存
2:对换性,在作业运行时无需一直常驻内存,而是允许在作业运行过程中,将作业换入,换出。
3:虚拟性,从逻辑上扩充了内存的容量,使用户看到的内存容量,远大于实际的容量。
实现:
1:请求分页存储管理
2:请求分段存储管理
3:请求段页式存储管理
页面置换算法
页面的换入换出需要磁盘I/O,会有较大的开销,因此好的页面置换算法应该追求更少的缺页率。
Belady异常:当为进程分配的物理块数增大时,缺页次数不减反增的异常现象。
页面分配策略
驻留集:指请求分页存储管理中给进程分配物理块的集合
页面分配
页面置换
何时调入页面
从何处调入页面
抖动(颠簸):刚刚换出的页面马上又要换入内存,刚刚换入的页面马上又要换出外存。这种频繁的页面调度行为称为抖动,或颠簸。产生抖动的主要原因是进程频繁访问的页面数目高于可用的物理块数。
工作集:指在某段时间间隔内,进程实际访问页面的集合。驻留集大小一般大于工作集大小。