提高Linux桌面交互性能的主动页面换出算法第32卷go1.32第l7期17计算机工程ComputerEngineering2006年9月September2006?软件技术与数据库?文章编号:1000—-3428(2006)17—113文献标识码:A中圈分类号:TP311提高Linux桌面交互性能的主动页面换出算法吴邦欲,陈左宁,顾明,孙家广(1清大学计算机科学与技术系,北京l00084;2.江南计算技术研究所,无锡214083)攮要:Linux系统正逐步山效劳器领域步入桌面领域,由于Linux继承了传统的Unix的体系结构和算法,它能否为桌面应用提供好的交互性能是一个迫切需要研究的问题.该义分析了现有的Linux存储管理页面换出机制在交互式桌面应用中的缺乏,提出了符合交互式应用特点的主动页面换flJ算法该算法基于页面状态等价关系优化了原系统中页面状态转换自动机模型,使得系统在内存压力大的情况F有条件紧急回收内存页面,从提高桌面系统的交互性能.关健词:桌而应用;存储管理;交互性能;面换出;启动延迟ActivePageSwap—outAlgorithmforImprovingInteractivePerformance〞DesktopLinuxtornceOtestOLInuxUWUBangyu.CHENZuoning.GUMing.SUNJiaguang(1.DepartnlentofComputerScienceandTechnology,TsinghuaUniversity,Beiing100084;2,JiangnanInstituteofComputingTechnology,Wuxi214083)[Abstract]Linuxisincreasinglysteppingintodesktnpfieldfromserver.WiththearchitectureandalgorithmdesignedbasedontraditionalUnixitisimportanttoinvestigatewhetherLinuxcanprovideefficientinteractiveperformancefordesktopapplication.SomedisadvantagesofpageswapoutmechanisillareanalyzedinLinuxmemorynlanagementforinteractiveapplication.Anewalgorithmofactivepageswapoutsuitableforthecharactelistics(1finteractiveapplicationi,ptesented.Thealgolithmoptimizesthestatemachinebasedonequivalencerelationofpagestate,anditallowstheapplicationitselftOswapOU[menloryifnecessary.himprovestheinteractiveperformancebyreclaimingabundantmemoutosatisfyapplicationundermemol’YpleSStlFe[KeywordslDesktopapplication;Memorynlanagenlent’,hiteractionperformance;Pageswap—out;Startuplatencyl概述随着Linux系统在个人桌面应用领域的推进,逐步暴露出存在的问题,特别是与主流桌面操作系统相比,交互性能不够高,用户使用不够流畅.原闪之一在于Linux在体系结构和算法上秉承了传统的适合效劳器的Unix操作系统,在系统设计时强调整体吞吐,资源管理策略强调公平公正.桌面应用属于典型的交互式系统,比分时共享系统更强调人机交互性能,特别是人的直观感受;但由于人的行为和思维的延迟特性,桌面系统又不及实时系统对事件的实时响应强度要求高,这种特点对传统操作系统结构和算法提出了新的要求….在桌面系统中,窗口和图形界面是最主要的操作方式,应用软件的工作集大,对内存资源高度敏感….桌面环境下内存的配置干差万别,CPU的飞速开展导致CPU性能与磁盘性能的差距越来越大,凶此不同条件下如何发挥内存资源的性能成为影响Linux在桌面应用的关键因素.本文分析了Linux存储管理页面换出机制在桌面应用中存在的问题,基于原有的存储管理框架,提出了主动页面换出算法APS(ActivePageSwapout).APS优化了传统的存储管理中页面被动换出的思想,由应用程序主动提出换出请求.基于该算法,进程调度可以实现进程状态,进程优先级与存储资源分配的一致性,用户程序释放近期不需使用的内存,将内存出让给急需资源的桌面应用.一J12—2Linux存储管理页面换出策略和状态转换分析2.1页面换出策略Linux存储管理采用传统的按需页面分配(demandpaging)算法,当内存不够时,系统才以所有进程占用的物理空间作为统一的工作集,按照LRU原那么选择页面换出到磁盘.Linux系统的页面换出策略在以下几个方面不适合桌面交互式应用:(I)页面换出行为属于被动触发,仅当内存资源低于一定的阀值时才启动页面换出进程(kswapd).(2)页面换出策略与进程优先权无关.首先,调度算法虽然给优先权高的进程足够的时间片,但如果进程缺乏运行依赖的资源条件,会降低CPU的利用率,掩盖其调度的优势.其次,允许进程长时间睡眠期问仍...