kernel_joe: (Default)
[personal profile] kernel_joe
The main purpose of this report is to show one of the ways how to design and build infrastructure around Haiku that will covers all the niches and OS weight categories. BeOS successor was chosen as one of very self motivated products that is proven to be such (Haiku community reimplemented BeOS kernel and subsystems with high quality code base: less that ten thousand closed bugs for such a big project). Also this document can be treated as investors guide or internal vision of Synrc Research Center, playing role of BeOS and Haiku advocate.


Open Source world nowadays presented with walking tall Linux that covers all niches in every IT markets: from hand watches to enterprise servers and cloud networks. There are commonly discussed pros and cons about being player with Linux rules:


— Wide and spread devices and tools support
— Low time-to-market value
— Low-cost engineering


— Low code quality
— Managing in bazaar manner
— Limitation of Licence

There are some attempts to solve negative aspects of Linux-way: commercial support of BSD systems such as Wasabi Systems, Inc and custom commercial support of OpenBSD. But in general Linux is dominant OS platform for wide range of services. Though, investments to Linux from big side of IT-market is not very prominent. Most mobile developers that was chosen Linux drops their Linux-based OS development. Apparently that happened because of aggressive Android positioning that technically spoken hides ugly Linux layer from application developer. Most severs manufacturers switched from their own server OSes to Linux, but in general the happiness hadn't come. The main part of their revenue composed of support service, but R&D and Linux development is blocked up with Linux weak spots.

The first candidate for OS that can cover all devices from mobiles to server is Mach-based XNU kernel from Apple with Objective-C application framework from NeXT. It is well designed in CMU, polished by Apple and adapted to the modern needs. Another players on the market are the lightweight Windows CE and also Mach-inspired Windows NT kernel already spited in two categories and closed forever by its authors.

So the weight categories of OS presented in IT industry:

— Embedded (robots, plants, devices, appliances, real-time applications)
— Mobile (telephones)
— Handy (netbooks, pads)
— Desktop (workstations)
— Telecoms (servers)

Honestly spoken only quality based approaches and effective technologies forms the solid ground for long-term living infrastructure, that can be auto-motivated and self inspired. Victorious Linux walking holds in it only temporal nature. Only players that can quickly cut off money from Linux could select it as a base platform as did Google with Android: zero-innovation, iPhone-copy interface, problems in battery living and slow motion make Linux temporally more visible to customers. The market controlled by time-to-market parameter but not self-inspiring criterion produces low-quality goods and services. Same state of things presented in general in servers market.

However the product that can cover all the niches and comply high claims on purity and self motivation exists. Actually it was already once a time in the market in 1990-s before it was banned by Apple and pressed by Microsoft. This product had such a positive indicators from all sides of vision that it was too good for its time. Imaging 64-bit transactional attribute-driven file system and all hyper-threaded application capable of running full power on 256 processors in late 1990. Consider today MHz limitation by physics of silicon chips and growing trends on parallel processing. Clean kernel code and fast context switching make this product comparable and competitive to real-time operating systems. Fine tuned scheduler beats up all modern desktops. Of course this product was BeOS.


Up for now already exists modern clean kernel that is proven to be good in wide range of applications. It is even more qualitative that Be's one. Originally it was developed be ex-Be engineer Travis Geiselbrecht as NewOS and later adopted and refactored by Haiku members, now forms Haiku kernel. It is well mature with clean highly portable boot architecture and object-oriented highly portable VM layer. Based on 5 primitives it has fast context switching and 80 kernel syscalls being fully compatible with original BeOS kernel. As XNU, internally it uses C++ for better presenting of concepts and externally visible through C interface.

After death of Symbian (EKA open source mobile real-time kernel) Haiku and NewOS kernel can form the new base of mobile kernels for wide range of applications, being totally free from Symbian C++ negative aspects.

Application Framework

The general idea of application layer development is taken from 90-s the servers that serves asynchronous network-transparent persisted client messages from client threads. There is set of servers that acts as isolated restartable processes: network, application, debug and other system servers that gives stability across the application layer of the system. This approach is known as application-level microkernel in contrast to drivers-level microkernel where device drivers also live as separated isolated processes (can be found in QNX). Such microkernel design is known to be native BeOS application level architecture presented in from of C++ API.

Also today it can transparently host Qt framework thanks to Gerasim Troeglasov. That can fullfill mobile platform built around Haiku with Symbian Qt and MeeGo Qt mobile applications considering Nokia's focus-shift to Windows platform. This is apart from huge set of existing Qt desktop applications.

However new mobile home screen lobby, new controls and layout for mobile phones and gesture API should be designed in order to support hand human interface. That is a gap in coverity of Haiku code base.

As for netbooks and geek desktop Haiku clear user interface (actually BeOS interface) in style of old-school Mac OS that is fully satisfy customer needs. Being so small and quick it starts with 6 seconds and another 6 seconds it needs to load all application shipped with the OS.

The only niche it lacks is a desktop workstation with professional specialized software that is designed only for Windows and Apple.

UNIX Services

Speaking of UNIX services Haiku must provide full set of POSIX API with modern epoll/kqueue counterpart. It already has it along with very promising multi-threading capabilities: on 8 quad Atom CPU Haiku can play simultaneously seven streams of 704x396px MPEG-4 without performance downgrade in contrast to Linux three simultaneously streams.

Existed ports system similar to Gentoo Portage exists in Haiku. Now it already has a number of common UNIX applications for server maintenance need. Among them Erlang one of the best and de facto standard in telecommunication services. Synrc Research Center examines Haiku for hosting their Erlang services.
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
Account name:
If you don't have an account you can create one now.
HTML doesn't work in the subject.


Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.