The ChorusOS operating system brings:

                         Component-based architecture for super-configurability:
                         The ChorusOS operating system uses a highly-flexible,
                         component-based architecture that allows different services to
                         be configured into the runtime instance of the operating system.
                         This allows the runtime to be finely tuned, according to the
                         underlying hardware platform, the memory footprint
                         requirements and the application features.

                         Mission-critical high-availability: From its origin, the
                         ChorusOS operating system has been defined and architectured
                         with the goal to fully comply with the real-time embedded
                         requirements for network equipments. It has been used in
                         real-life telecom products where mission-critical and high
                         performance are keys for the past 6 years, with customers
                         shipping equipments dedicated to PSTN and IP switching.

                         Exceptional scaleability: the component-based design of the
                         ChorusOS operating system allows a very high degree of
                         scaleability. It can be as small as 10Kbytes; additional
                         components can be added, to create a tailor made instance, to
                         the level of the resources available.

                         Multiple OS personalities and APIs: multiple operating system
                         personalities and APIs can be run simultaneously on a common
                         hardware platform. This feature allows quick integration of
                         existing applications on top of the ChorusOS operating system.
                         The system can be extended by adding new applications that run
                         over standard APIs, to create powerful combinations of legacy
                         applications, real-time POSIX applications and Java™
                         technology applications.

                         Support for Java technology: The support for multiple OS
                         personalities provided by Sun Embedded Telecom Platform has
                         enabled to include key Java technologies valuable in network
                         equipment, such as the Java Dynamic Management Kit™
                         framework. It brings an efficient plug-in for network management
                         applications.

                         Transparent distribution: The ChorusOS operating system's
                         Inter-Process Communication (IPC) feature allows applications
                         to be distributed across multiple machines. The IPC feature
                         makes the process location entirely transparent to the
                         application.

                         Code re-use: ChorusOS implementations are upward
                         compatible. Developers can therefore reuse applications on the
                         same core operating system, for a larger range of equipment.
                         For example, an ATM router card is developed, using a small
                         instance of the ChorusOS operating system; later another
                         project, to develop a broadband ATM switch, can build on the
                         routing module, reusing the code.

                    Applications: Telecom/Datacom

                         Private and public switches (PBXs).
                         Datacom systems.
                         Internetworking equipment.
                         Transmission equipment.
                         Line cards.
                         Cellular networks.
                         Network monitoring equipment.
                         Satellite transmission systems.

                    Enhancements in Version 4.0

                    Version 4.0 of the ChorusOS operating system provides the following
                    enhancements:

                         A full binary product
                              Portable CPU family binary
                              BSPs for porting on new platforms, adapting the boot
                              method, changing/adding device drivers
                              Reference implementations

                         Enhanced high availability features
                              Simplified high availability management
                              Modular, configurable

                         Enhanced TCP/IP
                              Updated TCP/IP (BSD 2.2.7)
                              Multiple network interfaces
                              Extended routing, IP forwarding and multicast
                              DHCP
                              Enhanced and simplified administration

                         Operating system configuration
                              Independent operating system components: devices, file
                              systems, networking, dynamic application loading
                              Reduced memory footprint, higher modularity and
                              improved scaleability

                         Enhanced operating system features
                              Dynamic libraries
                              C++ exceptions
                              Full support for flash memory
                              Line disciplines
                              Device file system

                         Sun Embedded WorkShop™ 4.0:
                              Open debugger integration framework
                              System debugging
                              GUI based configuration tool
                              Uniform configuration data
                              Uniform application, board support package (BSP) and
                              driver development environment

                    Key Features

                         A component-based operating system architecture with
                         replaceable system components. These are selected as needed
                         to meet memory footprint, performance and feature
                         requirements of the target system.

                         High real-time performance.

                         High availability:
                              On the fly dynamic software reconfiguration.
                              Hot restart of system and application software.

                         Efficient emulation of in-house or third-party execution
                         environments simultaneously with other APIs for straightforward
                         migration of legacy applications.

                         Efficient co-hosting of multiple operating system personalities
                         and APIs:
                              CHORUS native API
                              RT-POSIX (1003.1b/lc)
                              Java™ runtime and services
                              Legacy OS.

                         Binary Package
                              Available for a CPU family
                              With the support of reference platforms
                              A Board Support Package (BSP) framework for
                              complementing or developing BSPs

                    Benefits

                         Unprecedented scalability and flexibility; fine-grained
                         customization of the operating system to meet hardware
                         capabilities and application requirements for improved
                         performance, reliability and cost optimization.

                         Real-time performance for critical real-time applications.

                         On-the-fly software updates and error recovery.

                         Ability to leverage software investments in legacy code, and to
                         add off-the-shelf applications.

                         Advanced operating system features and support of open
                         system environments, provided by industry-standard APIs.

                         Ability to generate either I/O and network versions, or both, as
                         needed. This enables generation of slimline versions which
                         require reduced memory for embedded systems.

                         Portability on various platforms
                              Adaptation, extension of boot methods
                              Adaptation, addition of device drivers
                              Development of BSPs by 3rd parties

                    Sun Embedded WorkShop 4.0

                    Sun Embedded WorkShop software provides a state-of-the-art,
                    integrated development environment for the ChorusOS operating
                    system. It includes an easy-to-use graphical user interface, and a
                    complete host-target toolset. It is available on the Solaris™ operating
                    system and Microsoft Windows NT.

                    Product Components

                    Sun Embedded WorkShop 4.0 software includes the following product
                    components:

                         GNU C and C++ cross development tools:
                              g++.
                              GNU gcc cross-assembler.
                              GNU binutils (binary file utilities).

                         Microtec XRAY for ChorusOS operating system, a debugging
                         tool which comprises an integrated set of tools which simplify
                         the edit-compile-download-debug cycle. It provides:
                              Enhanced C++ debugging.
                              Per thread breakpoints.
                              An easy to use, graphical user interface.
                              Support for debugging in multithreaded, multiboard and
                              heterogeneous environments.
                              Support for debugging user application as well as system
                              code (interrupt routines, drivers, etc.).
                              A unique `window-per-task' interface for simpler debugging
                              in multitasking/multiprocessing environments.

                         Open framework for supporting Host-Target tools, in particular
                         debuggers.

                         System configuration tools (GUI based), for selecting:
                              the components of the ChorusOS operating system to be
                              loaded on the target,
                              the actors to be loaded at boot time,
                              the resources allocated to OS services (e.g. amount of
                              memory)
                              the environment variables defining the configuration of
                              system services (e.g. an IP address)

                         Libraries (C and C++):
                              Thread-safe C++.
                              ANSI-C (POSIX 1003.1 compliant).
                              POSIX 1003.1 conformant timers, message queues,
                              shared memory, semaphores, I/Os and pthreads.
                              POSIX 1003.1g conformant sockets.
                              Thread-safe mathematical ANSI-C.
                              C++ iostream; C++ exceptions.
                              Per-thread private data.
                              X11, Xaw, Xext, Xmu and Xt libraries.

                         Application management utilities:
                              Netboot: used to boot the ChorusOS operating system
                              remotely, by using tftp, when the target does not provide
                              an embedded boot facility.
                              Default console: used to direct all console I/O to a local
                              display or to a remote host via a serial line.
                              Remote shell: used to execute commands remotely on the
                              target from the host. In particular, this feature allows
                              applications to be loaded dynamically.
                              Resource status: used to list the current status of all
                              operating system resources. For example, actors,
                              threads, and memory.
                              Logging: used to log operating system events as they
                              occur on the target.
                              Monitoring: used to monitor operating system objects so
                              that user-defined routines are called when certain
                              operations are performed on specified objects.
                              Profiling: used to run profiling sessions on system
                              applications.
                              Benchmarking: used to benchmark the operating system.

                         Runtimes of the ChorusOS operating system version 4.0.

                    Host-Target Development

                         Solaris and Microsoft Windows NT hosts.

                         ANSI-C and C++ cross development.

                         Application and system programming interfaces.

                    ChorusOS 4.0 Operating System

                    Product Features

                    The ChorusOS operating system architecture provides a fine-grained
                    selection of OS components, layered on top of a core executive. They
                    can be replaced by other similar components to fit particular hardware
                    capabilities or specific application requirements, for an optimal
                    configuration.

                    Executive

                         Micro core executive:
                              10 Kbytes
                              Single multi-threaded application support
                              User-provided management of interrupts, traps and
                              exceptions.

                         Core executive:
                              Supports multiple, independent users or trusted system
                              applications.
                              Supports applications in user or supervisor address
                              space.
                              Performs dynamic memory management.

                    Schedulers

                         Real-time scheduler: Priority-based pre-emptive FIFO.

                         Multi-class scheduler:
                              Priority-based pre-emptive FIFO
                              Priority-based with fixed-time quantum
                              UNIX time sharing and real-time
                              User-defined policy.

                    Memory Management

                         Flat memory: Management of physical memory, no protection.

                         Protected memory: Multiple protected address spaces.

                         Paged memory: Page-based protected address spaces.

                         Virtual memory: On-demand paging.

                    Communications

                         Local IPC: Single-board, asynchronous, synchronous and
                         multi-cast communication.

                         Distributed IPC: Location-transparent communication.

                         Mailboxes: zero-copy, messages of configurable size.

                         Real-time message queues.

                    Synchronization

                         Semaphores

                         Mutexes

                         Real-time mutexes (to avoid priority inversion)

                         Event flags.

                    Time Services

                         Timers: One-shot or periodic, usable from both supervisor and
                         user mode applications.

                         Time of day: Universal time.

                         Time utilities: High-level OS services, profiling, benchmarking.

                    Interrupt Management

                         Generic interrupt.

                         User-provided interrupt management.

                    File Systems

                         UNIX® -compatible UFS and FFS file systems (with 64-bits disk
                         and file sizes).

                         Flash File System, based on MS-DOS file system (with long file
                         names).

                         Drivers for SCSI and IDE controllers and Flash Memory.

                         NFS™ file sharing (client and server).

                         Execution in place of binaries stored in Flash Memory.

                         Embedded File system for built-in devices and drivers
                         registration.

                         ANSI-C stdio.

                    Networking

                         Full TCP/UDP/IP stacks, including in particular
                              Support of multiple network interfaces
                              Routing between multiple interfaces
                              IP forwarding, IP multicast.

                         Sockets.

                         SLIP, PPP, with demand-dial establishment of connection.

                         Serial lines: line disciplines, pseudo-tty.

                         DHCP.

                         Name servers (DOMAIN, IEN116, file-based).

                         rsh, Xclients (Xlib, Xt, Xmu, Xext, Xaw).

                         Sun RPC.

                         Ethernet, Serial line, VME-backplane and cPCI support.

                    Administration

                         Easy administration of embedded configurations
                              Embedded built-in administration tools (no need for loading
                              utilities)
                              Embedded command line interpreter (TCL)

                    Applications management

                         Dynamic creation of applications.

                         Loading of compressed binaries.

                         Execution of applications loaded in RAM.

                         Dynamic libraries.

                    High Availability

                         Dynamic reconfiguration of application software.

                         Debug-compatible hot restart of system and application
                         software.

                    Target Platforms

                         UltraSPARC™ IIi

                         PowerPC 603, 604, 750, 821, 823, 860, 8260

                         x86, Pentium

                    and also1

                         microSPARC™ II, IIep, SPARClet, SPARClite™

                         ARM 7TDMI, ARM 710, StrongARM 1100.