This chapter describes the major enhancements to the ChorusOS operating system. Please note that this is not a complete list of all changes to the operating system. The features listed in this chapter are described in more detail in the relevant section of this book and in other books within the ChorusOS documentation set.
The structure of the ChorusOS documentation set has been reorganized to reflect specific user populations. The new documentation set includes the following collections:
Installation Collection
Application Developer Collection
System Administrator Collection
Reference Target Platform Collection
Reference Manual Collection
For a complete list of the new guides and information on how the documentation set is structured, refer to About ChorusOS 5.0 Documentation.
The APIs in version 5.0 of the ChorusOS operating system have been reorganized to support three kinds of applications:
Most of the applications running on ChorusOS systems will be POSIX processes. These applications have access to the pure POSIX APIs, a few POSIX-like extended APIs and a small number of restricted microkernel system calls.
These applications are run on top of the microkernel and restricted to the microkernel API. ChorusOS actors include drivers, subsystem events and protocol stacks.
These applications are supported purely for backward compatibility and use the same APIs they used in previous versions of the ChorusOS system. While these applications are supported in ChorusOS 5.0, you are encouraged to move such applications to the POSIX level, using the standard POSIX APIs.
For more information on the reorganization of the APIs, refer to "Introduction to ChorusOS Applications" in the ChorusOS 5.0 Application Developer's Guide and to the API(5FEA) man page.
A brief description of the enhancements to the system features follows:
Provides a number of services to enable upper management layers to access and manage the instrumentation information exposed by the ChorusOS system. This information essentially consists of a number of counters and gauges with watermarks and thresholds. The Instrumentation Framework provides an interface to retrieve such information and also to set the thresholds and watermarks dynamically. See "Administration" in the ChorusOS 5.0 Features, Architecture and Performance Overview for more information.
Provides instrumentation to inform applications of the current use of the various resources managed by the system. Also allows you to monitor over- or under-utilization of resources. See "System Instrumentation" for more information.
Provides support for shared libraries which can be dynamically linked but are not duplicated in physical memory. See "Support for Shared Libraries" for more information.
Provides a repository for the collection and storage of event information leading up to a particular problem or circumstance. See "Black Box" for more information.
Allows the ChorusOS operating system to notify applications of the occurrence of a specified event. This feature provides a generic programming interface for event generation and delivery. See "System Events" for more information.
Provides a general message logging facility that can be used by the microkernel and by applications. See "System Logging" for more information.
Provides a set of system calls that allows applications to monitor their sanity. See "Application Watchdog" for more information.
A brief description of the enhancements to the platform features follows:
The ChorusOS boot framework has been enhanced so that it can use the DHCP protocol to retrieve the system image and boot it on the local node, provided there is a correctly configured DHCP server on the network.
The boot framework provides a fail-safe oriented boot logic, hard coded in the bootMonitor actor. See "Boot Storage Device" for more information.
The ChorusOS Board Support Package (BSP) hot swap feature allows you to remove and insert a board safely, without requiring you to shut the operating system down. BSP hot swap provides an infrastructure that facilitates the starting and stopping of the driver corresponding to a board that is inserted or removed. For more information on this feature, refer to "BSP Hot Swap" in the ChorusOS 5.0 Features, Architecture and Performance Overview.
The Device Driver Manager proxy is a logical component that acts as a proxy between the various drivers that must be managed (through DDI/DKI calls) and a client in supervisor mode. The client is typically the C_OS and relays commands to and from the Management framework.
The purpose of the Device Driver Manager proxy is to hide the use of the DDI/DKI specificities to the upper layers and to isolate implementation-specific aspects (such as the use of DKI-threads).
This proxy exports a Management API, so that a supervisor application can perform management operations without any knowledge in the DKI/DDIs.
The High Resolution Timer provides access to a fine-grained counter source for applications. This API is available in both a user and microkernel execution context on top of the ChorusOS operating system. See "Administration" in the ChorusOS 5.0 Features, Architecture and Performance Overview
A new architecture has been implemented to provide support for IDE disks and CompactFlash devices. The new architecture includes new Disk and ATA DDIs. For more information, see "IDE/ATA DDI".
The NVRAM device driver provides a basic interface that abstracts the access methods to the underlying NVRAM hardware. The driver implements routines allowing the device driver client to read from or write to the NVRAM space.
Support for the PowerPC 74x0 processor is new in version 5.0 of the ChorusOS operating system. The new board for this processor is mcpn765.
Allows you to manage the watchdog timer. See "Application Watchdog" for more information.
A brief description of the enhancements to the networking features follows:
Internet Protocol version 6 (IPv6) is the standard for next generation IP networks (particularly for 3G mobile networks).
IPv6 adds increased address space and improves Internet functionality using a simplified header format. It includes support for authentication and privacy, autoconfiguration of address assignments, and new quality-of-service capabilities. See "IPv6" for more information.
The messaging feature has been extended to include asynchronous communication in addition to the synchronous RPC model available in earlier versions of the ChorusOS operating system. The new messaging service also supports multithreading. See "RPC Extensions" for more information.
The Dynamic Host Configuration Protocol (DHCP) allows the ChorusOS system to obtain network information, such as a dynamically assigned IP address, or the IP addresses of the default router and name server, from a DHCP server at boot time.
The TFTP daemon allows you to boot a ChorusOS target from the network (using bootmonitor), with the DHCP and TFTP server running on a ChorusOS machine. The tftpd daemon is a standalone daemon. The tftp command is used to transfer files in the same way as ftp.
For more information on the implementation of these protocols, refer to "Network Administration Commands and Daemons" in the ChorusOS 5.0 System Administrator's Guide.
Allows you to manage precise time and network clock synchronization in a network environment. The inclusion of NTP in the ChorusOS operating system provides increased time precision. See "Network Time Protocol (NTP)" for more information.
A brief description of the enhancements to the tools follows:
The process dump feature dumps a core image of a process as an ELF format file. The core image can be taken dynamically, while the process is running, or when the process crashes. The core file generated can be used by a debugging tool to perform a post-mortem analysis of the process.
For more information, refer to the pdump(1M) man page.
Allows black box information to be recovered in the event of a system crash. The result of the black box is saved as an ASCII file on the host. See SYSTEM_DUMP(5FEA) for more information.
Version 5.0 of the ChorusOS operating system supports gcc version 2.97.
The GNU GDB debugging tool for ChorusOS systems replaces the XRAY debugging tool used in previous versions. See "GDB Debugging Tool" for more information.
Insight is a graphical user interface to GDB and gives you access to most of GDB's capabilities. See "Insight GUI for GDB" for more information.