Non-functional properties in Operating Systems and Middleware (2016)

Seminar, summer term 2016

Prof. Dr. Andreas Polze
Christian Neuhaus
Frank Feinbube

About this seminar

Today, a limited number of operating systems covers large parts of the market for general purpose server applications (Linux, Windows, Solaris, etc.) and desktop computing (Windows, Linux, MacOS). Most distributed software systems also consist of services and components run on these OSs. However, use cases exist, where the quality of service provided by mainstream operating systems and middleware software stacks is not sufficient. Instead, purpose-built products are developed that meet the unique requirements of specific use cases. In this seminar, we investigate developments in research and industry in operating systems and middleware focusing on security, dependability, certifiability, and performance.

How to pass this seminar

This seminar rewards 3 ECTS credits. You will work with scientific and technical publications and/or software prototypes. For the given topic, you should identify the state of the art from related work, and present the technical advances and contributions. We expect participants to give a 40-45 min presentation (including discussions) on the topic and write a report incorporating the feedback for the presentation. Where applicable, we would like to see a practical demonstration of the topic (e.g. by running and demonstrating a working software installtion, ideally as a reusable VM image).

We would like to discuss the contents of the presentation with each presenter or group about 2 weeks before the actual presentation date. Please send us your presentation slides two days before the presentation so we can make some last-minute comments.

You report should:

  • Consist of roughly 8-12 pages LNCS or 4-6 pages IEEE.
  • Describe the purpose and technical details of the OS/middleware/prototype/mechanism you are presenting
  • Provide a good overview of the related work and include a comprehensive bibliography
Before you actually start writing the report, we'd like to discuss an outline with you.


Unless stated otherwise, meetings take place in A-2.1, Thursdays, 13:30.

List of Topics

The list will be extended over time. You can also suggest your own topics.


  • Hardened Operating Systems (e.g. Trusted Solaris, Solaris Trusted Functionality, Trusted BSD, Hardened BSD, Hardened Linux)
  • Provably Secure Operating Systems
  • Object-Capability Systems (e.g seL4, KeyKOS, EROS)
  • Novel Applications of the blockchain technology (Decentralized Notary, Smart Contracts, etc.)
  • Middleware Security Models (e.g CORBA, .NET, J2EE)
  • Maftia Middleware (Malicious-and Accidental-Fault Tolerance for Internet Applications)
  • Tails-OS / Subgraph OS
  • ...


  • To the limit of computation! What is possible, what is not?
  • Law-abiding hardware and operating system trends (Moore, Dennard, ...)
  • Integrating accelerators with the operating system
  • GPU Virtualization
  • Operating System Support for Non-Volatile Memory
  • Rack-Scale Resource Management
  • ...


  • Driver verification (SLAM, BLAST,...)
  • Proactive recovery and software rejuvenation
  • Dependability modelling of operating systems
  • Fault tolerance with microkernels (EROS, PikeOS,…)
  • Byzantine fault tolerance approaches in practice (Castro et al., SPARE,…)
  • Case studies / post mortems of software outages
  • Tandem (Jim Gray’s classics)
  • ...