技术特征:
1.一种Linux分页替换方法,其特征在于,所述方法包括下述步骤:
当需要分页替换时,根据预先设置的分页的分类属性,对各个LRU链表进行扫描,将活跃LRU链表中的符合条件的分页加入到非活跃LRU链表中;
根据重新分页表,计算得到计算性分页和非计算性分页的替换比例,判断计算性分页和非计算性分页的重新分页速度,所述重新分页表用于记录计算性分页和非计算性分页的重新分页次数;
当计算性分页的重新分页速度快时,判定应用类型属于计算密集型,并从预先生成的非活跃非计算性分页LRU链表中,根据LRU算法选取其中的一个非计算性分页作为替换分页;
当非计算性分页的重新分页速度快时,判定应用类型属于I/O密集型,并从预先生成的非活跃计算性分页LRU链表和非活跃计算性分页LRU链表中,根据LRU算法以及分页替换比例同时选取计算性分页和非计算性分页,并将选取的计算性分页或非计算性分页作为替换分页。
2.根据权利要求1所述的Linux分页替换方法,其特征在于,所述方法还包括下述步骤:
将应用负载类型划分为计算密集型和I/O密集型;
对每一个分页增加一个分类属性,将分页分为计算性分页和非计算性分页。
3.根据权利要求2所述的Linux分页替换方法,其特征在于,在程序运行过程中产生的匿名内存属于所述计算性分页;
根据文件是否包含相应进程的可执行文件,文件缓存为计算性分页或非计算性分页。
4.根据权利要求3所述的Linux分页替换方法,其特征在于,所述方法还包括下述步骤:
根据对所述分页分类属性的增加,将分页划分到对应的LRU链表中,所述LRU链表包含活跃计算性分页LRU链表、非活跃计算性分页LRU链表、活跃非计算性分页LRU链表和非活跃非计算性分页LRU链表。
5.根据权利要求4所述的Linux分页替换方法,其特征在于,所述活跃LRU链表中的符合条件的分页是指分页引用的次数为0的分页。
6.一种Linux分页替换系统,其特征在于,所述系统包括:
链表扫描模块,用于当需要分页替换时,根据预先设置的分页的分类属性,对各个LRU链表进行扫描,将活跃LRU链表中的符合条件的分页加入到非活跃LRU链表中;
替换比例计算模块,用于根据重新分页表,计算得到计算性分页和非计算性分页的替换比例,判断计算性分页和非计算性分页的重新分页速度,所述重新分页表用于记录计算性分页和非计算性分页的重新分页次数;
第一替换分页选取模块,用于当计算性分页的重新分页速度快时,判定应用类型属于计算密集型,并从预先生成的非活跃非计算性分页LRU链表中,根据LRU算法选取其中的一个非计算性分页作为替换分页;
第二替换分页选取模块,用于当非计算性分页的重新分页速度快时,判定应用类型属于I/O密集型,并从预先生成的非活跃计算性分页LRU链表和非活跃计算性分页LRU链表中,根据LRU算法以及分页替换比例同时选取计算性分页和非计算性分页,并将选取的计算性分页或非计算性分页作为替换分页。
7.根据权利要求6所述的Linux分页替换系统,其特征在于,所述系统还包括:
应用负载分类模块,用于将应用负载类型划分为计算密集型和I/O密集型;
分类属性增加模块,用于对每一个分页增加一个分类属性,将分页分为计算性分页和非计算性分页。
8.根据权利要求7所述的Linux分页替换系统,其特征在于,在程序运行过程中产生的匿名内存属于所述计算性分页;
根据文件是否包含相应进程的可执行文件,文件缓存为计算性分页或非计算性分页。
9.根据权利要求8所述的Linux分页替换系统,其特征在于,所述系统还包括:
链表维护模块,用于根据对所述分页分类属性的增加,将分页划分到对应的LRU链表中,所述LRU链表包含活跃计算性分页LRU链表、非活跃计算性分页LRU链表、活跃非计算性分页LRU链表和非活跃非计算性分页LRU链表。
10.根据权利要求9所述的Linux分页替换系统,其特征在于,所述活跃LRU链表中的符合条件的分页是指分页引用的次数为0的分页。