Each
system has its own set of boot time requirements to meet. Depending on your goals, there
are a number of ways you can optimize the startup of the system. By implementing some
simple techniques at various points in the boot sequence you can make the OS
and applications load, initialize, and launch more quickly. For the QNX CAR
platform, you can optimize startup times in three distinct areas:
To optimize: |
See these sections in this guide for details: |
The loading and launching of OS itself |
|
The platform application stack |
|
The HMI |
|
In the QNX CAR platform, boot time optimization has been done using many of the
techniques discussed in this chapter. These optimizations were focused on the following
goals:
- Early splash screen and camera—meeting this goal required loading the
IFS and getting to the build script as soon as possible, and then running the Screen
Graphics Subsystem and the graphical app as early as possible (see Optimize the bootloader, Reduce the size of the IFS, and Reorder the startup program).
- Early audio—used the same techniques as early splash screen and camera, but
starting audio as early as possible.
- Early HMI display (within 10 seconds)—used and benefited from the same
techniques as above, but required additional work to reduce the HMI's dependencies
down to what was strictly necessary. This led to the development of Boot Manager, which
allows the HMI to come up before all the apps are instantiated.
- Last audio playing within 10 seconds—required the invention of a new
multimedia service that saves its state at shutdown and restores it at power-up. This also
required careful management of this service's dependencies and placement in the SLM configuration.