Runtime Architecture

Supervisor
Log Control Daemon
Service Directory
Configuration Tree
Applications
What's Next?

Legato's runtime architecture manages each application in its own sandbox.

LayeredArchitecture.png

Applications communicate with each other using access-controlled message-passing services. The Supervisor automatically creates sandboxes.

Supervisor

The Supervisor is a privileged process running on the target device that:

  • creates and destroys sandboxes for applications
  • starts and stops applications
  • acts as an application watchdog
  • performs fault recovery actions when applications fail (such as restarting the app).

Log Control Daemon

The Log Control Daemon provides a user-friendly way to control log message filtering for running Legato application processes.

See Logging API

Service Directory

The Service Directory provides a secure way for client processes to find servers that offer the services they need. The Service Directory ensures that only authorized connections are established.

See Legato Services

Configuration Tree

The Configuration Tree provides persistent configuration data storage organized in a tree structure.

See Configuration and Configuration Tree API

Applications

An application is a collection of executable files, libraries, and/or other resource files (e.g., audio files, web pages) that can be deployed to a target device. Once installed on a device, an application can be started and stopped.

By default, each application runs in its own sandbox. When an application is constructed, all the files and IPC services it needs to access are declared (these should be examined and approved before installed on the target). At runtime, the Supervisor and the Service Directory enforce that only those approved files and IPC services are accessed by that application.

Applications are assembled from components.

What's Next?

Legato Components


Copyright (C) Sierra Wireless, Inc. 2014. All rights reserved. Use of this work is subject to license.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines