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

architecture neutral operating system components
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

Architecture-Neutral Operating System Components

slide-2
SLIDE 2

2

daniel.lohmann@informatik.uni-erlangen.de

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

slide-3
SLIDE 3

3

daniel.lohmann@informatik.uni-erlangen.de

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

slide-4
SLIDE 4

4

daniel.lohmann@informatik.uni-erlangen.de

Interaction

The Problem

Architectural properties are inherent crosscutting

Synchronisation

slide-5
SLIDE 5

5

daniel.lohmann@informatik.uni-erlangen.de

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

Synchronisation Interaction

Component B Component C Component A

OS Component Code Aspect Code

«uses»

Aspect Weaver

http://www.aspectc.org

«uses»

Component B Component C Component A

Generated OS Code

«uses» «uses»

slide-6
SLIDE 6

6

daniel.lohmann@informatik.uni-erlangen.de

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

slide-7
SLIDE 7

7

daniel.lohmann@informatik.uni-erlangen.de

The CiAO Vision: Architectural Transparency

Abstract Model

Component B Component C

«uses» «uses»

Component A

C

  • m

p

  • n

e n t s

Synchronisation Interaction

A s p e c t s

slide-8
SLIDE 8

8

daniel.lohmann@informatik.uni-erlangen.de

The CiAO Vision: Architectural Transparency

Configuration 1: Procedure based (monolithic)

Component B Component C Component A

C

  • m

p

  • n

e n t s

Synchronisation Interaction

A s p e c t s Semaphore Procedure call Call Call

address space

slide-9
SLIDE 9

9

daniel.lohmann@informatik.uni-erlangen.de

The CiAO Vision: Architectural Transparency

Configuration 2: Message oriented (threaded)

Component B Component C Component A

C

  • m

p

  • n

e n t s

Synchronisation Interaction

A s p e c t s «none» Message Message Message

address space

slide-10
SLIDE 10

10

daniel.lohmann@informatik.uni-erlangen.de

The CiAO Vision: Architectural Transparency

Configuration 3: Process oriented (µ-kernel)

Component B Component C Component A

C

  • m

p

  • n

e n t s

Synchronisation Interaction

A s p e c t s «none» IPC IPC IPC

slide-11
SLIDE 11

11

daniel.lohmann@informatik.uni-erlangen.de

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

slide-12
SLIDE 12

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

Thanks for your attention!