MPLAB® Harmony system services are responsible for managing shared resources so that other modules, such as drivers, middleware and applications, do not conflict on shared resources. For example, if the TCP/IP, USB and Graphics stacks attempted to concurrently use the Timer2 peripheral to perform some periodic task, they would very likely interfere with each other.
However, if instead they used a timer system service, it is the responsibility of the system service to keep the separate requests from interfering with each other. The timer service can be configured as desired for a specific system (for example, you may decide to use Timer3 instead of Timer2) isolating the necessary changes to the configuration of a single module and preventing potential conflicts.
The use of a system service is very similar the use of a device driver, except that a driver normally requires the caller to "open" it to create a unique client-to-driver association. A system service does not normally require the caller to open the service before using it because system services are frequently shared by many clients within the system.
Timer System Service Library
Learn more >