3. Expressing Dependencies

Dependencies expressed via xml and boot script comments are enforced before a script executes. In addition, scripts can call the synchronisation primitives directly. This allows scripts to get work done before blocking, resulting in superior run-time performance. [1]

In choosing whether to express dependencies via xml and boot script comments or make direct calls to the synchronisation primitives, developers face a tradeoff: improved performance vs. increased maintenance costs. For resource-constrained platforms such as embedded systems, serel can be rebuilt so as to entirely exclude the use of xml or boot-script infrastructure, resulting in a daemon with a reduced memory footprint.

Dependencies expressed via xml and boot scripts are compiled into a database in order to optimise run-time queries. This database only gets rebuilt when something changes, which explains why second and subsequent boots can be faster than the first.



See also: simpleinit [go00].