An OS for Personal Computing

6
4696

Let’s take a look at the BeOS-inspired Haiku OS.
Haiku OS_Main
GNU/Linux has lots of features for the desktop and the server side. However, there are problems with Linux-based operating systems. Being a monolithic kernel, people often find the system becomes unresponsive when using a GNU/Linux system. Another major problem, especially for new users, is choosing between various distributions. They end up installing a distribution that has more apps and services than they actually need (or that their hardware can support) for their day to day use, which also serves to slow down their systems.

This article introduces you to an operating system called Haiku, which serves as a good starting point for aspiring students and those interested in hacking on operating systems. So what’s so special about Haiku? It is a descendant of the popular BeOS. The team behind BeOS had lots of ideas about making a perfect operating system targeted at personal computers. Unfortunately, it failed miserably due to various reasons.
Haiku is a POSIX-compliant operating system project that started in 2001. It was initially named OpenBeOS since it was heavily inspired by BeOS. Haiku specifically targets the personal computing space, to bring users a clean user interface and a highly responsive kernel.

It took almost nine years to get the first alpha release of the OS out on September 14, 2009. Some good features of Haiku are listed below:

A specific focus on personal computing
A custom kernel designed for responsiveness
A fully threaded design for great efficiency with a multi-processor/core CPU
A rich OO (object-oriented) API for faster development
A database-like filesystem (OpenBFS) with support for indexed metadata
A unified, cohesive interface

Personal computing
BeOS was started with the aim to become a compelling replacement for Apple Macintosh systems. A great design and attractive user interface were part of the package. Haiku follows the same principles like the BeOS to deliver an open source OS with a simple, yet attractive UI, and supports x86-based hardware only. Already many applications developed for BeOS are available for Haiku, and active development is on for new apps too.

Kernel
As indicated earlier, Haiku does not use the Linux or any other existing kernel. The Haiku project has built its own custom kernel using C++ (as the dominant) language. The modular hybrid nature of the kernel makes it highly responsive while running user applications on top of it. The kernel design also exploits features of modern day processors.

The filesystem
Haiku implements the OpenBFS filesystem that has superior design goals (and is POSIX compliant, of course). This is a 64-bit journaling filesystem capable of handling volumes close to 2 exabytes (1 billion gigabytes) approximately, with a maximum single file size of 260 GB. It is a database-like filesystem that supports indexed metadata.

Install experience
The ISO image of Haiku is 380 MB, and it’s easy to install it on a hard disk using a few simple steps. The ISO can also be used to evaluate the OS in live CD mode. Here are some of my observations while playing around with Haiku:

1. A simple user interface (similar to Fluxbox or other light-weight desktop environments).
2. There’s a need to use the right mouse button a lot to navigate through the applications.
3. It takes less than 10 minutes for a complete installation of the OS to the hard disk.
4. Currently, it takes less time to boot.
5. The required shortcut icons are present on the desktop.
6. It ships with the Firefox Web browser (BonEcho).
7. There are other applications such as a PDF viewer,paint utilities, document editor, etc.
8. The tools required for the development of Haiku are included.
9. Various applications and systems utilities are grouped in the menu as shown in Figure 2.

Figure 1: Haiku OS after installing it to hard disk
Figure 1: Haiku OS after installing it to hard disk
Figure 2: The Haiku application menu
Figure 2: The Haiku application menu

However, being the alpha release, let’s keep our expectations low. Some of the glitches in Haiku as of now,
which will be corrected in future releases, are as follows:

1. Installation does not provide a boot loader and partition editor.
2. Graphics card support is not mature enough.
3. Wireless support is not available.
4. Many hardware drivers are missing.

Overall, Haiku looks like a promising and simple OS. Those who are interested in C++, systems programming, and would like to contribute to a free software project, could get their hands dirty with the OS code base. There are more than 1,000 bugs open under various categories and already 3,000 bugs have been fixed (see reference [2] for details). The project also has a well-established collaborative environment for development, ranging from mailing lists to bug trackers and version control.

References
http://www.haiku-os.org/
http://dev.haiku-os.org/