视频字幕
页框分配是操作系统内存管理的重要组成部分。物理内存被划分为固定大小的页框,每个页框通常为4KB,并按顺序编号。页框分配的主要作用是合理分配物理内存资源,提高内存利用率,支持多进程并发执行。通过页框分配机制,操作系统可以有效管理内存,确保各个进程都能获得所需的内存空间。
固定分配策略是最简单的页框分配方法。在这种策略下,每个进程在创建时就被分配固定数量的页框,这个数量在进程运行期间保持不变。例如,进程A分配3个页框,进程B分配2个页框,进程C分配4个页框。固定分配策略实现简单,管理方便,但可能造成内存浪费,因为无法根据进程的实际需求动态调整页框数量。
可变分配策略是一种更加灵活的页框分配方法。与固定分配不同,可变分配可以根据进程的实际需求动态调整页框数量。当进程需要更多内存时,系统可以为其分配额外的页框;当进程不再需要某些页框时,系统可以回收这些页框分配给其他进程。这种策略能够提高内存利用率,但实现较为复杂,需要监控进程的行为并使用专门的算法来决定何时调整分配。
页框置换策略分为局部置换和全局置换两种。局部置换是指进程发生缺页时,只能在自己已分配的页框中选择一个进行置换,不会影响其他进程的页框。这种方式实现简单,进程间隔离性好,但可能造成内存浪费。全局置换则允许进程在发生缺页时,从系统的所有页框中选择一个进行置换,包括其他进程的页框。这种方式能够提高系统整体的内存利用率,但实现复杂,可能影响其他进程的性能。
工作集模型是页框分配的重要理论基础。工作集定义为在时间窗口Δ内,进程访问的页面集合。通过观察进程在不同时间窗口内的页面访问模式,我们可以预测进程未来的内存需求。工作集模型反映了程序执行的局部性原理,即程序在某个时间段内往往只访问其地址空间的一个相对较小的子集。这个模型被广泛应用于确定进程所需的页框数量,防止颠簸现象,并优化页框分配策略。