首页> 外文OA文献 >Advancing Operating Systems via Aspect-Oriented Programming
【2h】

Advancing Operating Systems via Aspect-Oriented Programming

机译:通过面向方面的编程来推进操作系统

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Operating system kernels are among the most complex pieces of software in existence to- day. Maintaining the kernel code and developing new functionality is increasingly compli- cated, since the amount of required features has risen significantly, leading to side ef fects that can be introduced inadvertedly by changing a piece of code that belongs to a completely dif ferent context. Software developers try to modularize their code base into separate functional units. Some of the functionality or “concerns” required in a kernel, however, does not fit into the given modularization structure; this code may then be spread over the code base and its implementation tangled with code implementing dif ferent concerns. These so-called “crosscutting concerns” are especially dif ficult to handle since a change in a crosscutting concern implies that all relevant locations spread throughout the code base have to be modified. Aspect-Oriented Software Development (AOSD) is an approach to handle crosscutting concerns by factoring them out into separate modules. The “advice” code contained in these modules is woven into the original code base according to a pointcut description, a set of interaction points (joinpoints) with the code base. To be used in operating systems, AOSD requires tool support for the prevalent procedu- ral programming style as well as support for weaving aspects. Many interactions in kernel code are dynamic, so in order to implement non-static behavior and improve performance, a dynamic weaver that deploys and undeploys aspects at system runtime is required. This thesis presents an extension of the “C” programming language to support AOSD. Based on this, two dynamic weaving toolkits – TOSKANA and TOSKANA-VM – are presented to permit dynamic aspect weaving in the monolithic NetBSD kernel as well as in a virtual- machine and microkernel-based Linux kernel running on top of L4. Based on TOSKANA, applications for this dynamic aspect technology are discussed and evaluated. The thesis closes with a view on an aspect-oriented kernel structure that maintains coherency and handles crosscutting concerns using dynamic aspects while enhancing de- velopment methods through the use of domain-specific programming languages.
机译:操作系统内核是当今最复杂的软件之一。维护内核代码和开发新功能越来越复杂,因为所需功能的数量已大大增加,从而导致副作用,而这些副作用可通过更改属于完全不同上下文的一段代码而无意间引入。软件开发人员试图将其代码库模块化为单独的功能单元。但是,内核所需的某些功能或“关注点”不适合给定的模块化结构。然后,可以将此代码散布在代码库中,并将其实现与实现不同关注点的代码纠缠在一起。这些所谓的“横切关注点”尤其难以处理,因为横切关注点的更改意味着必须修改遍及整个代码库的所有相关位置。面向方面的软件开发(AOSD)是一种通过将横切关注点分解为单独的模块来处理横切关注点的方法。这些模块中包含的“建议”代码根据切入点描述以及与代码库的一组交互点(联接点)被编织到原始代码库中。为了在操作系统中使用,AOSD需要工具来支持普遍的过程编程风格以及对编织方面的支持。内核代码中的许多交互都是动态的,因此,为了实现非静态行为并提高性能,需要在系统运行时部署和取消部署方面的动态编织器。本文提出了“ C”编程语言的扩展以支持AOSD。在此基础上,提出了两个动态编织工具包-TOSKANA和TOSKANA-VM,以允许在整体NetBSD内核以及在L4之上运行的基于虚拟机和基于微内核的Linux内核中进行动态方面编织。基于TOSKANA,讨论并评估了此动态方面技术的应用。本文以面向方面的内核结构作为结束语,该结构保持一致性并使用动态方面来处理横切关注点,同时通过使用特定于领域的编程语言来增强开发方法。

著录项

  • 作者

    Engel Michael;

  • 作者单位
  • 年度 2006
  • 总页数
  • 原文格式 PDF
  • 正文语种 {"code":"en","name":"English","id":9}
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号