Microware Technology Brief
![[Microware Logo]](../images/microware.gif)
OS-9: A Superior Baseline for Embedded Applications
OS-9 is Microware's flagship real-time operating system (RTOS) for embedded
systems. The technologically superior RTOS has features that meet your embedded
application requirements.
Modular Architecture

The first part of every OS-9 module is a header, which records the revision
history. This enables module by module upgrade or replacement, resulting in highly
availability and field upgradeable end products. The second part of an OS-9 module
is the position independent, fully reentrant data/code area that enables functionality to
be built into one module then shared by multiple others to minimize overall code
size. The third piece of the module is the cyclic redundancy check (CRC), which
detects accidentally or maliciously corrupted modules, providing high reliability and
security.
Real-Time System Updates

Non OS-9 threaded operating systems tend to be one blended body of code. To
update a single component, the entire blended body of code must be reloaded for testing,
resulting in long reloads. Also, you must typically reboot the system to experience
introduce the change.
OS-9's modular format allows you to simply load the new module for testing.
Use this same feature to upgrade or replace modules while deployed systems are on-line and
in-use. New features can also be added remotely without physical access to the
equipment for low cost of upgrade.
System Security
The blended body of code typical of non OS-9 systems provides no system
protection. Accidental or malicious corruption from any thread can bring down the
entire system. The OS-9 process model architecture coupled with OS-9's system
state/user state boundary and module CRCs provide a high level of protection against
corruption to the system. OS-9 traps, isolates, contains, and can report faults in
the system to console printer, or other processes to initiate automatic error recovery
procedures using the OS-9 exception handling facilities. This provides a full error
detection and recovery environment..
Process-Model Architecture

