Be OS Release DR7 Features

Tim Byars (
Thu, 2 May 1996 10:46:57 -0700

Below you'll find a summary of the major new features and changes
that can be found in Release DR7 of the Be OS. Full details can be
found in the DR7 documentation and release notes.

* Storage Kit & Server
* Interface Kit/User Interface
* Interface Kit/Graphics System
* Networking
* Messaging
* Device Kit/Device Drivers
* Kernel & Related Services
* Shell, Command Line Tools, Unix
* Be System Browser
* Applications
* Hardware Support

Storage Kit & Server

New File System
One of the biggest changes to the Be OS in DR7 is the
adoption of a "single-fork" file system (as opposed to
DR6's dual-fork system.) This means the Storage Kit now
provides for management of files that are data files or
resource files. It also allows resources to be added
into an application's executable file, and provides
database methods for storing additional information
about files. The single-fork file system provides for a
more industry-standard treatment of file structure, and
is faster and more robust. Full details of the new
features can be found in the Storage Kit documentation
for DR7.

Database Improvements
The Storage Server's database capabilities have been
improved, resulting in increases in performance and
ensuring better reliability. The database also
automatically sets up icons after a rebuild.

Interface Kit/User Interface

The Be desktop now has support for up to 32
"workspaces", virtual desktops each of which has its own
windows, screen depth, resolution, and desktop color.
There is complete API support for workspaces so that
applications can control which workspaces their windows
show up in.

Workspaces Application
Through the new Workspaces application, you can
configure the workspaces, as well as drop-launch
applications into various workspaces and move windows
across workspaces.

Proportional Scroll Bars
By popular demand, the Be OS now supports proportional
scroll bars. Also by popular demand, scroll bar behavior
and appearance are under user control via the new Scroll
Bar preferences panel, which allows you to control the
behavior of scroll bars to suit your taste.

New Screen Preferences Panel
Providing support for new color depths, resolutions and
refresh rates. See below for information on new
resolution and color depth support.

Desk Picture Support
There is now support in the Be OS for placing a picture
on the desktop, and for tiling patterns. Currently
supports BMP non-compressed (BMP OS/2) format. Will be
extended in following releases.

New System Startup Animation
Stored in the ROM of the BeBox, the new startup
animation features the Be logo in full living color.

File Panel Improvements
The save panel now shows the keyboard focus (between the
file list and the file name edit field.) You can tab to
change focus. You can also alt-up_arrow to move up to a
parent directory.

New Class: BTextControl
Combines the functionality of BControl with a simple
text edit field.

Interface Kit/Graphics System

32-bit Color Depth Support
The Be OS now supports full 32-bit color depth
throughout the system. Graphics methods now support the
new color depth. Color depth is changeable on the fly
and can be set for each workspace.

1024 x 768 Resolution Support
This resolution is now added to the 640x480 and 800x600
already supported. Resolutions are changeable on the fly
and can be set for each workspace. Additional
resolutions will be added in following releases.

Refresh Rate Control
You can now control the refresh rate of the graphics
system, allowing you to set up the system to precisely
fit your card/display combination. Rates can be altered
on the fly.

New Screen Control Panel
Allows configuration of color depth, resolution and
refresh rate on the fly, as well as 24-bit color control
of the desktop color. Note: higher resolutions and color
depths require more memory on the graphics card. The Be
OS will determine the allowable configurations

Hardware Cursor
A hardware cursor is now supported on all graphics cards
that provide the underlying support.

TrueType Rendering Improvements
Edges and escapement are now floats (allowing for better
screen positioning). Rendering performance has been
improved by a factor of 6 to 15 for small fonts,
depending on the number used simultaneously. A few small
bugs have also been cleared up.

StrokePolygon Changes
Extended to support all modes and pen sizes greater than
1.0. You may now keep the polygon open in order to
stroke a "polyline."

Pen Size > 1.0 Improvements
Pen size greater than 1.0 drawings are now centered.

Graphics Performance
Performance has been improved, with some functions up to
30% faster.

Application Server Improvements
A number of internal changes have been made to the
Application Server to correct a number of bugs.


Multiple IP Interfaces Supported
You can now add multiple interfaces for IP into the
system for Ethernet and PPP connections. This allows for
configuration of the system to support
different/multiple Ethernet configurations, as well as
different/multiple PPP configurations (such as for
different dial-up phone numbers.)

Ethernet Card IRQs and Ports Now Configurable
You can add Ethernet cards with various IRQ settings and
port settings. This allows for a greater range of cards
and configurations to be supported.

Built-In FTP Server
The Be OS provides a built-in FTP server, allowing you
to access the BeBox from any standard Internet FTP
client. Previously this was a command line option only.
Access to this feature is now integrated in the
networking preferences panel.

New Networking Preferences Panel
Offering one-stop shopping for network settings,
including easier configuration of PPP connections, and
for setting up FTP server services.

PPP Supports PAP Authentication

Manual Abort for PPP Connections

TCP Performance Improvements
Work done at lower levels of the Network kit has
increased the performance and reliability of TCP


In general, there are new methods in BMessage,
BMessenger, BLooper, BHandler, BApplication, BWindow,
and BView improving the messaging model.

Messages: Wider Scope
You can now send a BMessage, using BMessenger, to any
BHandler object in any application running in the
system. (Previously, messages to other application teams
were always handled by the BApplication object.) This
also means there are new methods for getting access to
handlers in other applications, such as lists of
windows. Most of the changes in this area are centered
in BMessenger. BHandlers must now belong to a BLooper
object (to enable message passing.)

Messages: Sender ID
You can now identify the sender of any BMessage. There
are also methods that allow you to reply to any message
(using a BMessenger.)

Messages: Locking
The locking behavior of BWindow has now moved into the
BLooper class. Thus the object self-locks its data when
handling a message.

BClipboard: Data Owner
There is a new method in BClipboard which allow you to
find out who placed the data on the clipboard.

BRoster: ID Change
BRoster now uses team_id instead of thread_id to
identify applications.

Device Kit/Driver Support

API for General Device Driver Development
DR7 provides the official release of the Driver Kit for
device driver development. Full details of the
capabilities and API can be found in the DR7

API for Graphic Driver Development
DR7 publishes the API for graphic drivers for the first
time, allowing anyone to produce drivers for any type of
PCI graphics card.

API for SCSI Driver Development
DR7 provides support for writing SCSI drivers using the
Common Access Method (CAM.)

Dynamic Loading of Drivers
DR7 now supports dynamic loading and unloading of

(for additional information on drivers, see the Hardware
Support section below.)

Kernel & Related Services

New Scheduler
The scheduler in the DR7 release is new, providing
better reliability and performance, and providing a more
predictable basis for process CPU time allocation and
process priority.

Shared Library and Add-On Support
DR7 completes work to support developer written C & C++
shared libraries (modular code making up an application)
and add-ons (code dynamically loaded by applications
during execution.)

Microsecond Support
system_time() now has true microsecond support
(previously it was at millisecond resolution.)

Process Time Tracking Improvements
The kernel now tracks the amount of time spent in user
code and kernel code for every thread.

Pipe Improvements
Pipes are now an order of magnitude faster.

malloc Improvement
A new version of malloc() improves reliability and

Shell/Command Line/Unix

Posix Support
Posix support is much more complete, and most Unix code
ports with no changes under DR7. This is a large
improvement over DR6's handful of Posix compatibility.
See the release documentation for full details.

GNU Tools
Over 100 GNU shell tools have been ported to the Be OS
and are available on the release CD, including sed, awk,
grep and diff.

A new tool that allows for remapping the keyboard.

A new tool for analysing system performance.

New tool for initializing and formatting media (see
hardware support.)

DOS FAT Media Compatibility
A set of new tools is provided that allow for reading
and writing on MS-DOS FAT-type media.

Terminal Application & Shell Improvements
Support for font selection, foreground and background
colors. Support for copy and paste. Support for file
name completion. Support for command line editing.

Signal Handling
Improved signal handling, resulting in control-C working
in the shell.

System Browser

Restart Improvements
The Be OS and BeBox can now be "restarted" under
software control. This also means that there is a
"restart" item in the Browser's main menu, and there is
a restart button in the shutdown dialog box. It also
means that pressing control-alt-delete will restart the

Auto-mounting of Media
The Browser BeBox volume window now has a "Mount All
Disks" command which will automatically mount any
external hard drives, removable media drives (such as
Zip and EZ drives) and CD-ROM drives.

Improved Icon Dock
The Browser's icon dock has a number of improvements,
including the ability to "stack" icons within dock

Tons of Browser Improvements
"Open Parent" menu item in browser folder windows.
Pop-up path menu in folder windows takes you to parent
folders. Double-clickable path names in file query
windows. Double-clicking file name opens items (no
longer constrained to clicking the icon.) Items in list
views, including queries, are always sorted. Copies can
now be canceled. There is icon feedback on double
clicks. Long file names are truncated as needed in list
views. Drag of items out of a query window will relocate
the item to the dropped folder. Shift-tab now selects
previous item in a browser window (tab always selects
next item.) Escape now cancels file name changes in
progress. Home, End, Page Up and Page Down keys now work
in Browser views and file panels. Select rectangle in
Browser windows will now auto-scroll. The right button
will now show the Browser's main menu from within any
applications main menu in the dock.

Find Panel Improvements
The find panel now supports searching date/time fields
with flexible criteria (such as "all items created
yesterday", or "items modified since last Monday.") The
find panel also now supports "does not contain."

Browser Dynamic Add-Ons
The Browser now has dynamic add-on support so that you
can add new functionality via Browser menus. Examples of
Browser add-ons can be found on the DR7 and CodeWarrior
for Be CDs.


PoorMan Web Server
A fully working, basic web/HTTP server handling HTML
pages, GIF, and JPEG files.

CDPlayer Changes
Now saves track information in the database and can be
queried with the System Browser's Find panel.

Magnify Changes
Adds a show/hide pixel grid capability.

Flight now supports full 32-bit color rendering (see
graphics section above.)

Hardware Support

Graphics Cards: Extended Support
There is now a published API for graphics devices in the
Be OS (see device section above) allowing new drivers to
be written to support any type of graphics card to be
plugged into the system. DR7 ships with drivers for the
following (with additional updates to appear on the web

Cards with the S3 864 and 964 chip sets,
including the Number 9 9GXE64 and 9GXE64pro.
Support for 8 and 32 bit depths provided. Also
cards with the S3 Trio 64 chipset, including
the Number 9 GXE64 Trio and the Diamond
Stealth 64

Cards with the Cirrus Logic chip sets,
including the Cirrus 5430, 5434, 5436 and
5440. There are many cards that use these chip
sets, including the Orchid Kelvin 32, Orchid
Kelvin 64, Diamond SpeedStar Pro SE and
others. Support for 8 bit is supported on all
cards, and 32 bit on the 5434.

Media: Formatting and Initializing Media
Initializing now does a fast format which does a
verification of the media and if it is already
formatted, does nothing else. Full formatting now does a
true low-level format which zeros every block on SCSI
devices. The Installer now supports initialization and

Media: Improved Support for SCSI Removable Media
A number of bugs have been corrected so that SCSI
removable drives (such as Zip and EZ drives) mount
correctly the first time, and these drives will be
mounted by the "Mount All Drives" command in the System

Media: Improved IDE Drive Support
The BeBox now supports IDE drives greater than 524 mb in

Media: Startup Device Control
The new startup code located in ROM on the BeBox
provides greater user control over which drive the Be OS
boots from, and other configuration options.

Mouse: Support for Serial Mice
The mouse driver now looks for a mouse connected to the
PS/2 port first, and if one isn't found it will look for
a serial mouse.

Serial: Driver & Performance Improvements
Some serious bugs were fixed in the serial driver and
overall performance is dramatically improved. Note:
hardware flow control and no flow control are
implemented, software flow control is unimplemented as

Be, the Be logo, BeBox, Be OS, BeWare and GeekPort are trademarks of Be,
Copyright =A9 1996 Be, Inc.
Send any questions or problems regarding this service to


" It isn't a very easy sport. If it were there would be a whole bunch of guys in tight pants doing it." ...Professional Skateboarder Eddie Reategui

-------- e-mail ---------