Aloha, This got me interested, so I started doing some reading. BeOS is based on a microkernel, written in C, everything else in the OS is done via servers which were written in C++. The servers are:
Application Server - provides the functionality for creating apps and their associated windows and controls Game Server - encompasses all the necessary functionality needed for implementing games on OpenBeOS. This includes low-level graphics and high performance sound playback Input Server - the middle man between keyboard/mouse/pen tablet drivers and applications. Events such as keystrokes and mouse clicks are received by the Input Server which can then filter or process them before sending them to the App Server which in turn forwards them on to the application Media Server - concernced with reading, writing, and processing large streams of data (audio/video, etc.). Emphasis is on high performance and low latency. This is the realm of codecs (compression/decompression engines), frames, samples, and buffering. MIDI Server - implements support for generating, processing, and playing music in MIDI format Networking Server - implements all the low-level functionality needed for network communications Storage Server - provides programmatic access to any mounted file system. This could be a disk-based file system such as BFS or a virtual file system Printing Server - provides everything needed for printing Be File System - The Be File System (BFS) is a kernel add-on: this means that, while it is not in the kernel itself, it is still a low-level module that interacts closely with hardware. The Be File System Protocol (FSP) is a simple API that translates file system operations into kernel driver calls Most of this information came from www.openbeos.org >From reading through news groups, it sounds like BeOS does use STL and RTTI, but BeOS libraries don't use exceptions, instead they use the mechanism of returning error values on calls like it is done in UNIX Dusty > On Tue, 22 Oct 2002, Dustin Cross wrote: >>BeOS was written in C++ and it was one of the best operating systems I >>have ever used. It was fast and efficient. > > Do you know if they use exceptions, STL, and RTTI? These aren't the > main features of C++, but I can't imagine an OS using these things. > The only way I can see C++ being used to implement an OS is if it is > used as a better C compiler. There is nothing wrong with this, but it > can't be considered C++. >
