architecture neutral operating system components
play

Architecture-Neutral Operating System Components Daniel Lohmann - PowerPoint PPT Presentation

Architecture-Neutral Operating System Components Daniel Lohmann Department of Computer Science IV Distributed Systems and Operating Systems Friedrich-Alexander University Erlangen-Nuremberg http://www4.informatik.uni-erlangen.de/~lohmann


  1. Architecture-Neutral Operating System Components Daniel Lohmann Department of Computer Science IV Distributed Systems and Operating Systems Friedrich-Alexander University Erlangen-Nuremberg http://www4.informatik.uni-erlangen.de/~lohmann daniel.lohmann@informatik.uni-erlangen.de

  2. The Tyranny of OS Architectures � Architecture defines fundamental properties and policies � Module structure and interaction schemes � Scheduling and locking strategies � Interrupt handling and synchronization � Supported hardware platforms � … � Architecture is usually considered as something static � Decisions are made at early stages of OS development � Extremely costly to adapt later daniel.lohmann@informatik.uni-erlangen.de 2

  3. But why... shouldn’t it be possible to configure architectural properties? � Optimize a server OS for a dedicated services demands � Database / network / internet service � Taylor down an embedded systems OS � Often very specific application demands and extreme resource constraints � Cope better with architectural evolution daniel.lohmann@informatik.uni-erlangen.de 3

  4. The Problem Architectural properties are inherent crosscutting Synchronisation Interaction daniel.lohmann@informatik.uni-erlangen.de 4

  5. Aspect-Oriented Programming � AOP has proven to be successful in dealing with crosscutting concerns � With AspectC++ it is now possible to investigate the benefits for system software development http://www.aspectc.org Aspect Weaver Component A OS Component Aspect Code Code Synchronisation «uses» «uses» Component B Component C Interaction Generated Component A OS Code «uses» «uses» Component B Component C daniel.lohmann@informatik.uni-erlangen.de 5

  6. The CiAO Project (CiAO is Aspect Oriented) � Aspect-oriented family of operating systems � Designed in an aspect-oriented manner � Full encapsulation of policies and architectural properties � Target: Embedded Systems � From deeply-embedded devices up to embedded UNIX systems � High level of adaptability and configurability daniel.lohmann@informatik.uni-erlangen.de 6

  7. The CiAO Vision: Architectural Transparency Abstract Model C Component A o Synchronisation m A p s o p «uses» «uses» n e e c Interaction n t Component B Component C t s s daniel.lohmann@informatik.uni-erlangen.de 7

  8. The CiAO Vision: Architectural Transparency Configuration 1: Procedure based (monolithic) address space C Component A o Synchronisation m A Semaphore p s o p Call Call n e e c Interaction n t Component B Component C Procedure call t s s daniel.lohmann@informatik.uni-erlangen.de 8

  9. The CiAO Vision: Architectural Transparency Configuration 2: Message oriented (threaded) address space C Component A o Synchronisation m A «none» p s o p Message Message n e e c Interaction n t Component B Component C Message t s s daniel.lohmann@informatik.uni-erlangen.de 9

  10. The CiAO Vision: Architectural Transparency Configuration 3: Process oriented ( µ -kernel) C Component A o Synchronisation m A «none» p s o p IPC IPC n e e c Interaction n t Component B Component C IPC t s s daniel.lohmann@informatik.uni-erlangen.de 10

  11. Conclusion � Architectural properties are inherent crosscutting � Low configurability � Hard to cope with architectural evolution � Aspect-Orientd Software Development can help here � AspectC++ brings AOP to the C/C++ world � Evaluation of AOP concepts in system software development � Encapsulation without sacrificing efficiency � Real chance to reach architectural transparency daniel.lohmann@informatik.uni-erlangen.de 11

  12. Thanks for your attention! Daniel Lohmann Department of Computer Science IV Distributed Systems and Operating Systems Friedrich-Alexander University Erlangen-Nuremberg http://www4.informatik.uni-erlangen.de/~lohmann daniel.lohmann@informatik.uni-erlangen.de

Recommend


More recommend