Hi,
#1:
The rate group driver has N output ports attached to ActiveRateGroups. These active rate groups drive their each child. How often these rate groups drive their children is based on the divisor. The first divisor divides the clock for the first active rate group, the second for the second, and so on. Typically the lower divisors are "first" as they run more quickly and are usually higher priority.
#2:
Time is stamped on telemetry items when the telemetry output port is called from the originating component. These components use the "getTime" port to acquire time from a time component and use that to stamp telemetry before it leaves the original component. For linux we have the LinuxTime component to supply time. For other systems, projects typically need to implement their own time to pull time data from hardware, or another clock source.
#3:
This kind of time partitioning is usually handled at the operating system layer and fprime doesn't have direct access to these features. We use the above rate groups to handle deadlines and detect slips such that timing can be adjusted by the system engineer if it isn't set up properly.
Hope these answers offer some guidance.
-Michael