A CPU rapidly switches between processes, giving each a small "time slice" to execute. The brief pauses between slices are "context switches," where the CPU saves one process's state and loads another's. Time slices vary and are determined by the OS scheduler.
Each process accumulates "CPU time". This, relative to the total time, determines its CPU utilization.
EMT attributes energy consumption by normalizing the CPU utilization of active processes and then proportionally distributing the total measured energy (e.g., 500 Joules).
CPU time of active processes (A, B, C) is normalized relative to their combined total. This excludes Idle time and System Overhead for this specific energy attribution step.
$$ \text{Norm. Util. (P)} = \left(\frac{\text{P's CPU Time}}{\sum \text{CPU Time of Active Ps}}\right) \times 100\% $$
Using normalized utilization, total energy (e.g., 500 Joules) is attributed to active processes A, B, and C.
$$ \text{Energy}^\text{P} =\text{Norm. Util. (P)} \times \text{Total Energy} $$