一、调页策略
调页策略用于决定何时将页面载入内存。
两种常用的策略:
- 请求调页(demand paging):只通过响应缺页中断调入需要的页面,也只调入发生缺页时所需要的页面。这种策略下进程开始运行时会有比较多的缺页,对外存I/O交换次数多,开销比较大。(一次I/O操作包括旋转等待时间(磁头到达目的块的第一个扇区所需的时间)和读写时间(CPU等待数据从存储器读出或写入的时间))
- 预先调页(prepaging):在发生缺页需要调入某页时顺便调入该页相邻的几个页。但该策略无法保证效率提高,因为额外装入的页面可能没有用。
二、放置策略
放置策略用于决定进程各部分要驻留在内存的哪个位置。
该策略对于纯段式系统比较有影响,对纯页式系统或段页式系统没有影响,因为地址转换硬件和内存访问硬件可以以相同的效率为任何页框组合执行它们的功能。
- 首次适配(first fit)算法:从前端开始扫描内存,直到找到一个足够大的空闲区;(最好、最快)
- 下次适配(next fit)算法:从上次分配结束的地方开始扫描内存,直到找到一个足够大的空闲区;
- 最佳适配(best fit)算法:扫描整个内存,找出一个足够大的最小空闲区;(性能通常是最差的);
三、替换策略
当需要调入页面但内存已满时,替换策略决定要置换内存中的哪个页面。
置换策略