Of course, neither of the two options, shielding or preemption,
removes the need for appropriate real-time programming
techniques that manage resources outside of CPU cycles.
Memory allocation, bus contention, I/O, and system calls all
still pose a threat to determinism. However, CPU shielding
greatly reduces the difficulty associated with these tasks.