基于AOP的Linux内核运行时状态监测工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:wang540364472
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
获取操作系统运行时的实时信息,监测并记录系统运行时的状态是十分重要的。一方面,这些信息是系统性能监测和调优(tuning)、内核剖面(profiling)、应用程序执行追踪(tracing)以及错误检测与处理的基础;另一方面,发现和记录系统运行时的非正常状态,有助于及时改正系统运行时的错误或不适当的配置,提高系统运行的效率。 现有的获取系统运行时信息的工具,如性能监测工具或错误检测工具,将实现监测的代码大量散布在实现操作系统主要功能的各代码模块中,与操作系统的多个功能关注点交织在一起,降低了系统的模块化程度,且代码分散、交织,难于理解和维护。采用面向侧面(Aspect-Oriented)的程序设计思想和编程技术,将状态监测这一关注点封装在称为侧面(aspect)的单元中,并在系统运行时动态编排到内核内,可以提高操作系统的模块化程度和灵活性,有利于操作系统的维护和发展。 本论文采用AOP(Aspect-OrientedProgramming)技术,设计并实现了一个Linux内核状态监测工具LKSM(LinuxKernelStateMonitor)。该工具将监视系统不同部分(如CPU、内存、I/O、网络传输、进程调度、内核模块等)的代码封装在若干侧面中。系统运行时,根据需要将不同的侧面加载到内核中,即可获取对应部分的运行时信息,还可分析并记录系统的非正常运行状态,便于及时纠错和系统管理,确保系统正确、高效的运行。在不需要时,可以动态卸载监测代码,以减轻系统开销。该工具已在Linux2.6.20内核上实现,并提供了三个应用实例:内存泄漏检测、死锁检测、以及基于生产率与负载的变化关系检测系统是否存在性能异常。实验结果表明,采用AOP方法实现Linux内核状态监测是可行的。
其他文献
搜索引擎在人们生活中起着越来越重要的作用,已经成为网民获取信息的主要来源和企业营销的重要手段。在利益的驱使下,越来越多的网站为了获得在搜索引擎中的展现机会,提高在搜索
人们对图像高质量的喷印需求不断增长使得喷墨技术不断发展,喷墨印刷越来越朝着高速和精确的方向发展,高精度喷墨不断在新的领域得到应用,喷墨性能和质量的检测也随之成为一个越
“存储墙(Memory Wall)”问题是制约计算机性能的主要瓶颈之一。在集成电路工艺进步的促进下,计算机系统结构发生巨大变化。多核处理器成为计算机系统结构发展的必然趋势,需要
软件复用是提高软件开发效率和质量的一条现实可行的途径,软件资产库是对可复用软件资产进行管理,对软件资产的复用过程提供支持的基础设施。多年来,软件资产库的研究已经积累了
发布/订阅系统使得用户能够对事件(发布消息)保持长期、即时的关注(订阅请求)。随着越来越多的消息使用XML格式进行发布,高效地实现XML发布/订阅系统能够满足诸如新闻订阅、竞
目前,信息检索技术正在飞速发展,人们对信息检索系统的检索结果的要求越来越高。传统信息检索方式下,由于信息资源缺少统一的语义描述,用户难以查找到与需求相关的资源,难以实现信
对互联网在中国大陆部分自治系统一级的拓扑结构进行较为完整和准确的发现是互联网相关研究中的一项基础性工作。这项工作在基于互联网的分布式系统,内容递送网络的服务器选择
近年来,大数据以数据量大、数据类型多样、产生与处理速度要求快、价值高的4V特性成为工业界和学术界的研究热点。由于传统软件系统难以在可接受的时间范围内处理大数据,工业界
在网络中存在两类信息资源。一类是利用传统的搜索引擎,可通过爬行超链接获取并索引的信息资源,将其称为可见网或表层网。与此对应,网络中还存在另一类信息资源,这类资源对基于链
在工业化社会向信息化社会前进过程中,复杂系统建模与仿真技术与高性能计算技术相结合,成为继理论研究和实验研究后的第三种重要方法。复杂系统研究的主流之一是多领域统一建模