If your application demands fault tolerance and high reliability, then a process model
RTOS like OS-9 is your best choice. Threads-based kernels tend to be very fragile
environments. A bug in one thread can result in catastrophic results for the entire
system. In the OS-9 environment, individual process failures are localized and
cannot affect other processes or system resources. As a result, non-critical process
failures cannot bring down your entire system.
Microware's OS-9 real-time operating system (RTOS) provides an exceptional foundation
for embedded real-time products. OS-9's compact, high-performance, multi-user,
multi-tasking real-time kernel offers unique features to provide a solid foundation for
time-to-revenue success. OS-9's extensive API and I/O structure allows developers to
quickly and easily write applications that are independent of hardware devices.
Application Programming Interfaces (APIs)
OS-9 includes a rich set of application programming environments and interfaces to
maximize programmer productivity. Customer experience shows that with these APIs,
the OS-9 programming environment can require 70% fewer lines of application code compared
to other commercial RTOSs. OS-9 APIs include HTML, native C/C++, sockets,
PersonalJava and custom APIs.
HTML
The most identifiable application for HTML application environments is browsing or web
content. HTML is also finding applicability in other applications such as storing more
traditional embedded system content like system statistics and configuration
information. OS-9 provides a broad base of web serving and browsing technologies for
all these applications.
Native C/C++
Application programming with OS-9 is very similar to UNIX programming. The
native application environment incorporates a unified I/O system where accessing any kind
of I/O device by the application is done the same way (open(), close(), read(),
write()). If you're familiar with the ioctl() call in UNIX, system configuration
getting and setting is done through getstat() and setstat() calls identical to
ioctl(). Whether accessing a disk, tape drive, CD, network, graphics, or multimedia
device, the baseline native APIs through OS-9 are the same.
Microware has expanded this unified I/O API to provide additional APIs for networking,
graphics, MPEG and other multimedia services.
Sockets (and NFS/RPC)
The OS-9 product line comes complete with a TCP/IP stack based on Berkeley Standard
Distribution (BSD) version 4.4. This implementation provides a robust socket library
that provides for simple porting and compatibility with any sockets-based utilities or
applications. Remote Procedure Call (RPC) interface is also available with Network
File System (NFS) client and server for applications or environments requiring these kinds
of services.
PersonalJava
Microware has an extensive track record and proven leadership position in Java.
Microware was the first RTOS manufacturer to become a Sun Java licensee, to release a
release a PersonalJava/RTOS product and to participate in a PersonalJava-based network
deployment.
Custom APIs
OS-9 allows easy creation of custom library bindings to enable fast and easy
application development suited to your requirements.
Extensive I/O Support
OS-9 provides extensive I/O support through the I/O manager and file managers.
File managers are hardware-independent modules designed to handle I/O processing for a
specific class of devices. Device drivers handle the basic physical I/O functions
for specific controllers. The device descriptors are small, non-executable
modules that associate a specific I/O device with a logical name, hardware address, device
driver name, and initialization parameters. OS-9's flexible and scalable
architecture makes it easy to add support for new I/O devices at boot time or dynamically
while the system is running.
OS-9's I/O architecture allows you to write less code to support different I/O
hardware. File managers provide an abstraction layer between your application and
the physical hardware and provide logical I/O support such as opening, reading, or writing
for a device. Device drivers handle physical I/O such as initializing the device and
reading or writing a standard physical unit of data from the device. As you
add new I/O devices, you can use the existing file managers for the logical I/O
support and easily develop the code to handle the physical I/O device.
OS-9 file managers include:
File Manager |
Description |
SPF |
Stacked Protocol File manager handles I/O for devices that use
stacked protocols such as Ethernet, TCP/IP or ATM. |
MFM |
Multimedia File Manager handles I/O for multimedia devices such as
LCD's, VGA/SVGA displays, audio, keyboard, touchpads, touch screens, mice, and other
pointer devices. |
RBF |
Random Block File manager handles I/O for random-access,
block-structured devices such as floppy/hard disk drives. |
SCF |
Sequential Character File manager handles I/O for sequential-access,
character-structured devices such as terminals, printers and modems. |
SBF |
Sequential Block File manager handles I/O for sequentail-access,
block-structured devices such as tape drives. |
PC Card |
PC Card file manager provides PCMCIA card services based on
CardSoft from SystemSoft, Inc. |
RBFTL |
Random Block Flash Translation Layer file manager provides flash memory
file services based on TrueFFS from SystemSoft. |
Pipes |
Pipe file manager handles I/O for inter-process communications
through memory buffers called pipes. OS-9 supports both named and unnamed pipes. |
PCF |
PCFile manager handles I/O for random-access, block-structured
devices such as floppy/hard disk drives that use a DOS directory structure. |
MPFM |
Motion Picture File Manager provides MPEG video encoding capabilities |
High Performance Communications
SoftStax builds on the OS-9 I/O framework to provide a high-performance communications
subsystem that supports a wide variety of standard and custom networking protocols.
SoftStax's architecture and API layer allows your application to be written independent of
the underlying protocol, device drivers, and network media for greater
portability. With SoftStax, applications can utilize several protocol stacks during
a single communications session and switch protocols depending on the network
requirements.
Embeddable Multimedia Support
MAUI is Microware's solution for multimedia support in embedded systems. MAUI
extends the OS-9 device driver model to enable graphical processor independence to
facilitate application portability. MAUI provides a rich set of text, drawing,
and animation services along with windowing, clipping, and inking to support your
graphical interface. MAUI furnishes a high speed drawing engine that is modular for
flexibility and compact for embedded environments.
Contact Information
| Telephone |
+41 (0)56 483 34 64 |
![[Esloft AG logo]](../images/elsoft-big.gif) |
| FAX |
+41 (0)56 493 30 20 |
| Address |
Taefernstrasse 20, CH-5403 Daettwil |
| E-Mail |
info@elsoft.ch |
Information contained in this document is subject to change without notice.
Other products and companies referred to herein are trademarks or registered trademarks of
their respective companies or mark holders.
Copyright © 1997-2001 Elsoft AG, Switzerland
Last modification: 05 April, 2000
/sp
|