power by design,
power for design


A Tour of the Be Operating System
Preview Release

This tour is for those new to the BeOS who want an overview of the capabilities of the system. While there is no replacement for experiencing the performance and interactivity of the BeOS live, in this virtual BeOS demo we will try to give you a feel for the power of the BeOS.


BeOS Tour Guide

Modern Foundations

User Services

Inter-Application services

Internet enabled

Integrated Media

Compatible


Modern Foundation

Multi-media professionals require real-time performance, system stability and media integration. The BeOS has been written from the ground up to meet those needs. The BeOS is the first truly modern OS - designed without the 10-15 years of legacy code seen in other operating systems. The clean and modern foundation of the BeOS enables the system to be small, responsive, stable and easy to program. One Be developer describes the BeOS as "low-friction" because the OS doesn't have layers and layers of code that make applications huge and slow.

In this tour we will only visit three of the important modern foundations of the Be Operating System - multi-threading, multi-processor, and protected memory. See the Media OS document for additional details on BeOS foundation capabilities.

Multi-processor (MP)

Most personal computers have been designed for a single micro-processor. If you have bought a computer with the fastest available processor and still need higher performance - you are stuck. The BeOS enables an exciting high performance alternative - personal computers with more than one processor. The BeOS currently runs on one, two and four processor Power PC computers. The operating system itself has no limit on the number of processors in the system so as new hardware becomes available, the BeOS automatically takes advantage of the additional horsepower.

The CPU monitor is an application that comes with the BeOS that graphically displays the number of processors in the computer (in this case 4), their speed (181Mhz), and the amount of work they are doing at the time. The CPU monitor even allows you to turn processors on and off. Not only will the computer not crash (unless you turn off all processors - the machine will do what you ask), but the work will be dynamically allocated to the processors that are available.

Multi-threaded

A multi-processor computer will not perform as expected unless both applications and the operating system take advantage of that capability. The key to exploiting an MP system is multi-threading which is the process of breaking down a task into sub-tasks that can operate in parallel. In a multi-threaded MP system threads can be accomplished in parallel and can actually be executed on separate processors, thereby dramatically increasing performance.

Unlike other "MP capable" operating systems, the BeOS is heavily multi-threaded throughout both the programming model and the operating system. It is virtually impossible to create a single threaded BeOS application because the system provides threads automatically.

The graphic above demonstrates BeOS both multi-tasking and threading - files are being copied and deleted at the same time as the Benoit Mandelbrot application is drawing. Mandelbrot provides an excellent example of application threading in the BeOS. The application has six threads but only two are handled by the programmer. The system provides two thread to handle drawing the window and two to handle the menu items. The author uses two threads to actually calculate and draw every other line of the contents of the window. The multi-threaded design of the BeOS and the application result in performance that is twice as fast on a dual processor computer as it is on a single processor machine.

The overall performance the user experiences also depends on the threading within the operating system itself. Underlying components of the BeOS are extremely multi-threaded to enable tasks to run simultaneously. The BeZAP application shows that there are over 80 threads on the BeOS system which only has four applications running.

Protected memory

A protected memory system is one where each application has its own memory space. If one application crashes, it doesn't corrupt other applications nor the underlying system. You can simply re-launch the offending application rather than having to reboot the entire system. The BeZAP application uses the triangle icon to designate each protected memory space in the system. You can see that each application, as well as elements of the operating system, have their own memory.


Powerful User Services

The user interface of the BeOS leverages existing user interface paradigms and improves upon them. For those of you that have seen developer releases of the BeOS, you are going to notice some significant changes in the BeOS Preview Release.

Tracker & TrackBar

Tracker provides a user interface for working with files. It is analogous to the Macintosh Finder or Windows Program Manager.

TrackBar, shown on the top left of the BeOS desktop above, has several uses. It offers:

  • access to the windows of currently running applications and their windows.
  • the ability to perform queries.
  • direct access to most often used applications and documents.
  • navigation of the entire directory structure of the computer.
  • the ability to show/hide draggers for Replicator ... and more.

