This chapter explains how to configure and tune a C5 operating system.
Section 2.1, “Configuration Options” explains which items can be configured and how they are defined.
Section 2.3, “Configuration Tool” explains how to configure your system.
The C5 operating system offers a high degree of flexibility, allowing you to tailor the system configuration to the requirements of your application. Depending on the system configuration, applications are offered a range of APIs and a range of development environment tools. Two configuration profiles are included in this C5 operating system delivery: a basic configuration profile and an extended configuration profile. You can use one of these configuration profiles as the starting point for configuring your C5 operating system. See Section 2.1.2, “Configuration Profiles”.
An additional chapter focusing on configuring your system image with complete file system support, is also provided. See Chapter 4, Configuring the System Image with File System Support.
![]() | Note |
|---|---|
The C5 operating system performance can be analyzed and optimized using its performance profiling system. This is described in “ Performance Profiling” in C5 2.1 Application Developer's Guide. | |
Configuring a C5 operating system means defining all the components, and their characteristics, that are assembled to form a system image. There are several types of configuration options:
Feature options: the C5 operating system features.
Static tunable parameters.
Dynamic tunable parameters (the environment).
System image components: system and application actors that are loaded at system boot time.
Configuration settings, including the configuration profile definitions are stored in the configuration directory, conf, in your system image build area. The configuration directory is read and updated by the command-line configuration tool: configurator
A C5 feature is a boolean variable, whose value determines whether or not a particular component is included in the system image. Setting a feature to true results in code being added to the microkernel, providing additional services such as file system handlers, or networking protocols.
Feature options within the C5 operating system are listed in “ C5 Operating System Features” in C5 2.1 Features and Architecture Overview.
The C5 operating system provides two pre-defined configuration profiles, the basic profile and the extended profile, to help you select an initial configuration for the operating system. These profiles include or remove certain features in the system.
The extended profile is the default profile, and does not need to be explicitly specified.
The basic configuration profilecorresponds to a realistic configuration, keeping the footprint small. With this configuration, applications are usually embedded in the system image and launched either at boot time or subsequently from the image file system or the boot file system. This configuration uses the flat memory model, to minimize the footprint.
In the basic profile, application actors are loaded at boot time as part of the system image. These actors are also known as boot actors.
When the system boots, actors included in the system image are loaded. For each actor, a thread is created and starts running at the actor's program entry point.
For instructions on building an application actor, embedding it in the system image and running it in the basic profile, consult the C5 2.1 Application Developer's Guide.
The extended configuration profile corresponds to a reference configuration for telecommunications systems. It includes support for networking using remote IPC over Ethernet and an NFS client. This uses the protected memory model.
Table 2.1, “Microkernel Feature settings in the extended and basic configuration profiles” shows the settings of all the features in the extended and basic configuration profiles.
Table 2.1. Microkernel Feature settings in the extended and basic configuration profiles
| Name | extended profile value | basic profile value | |
|---|---|---|---|
| Microkernel features | |||
| USER_MODE | true | true | |
| ROUND_ROBIN | true | false | |
| VIRTUAL_ADDRESS_SPACE | true | false | |
| ON_DEMAND_PAGING[a] | false | false | |
| MONITOR | false | false | |
| SEM | true | true | |
| EVENT | true | true | |
| RTMUTEX | false | false | |
| SOFTINTR | false | false | |
| TIMER | true | true | |
| VTIMER | false | false | |
| DATE | true | true | |
| RTC | true | true | |
| MKSTAT | false | false | |
| PERF | true | true | |
| MON | true | false | |
| IPC | true | true | |
| IPC_REMOTE | false | false | |
| MIPC | true | true | |
| LAPBIND | true | true | |
| LAPSAFE | true | true | |
| LOG | true | true | |
| SYSTEM_DUMP | false | false | |
| BLACKBOX | true | true | |
[a] The ON_DEMAND paging feature is platform-dependent. On platforms that do not support the virtual memory model, this can be hidden, using: configurator -list features. | |||
Table 2.2. C_INIT Feature Settings and Input Output Manager Feature settings in the extended and basic configuration profiles
| Name | extended profile value | basic profile value | |
|---|---|---|---|
| C_INIT features | |||
| RSH | true | false | |
| LOCAL_CONSOLE | false | true | |
| Input Output Manager features | |||
| IOM_IPC | false | false | |
| IOM_OSI | false | false | |
| DEV_MEM | true | false | |
| DEV_CDROM | true | true | |
| DEV_DISK | true | true | |
| DEV_NVRAM | true | true | |
| RAM_DISK | true | true | |
| SCSI_DISK | false | false | |
| RAWFLASH | true | true | |
| OS_GAUGES | false | false | |
| VTTY | false | false | |
| WDT | false | false | |
| FIFOFS | true | false | |
| FS_MAPPER | false | false | |
| MSDOSFS | true | true | |
| UFS | false | false | |
| ISOFS | true | true | |
| NFS_CLIENT | true | false | |
| NFS_SERVER | false | false | |
| ACTOR_SRCDBG | true | true | |
| GZ_FILE | true | false | |
| CORE_DUMP | false | false | |
| IOM_DEV_MNGT | true | true | |
| POSIX_MQ | false | false | |
| POSIX_SHM | true | false | |
| AF_LOCAL | true | true | |
| BPF | true | false | |
| POSIX_SOCKETS | true | true | |
| PPP | false | false | |
| SLIP | false | false | |
| IPv6 | false | false | |
| POSIX_REALTIME_SIGNALS | true | true | |
| SOLARIS_SYSEVENT | false | false | |
| HOT_RESTART | false | false | |
| DRV_MERGE | false | false | |
| DEBUG_SYSTEM | true | true | |
| EBD_MONITOR | false | false | |
Both configuration profiles include support for system debugging.
You can use one of these configuration profiles as the initial configuration for your system, and add or remove specific feature options using the configurator utility (see Section 2.3, “Configuration Tool”).
Tunable parameters are system parameters which affect system behavior and capabilities. They are used to configure the microkernel and the included features, to change their behavior, and adapt them to your needs. Typical examples of tunables are: maximum number of microkernel objects, scheduler type and attributes for threads, or system clock frequency. Each system component or feature adds a number of these tunable parameters.
Static parameters are tunable parameters whose values are set permanently within a system image. Changing these values requires rebuilding the system image.
The procedure for assigning new values to tunable parameters is detailed in Section 2.3.4, “Changing Tunable Parameter Values”.
For some tunable parameters, an additional flexibility is offered: the ability to assign values to these parameters at various stages of system production and execution. These types of parameters are called dynamic parameters. These dynamic parameters define the system environment. A basic set of services allows this environment to be constructed and consulted within a system image, at boot time and runtime.
Compared to static parameters, dynamic parameters require additional target data memory in order to store their names and values.
The procedure for modifying dynamic parameters is detailed in Section 2.3.5, “Modifying the System Environment”.
The system image contains a configured version of the C5 operating system, and possibly some user-defined applications (actors).
Depending on its configuration options, the C5 operating system is built from a microkernel and a collection of actors. These actors, which contribute to the implementation of some C5 operating system features and system image components are called C5 operating system actors.
Configuration options concerning the system image components or OS actors deal mainly with the inclusion of system and application actors within system images.