An OS for Personal Computing

6
4536

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/

6 COMMENTS

  1. “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.”

    I read this fundamental to-do list and I ask my self — Why would I switch? BeOS is where Linux was at say Year 5. That plus the implications of ‘complexity’ of the Linux OS as mentioned in the article are unfounded. What BeOS has done is make a decision to pare down the module tree in the Kernel. That is possible in Linux as well.

    So here’s the deal. Call me when Haiku reaches Year 10 level maturity. We’ll compare notes as to how uncomplex their kernel is then. My suspicions are that it will be just as complex as Linux is now. The driver-module-kernel interface almost assures it.

  2. Nice mini-review. A couple of observations:

    > 3. Wireless support is not available.

    This is not totally accurate: the latest alpha 2 release has basic wifi support with WEP based encryption (no WPA yet). Here is a “Connecting to wireless notworks” guide:

    http://www.haiku-os.org/guides/dailytasks/wireless

    > 2. Graphics card support is not mature enough.

    It should be noted that Haiku’s VESA (safe-video) mode is extremely fast, as fast as accelerated video in most modern hardware, making the impact of is lacking negligible speed-wise; depending on your hardware’s implementation of VESA video modes, you may not be able to use your monitor’s native resolution though.

    Nice to see Haiku mentioned LFY!

  3. There are quite a few wrong things in the article.

    “The Haiku project has built its own custom kernel using C++ (as the dominant) language.”
    Wrong. Haiku’s kernel is an (very) improved version of the NewOS kernel coded by Travis Geiselbrecht.
    See: http://en.wikipedia.org/wiki/Haiku_%28operating_system%29 amongst others.

    “2. There’s a need to use the right mouse button a lot to navigate through the applications.”
    The leaf menu provides a “Start Menu” similar to other OSes with shortcuts to the apps
    What you did by using that submenu was browse the filesystem which you can also do by double clicking the boot disk.

    “3. Wireless support is not available.”
    Wrong. There are many wireless drivers working, thanks to the work of Colin Günther that ported the wireless framework from FreeBSD.
    See: http://www.haiku-os.org/guides/dailytasks/wireless

  4. Hmmm.

    “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.”

    The only time I have -ever- made Linux become unresponsive (yes, out of my doing, and I have used many, many machines running Linux) is when I messed around with packages that should not be messed around with and experimented with Drivers/Codecs. Furthermore, the only thing that would go unresponsive truly is the GUI…

    I’m sure Haiku is nice, but your first paragraph I disagree with. As per the distro and having more apps than you need… Sure. Then you go on google.

    http://lmgtfy.com/?q=Small+Linux+distro

    One of the first few things you see is a site listing a plethora of small linux distros, and a link or two below it, lo and behold… ‘Damn small linux’.

    ’nuff said.

  5. @JohnMc
    Not sure if you’ll check back here, but as you can see from the previous comments some of the items in the list you mentioned are inaccurate. I’m not seeing any reason to switch, being a fan myself I certainly wouldn’t yet. What I see is potential and some incredibly talented developers putting together an amazing OS.

    You don’t even have to burn a CD, on my Macbook it’s as responsive in VMware Fusion as it is on my old PC where I have it installed. Try it out, you might fall in love with it. ;-)

  6. mull,

    Someday, maybe. But Haiku will have to make maturity moves before I invest the time. As it is, the window on new OS opportunities is starting to close. When all people want are apps and SaaS can deliver that over the cloud. Well the die is cast, whether for Haiku or any other OS. One would have to make a very compelling reason to go thru the time and effort.

    Just sayin’.

LEAVE A REPLY

Please enter your comment!
Please enter your name here