Linux in recent years has provided the facility for real-time scheduling. Specifically, it provides two policies: SCHED_FIFO (first in first on) and SCHED_RR (round robin). Find out their details and briefly describe how they work and co-exist with each other as well as the non-real-time mechanisms. What are the pros and cons of these scheduling schemes relative to the rate-monotonic realtime scheduling?