Here are the steps to solve this scheduling problem:
1. Static Priority:
A: 120 (default)
B: 105 (nice value -15)
C: 95 (real-time priority -5)
D: 100 (real-time priority 0)
2. Quantum Time:
A: 100 ms
B: 80 ms
C: 200 ms (real-time)
D: no quantum (SCHED_FIFO)
3. Dynamic Priority:
A: 120
B: 105
4. Schedule (Gantt Chart):
0-100ms: A runs
100-180ms: B runs
180-380ms: C runs
380-480