一、基本原理
页式管理将各进程的虚拟空间划分成若干个长度相等的页(page),同时把内存空间按页的大小划分成片或者页面(page frame)。然后,把页式虚拟地址与内存地址建立一一对应的页表,并用相应的硬件地址变换机构,来解决离散地址变换问题。
二、主要分类
页式管理分为静态页式管理和动态页式管理。
静态页式管理
在进程执行前,将其所有的程序和数据装入内存的各个页面中。
系统通过存储页面表、请求表以及页表来完成内存的分配工作。
解决了分区管理时的碎片问题,但要求进程或作业在执行前全部装入内存,如果可用页面数小于用户要求时,该作业或进程需要等待。而且,作业和进程的大小仍受内存可用页面数的限制。
动态页式管理
在静态页式管理的基础上发展起来,分为请求页式管理和预调入页式管理。
在作业或进程开始执行之前,不把作业或进程的程序段和数据段一次性地全部装入内存,而只装入被认为是经常反复执行和调用的工作区部分,其他部分则在执行过程中动态装入。
请求页式管理在需要执行某条指令而发现它不在内存时,或从外存调入相关页面。预调入管理则先估计各个页之间的执行顺序,然后按照顺序依次调入内存执行。
三、地址变换
页式管理采用请求调页或预调页技术实现了内外存存储器的统一管理,其地址变换过程是通过页表查出相应的页面号,由页面号与页内相对地址相加而得到实际物理地址。
在动态页式管理中,由于只让进程或作业的部分程序和数据驻留在内存中,因此在执行过程中,不可避免地会出现某些虚页不在内存中的问题。这需要通过扩充页表等方法来解决,即在页表中增加记录页是否在内存的中断位以及该页在外存中的副本起始地址等信息。
四、置换算法
在动态页式管理中,当内存中没有空闲页面时,需要采用置换算法来决定哪个页面应该被淘汰。常见的置换算法包括随机淘汰算法、轮转法、先进先出算法、最近最久未使用算法等。这些算法的选择取决于系统的具体需求和内存使用模式。
五、存储保护
页式管理还提供了存储保护功能,通过页表中的访问控制位来实现对不同页面的读写权限控制,从而确保内存中的数据不被非法访问或修改。
标签:操作系统,管理,内存,算法,页表,之页,进程,页面 From: https://blog.csdn.net/qq_39311377/article/details/144752234