The TrackBar can be repositioned vertically and attached to any corner of the screen, or horizontally at the top or bottom of the screen (and can be repositioned on the fly.)

Desktop Icons & Soft-links

The BeOS allows users to flexibly organize their data and applications. With support for desktop icons, users can have favorite files or applications right on the desktop for easy access.

The system also supports soft-links (like aliases in the Macintosh) which enable users to have multiple virtual copies of a file or application all linked back to one source.

MIME Type Support

The Tracker now uses the internet standard "MIME types" to support associating applications with the documents they create. The MIME type facility in the BeOS allows users to not just double-click documents to open the associated application as well as to change the association to another application. For example you could reassign a GIF document created with an image editor to a Web browser so each time you double-click the document - the web browser is launched to display the GIF rather than the image editor.


Inter-Application Services

Inter-Application Services are a suite of interfaces and tools enabling the BeOS System and applications to be more powerful, yet smaller and better integrated.

Messaging

The BeOS has one simple and standard way for one entity to communicate with any other entity in the system. Cut&Paste, Drag&Drop, scripting, Inter-application communication, and Be's Replicator technology are all handled with the same mechanism - called BMessage. This unification dramatically simplifies programming the BeOS.

One example of messaging is demonstrated by the BeBounce application. It is a simple demo that bounces a red ball in a small box. When two copies of the application are launched messages are sent in real time between the two applications. These messages cause each window to create an opening based on their position relative to each other. The Be messaging mechanism is used for the applications to communicate their position and the trajectory of the ball so it can bounce out of an opening in one window and into the other.

Replicator technology

The BeOS has a powerful and elegantly simple component software technology called Replicator. Replicator allows objects, or views, of one application to be shared and run within another application - code and all.

The Shelf demo application demonstrates how you can replicate views from one application (in this case the face from the clock and the on-buttons from the CPU Monitor) and have them contained in another. The face and the on-buttons are not simply graphics but running portions of those applications.

With Replicator you could replicate a web page in your web browser and have it display on your desktop (one huge shelf application) and it would be updated just as if you were running the browser.

File system queries

The BeOS includes file system level queries capabilities. Every BeOS file or directory can have attributes which can be indexed and quickly queried. Applications can utilize this system capability rather than having to write their own light-weight database functions.

A simple third party email application called MailIt uses file queries extensively to track email logs and addresses. Rather than having to implement all of this functionality himself, the author utilized the system services, resulting in a smaller and simpler application.

As a result MailIt is only a 128K download compared to 1.9MB for the Mac version of Eudora Lite. Granted, Eudora Lite has more functionality than MailIt but probably not 15 times more.


Internet enabled

The internet is a critical enabling technology for Be so we have included many basic internet capabilities with the BeOS.

TCP/IP Ethernet

The TCP/IP and Ethernet are the network standards of both the internet and the BeOS. The BeOS supports Macintosh on-board Ethernet as well as a number of popular Ethernet cards. The Network Preference panel shown below allows the concurrent use of multiple ethernet cards with multiple IP addresses. All the settings are reconfigurable without restarting the machine.

Internet Communication

The Network Preference panel enables PPP, Telnet and FTP functionality

- PPP (Point to Point Protocol) enables you to connect to the internet with a modem.

- Telnet allows you to connect to and interact with your BeOS system from a remote location via a command line interface.

- The BeOS allows you to upload and download files via the FTP (File Transfer Protocol).

Web and Email

Because internet communication is central to the BeOS we include a light-weight web browser (NetPositive) and email application (BeMail) to get users started. A variety of third party developers are developing more functional versions of this software so users can upgrade if they need more capabilities.


Integrated Media

Native realtime support and the ability to work with and integrate popular media types is critical for a "Media OS". The BeOS offers realtime thread priorities to support realtime applications such as audio and video. The operating system also includes a modular data services library that provides a standard way for applications to read, write, translate, and manipulate any file format that has a module. Currently, developers have written modules that support a large variety of graphics, video, sound, 3D, etc. formats and more are coming every week. With BeOS messaging and Replicator, we expect to see applications that give new meaning to the term multi-media.

