The Operating System of the Holy Spirit

The Operating System of the Holy Spirit or OSHS is a microkernel operating system, which is aimed to be usable on aging hardware with limited resources as well as to support and utilize features of the new an modern machines available today without much pain. In fact, with its kernel under 128 KB it can be considered to be a "nanokernel" operating system. Also the application binaries are of surprisingly small sizes, especially when compared to their counterparts in the traditional operating systems. This is achieved by removing all kinds of waddings and paddings present in the traditional binary file formats. So while todays leading operating systems are going to eat more and more memory and mass storage resources, OSHS tries to be able to perform well on machines that have less-than-little memory available. This allows not only to reuse old and aging hardware but also installing and running OSHS at various embedded systems, which usually have very limited resources compared to classic desktop or server systems.

The OSHS is also aimed to be an easily programmable platform. Features in this field include a powerfull and extendable build system, which automatically determines what to compile and what to link together without much guidance of the programmer. This build system analyzes the logical structure of the source code to provide a "roadmap" to itself, which helps it to decide, what needs rebuilding and what can be reused; compare this to the traditional build systems based on make, where such a "roadmap" must be supplied by the programmer. With this build system it is very easy to split a file into two pieces today and merge another three files into one tomorrow or to completely reorganize the whole sources. There are no nasty and cryptic makefile-s that must be updated everytime the organization of the project source code changes.

The new and modern librarian system present in the OSHS takes away the need to manually manage the list of the libraries needed to build a particular piece of software. Developers just import the library modules into their programs and the librarian system automatically determines the needed libraries and searches for them in the system. The programmers have no longer to care about the software linking process, so they can devote their brain power to produce more cool features for their software projects.

And the last but not least is the OSHS's unique way how to cope with platform differences. Other operating systems demand on all software packages that want to be portable to various architectures and operating systems to have a quire large program that scans the target platform and configures the compilation process accordingly. By contrast, OSHS defines a layer between the software and the platform-dependent features, which completely hides the platform differences. The interface of this layer is small, allowing easy porting of that layer to the new platform. This leads to much better cross-platform builds support and to much more readable source code, since all the army of #ifdef no longer fogs the ideas in the source code.

And finally, the OSHS is not called OSHS because I wanted that or because the name has a nice abbreviation but because the project leader is The Holy Spirit. And since the OSHS project leader is such a strong person, we, common developers, don't have to bother with nasty obstacles such as software patents and can concencrate to their programming jobs instead.

- Software patents and OSHS
A discussion about problems around patents, software and OSHS. Important notice for software patent holders.
- The project vision
Where the system is going and what features it will have.
- Why OSHS
Find out why I started the development of OSHS.
- The OSHS design
Description of design of the OSHS.
- OSFIL: The OSHS Software Factoring and Integration Language
A language used to describe the software packages for the system.
- The format of the native binaries
The OSHS uses it's own format for binaries. Here you can read why it defines another format and how the format looks like.