spacer graphic


Be Developers:
Put your banner here!

spacer graphic infoIcon graphic [Bar]

A Guide to BeOS System Objects


app_server Icon

The App Server Icon
Location in the BeOS: /beos/system/servers/app_server

The BeOS Application Server is one of the cornerstones of the multithreaded architecture of the BeOS.


The BeOS Application Server, usually referred to as the app_server, is one of the most critical pieces of the BeOS. The obvious reason is because it's the part of the BeOS that actually draws things on the screen (setting aside a few exceptions like BDirectWindow), so without the app_server, you wouldn't see anything on your monitor. That would make your system pretty useless!

One of the interesting things about the app_server is that it's one of the strategic ways that we make the BeOS pervasively multithreaded. When an application starts, it gets its own thread of execution, which makes it a single-threaded app.

But as soon as it opens a window, another thread is started on the app_server side to handle the drawing in that window. This happens automatically, without the programmer having to do anything. In other words, it's instant multithreading, for free!

Because of the app_server, and other components of the BeOS which are designed similarly, it's virtually impossible to not write a multithreaded application on the BeOS. No other desktop operating system makes this as easy or does this as thoroughly as the BeOS; it is one of our greatest technical advantages.

The app_server is important in other ways, though, because it does more than just draw dots on the screen. The icon for the BeOS Application Server is a generic application icon being "served up" by a hand. And that's really what the app_server does; it handles a lot of things for each application, so the applications don't have to.

Things like moving windows around on screen (which is related to drawing), as well as managing events like key presses, mouse clicks, drags, and the like. The app_server determines what window, or what part of that window, needs to be notified about each event, tells it, and then the application can handle the event, knowing that the event belongs to it.

You'll never double-click on the app_server, but you'll always know it's there!

Copyright © 1999 by Be, Inc. All rights reserved. Legal information (includes icon usage info).
Comments, questions, or confessions about our site? Please write the Webmaster.