Digital audio

The realtime audio capabilities of the BeOS are extensive. Because all audio is routed through the BeOS, on certain CD drives you can actually save CD audio to disk. Developers are using the audio capabilities in the BeOS to apply filters and special effects to the audio stream in realtime.

MIDI

MIDI - Musical Instrument Digital Interface - is another digital audio format that is a higher level description of music than digital audio. MIDI includes information about notes, tempo, instruments, etc. The BeOS includes a basic software MIDI synthesizer so you can start experimenting with MIDI right away.

The application shown above both plays the MIDI file and displays a graphic representation of the audio stream.

3D

The BeOS is an excellent platform for 3D applications. The BeOS supports two 3D interfaces, our own interactive 3D Kit and the industry standard OpenGL, which has been licensed from Silicon Graphics.

The Be 3D kit is ideal for realtime and interactive 3D applications like games and data modeling where speed is more critical than quality. The Cube application uses the Be 3D kit to create a shaded spinning cube. Cube also allows you to drag images, movies, even live video onto each surface. While mapping three images, two movies, and live video to the surfaces of the cube simultaneously, the user can use the mouse to interactively rotate the cube.

OpenGL, the 3D standard, is great for applications where quality of the final rendering is paramount. The Teapot application is a standard OpenGL test application that allows you to rotate the Teapot as well as use the slider to increase or decrease the quality of the rendering.


Compatible

While we have started fresh from an OS design standpoint we recognize that the BeOS must be able to work with non-BeOS system and data. This is the reason we support standard networking and data formats which we've already covered. There also are several other elements of BeOS compatibility that are worth examining.

Macintosh HFS disks

The BeOS File system and Tracker support Be File system and Macintosh formatted (HFS) disks. This means that from the BeOS you have access to all the files on your Macintosh hard drives. The Tracker allows you to simply read, copy, etc. files on a Macintosh hard drive or floppy disks.

PostScript & PCL Printing

The BeOS provides basic printer drivers for popular PostScript and PCL printers. There is also a driver interface so printer manufacturers or other developers can write high performance printer drivers for the BeOS.

Anti-aliased TrueType and Type1 fonts

Not only does the BeOS support both dominant font formats, TrueType and PostScript Type 1, it also adds anti-aliasing capability so that fonts are less jagged and more readable.

Unicode

The BeOS supports Unicode enabling a system that includes the proper fonts to handle languages (such as Japanese) that have thousands of characters.

The Font application demonstrates how by simply changing the font, both Latin and Kanji characters can be handled by the system.

Command Line/POSIX

The BeOS also ships with an application called Terminal which uses a Be port of the Bourne Again Shell (Bash) popular in the unix community. With Terminal users can have extensive command line interaction with the system. The BeOS has a POSIX compliant layer that enables unix utilities to be easily recompiled to run on the BeOS.

The screen above shows some familiar commands and some of the GNU utilities that have been recompiled to run on the BeOS.

Metrowerks, C++, and Java

Be has worked closely with Metrowerks, one of the industry's premier developer tool companies, to provide the primary development environment for the BeOS. To make it easier for our developers we have chosen the most familiar PowerPC development environment (CodeWarrior) and the two most popular object oriented languages available (C++ and Java). This means that developers can focus on taking advantage of the unique capabilities of the BeOS rather than learning to use new tools or languages.

There are currently over 3,000 developers developing products for the BeOS.


 

For more information on the BeOS Preview Release see also:

* What's New in the Preview Release
* The Media OS
- technical white paper
* The Be Operating System - datasheet



Copyright ©1997 Be, Inc. Be is a registered trademark, and BeOS, BeBox, BeWare, GeekPort, the Be logo and the BeOS logo are trademarks of Be, Inc. All other trademarks mentioned are the property of their respective owners.Icons used herein are the property of Be Inc. All rights reserved. Comments about this site? Please write us at webmaster@be.com.