Using Mensurae to improve research OSes.

Last Significant Update:

2024-06-27

Status:

Draft

Comments to:

mensurae@jkoshy.net

Nikolai is chock-full of ideas about truly novel operating systems.

Unfortunately Nikolai has also been finding it difficult to get his ideas out into the real-world.  His users say that although the ideas are often electrifying, Nikolai’s OS implementations are unfortunately too slow to be usable in practice.

Nikolai has often felt the need for a good performance analysis framework with which he could address these complaints of poor performance.  However the effort to port existing Linux/*BSD tools to his research OS would be more work than his research budget allows for.

A friend points Nikolai to the Mensurae toolkit, which has an explicit goal of supporting research OSes.  Nikolai is sceptical at first, but soon discovers that Mensurae’s core modules have very tightly-specified and well-documented interfaces to their surrounding in-kernel execution context.  Porting Mensurae’s core components to his own kernel did look feasible.

With a reasonable amount of porting work Nikolai gains the ability to measure and analyse the behavior of his research OS on actual hardware.

Design Considerations

Portability

Mensurae’s in-kernel components should be easy to port to a microkernel-style design.

Testability

Mensurae should offer test suites that verify that the porting of OS-specific components was done accurately.

Separation of Collection and Analysis

Small research OSes are unlikely to have good software support, at least when they are still gaining traction.  Mensurae should separate data analysis and data collection, allowing data collection to happen on the research kernel, with subsequent analyses being carried out on systems running conventional OSes.