is however a non- realtime scheduler, with non-realtime guarantees being given to [login to view URL] a part of this second assignment you need to add a soft real-time requirement to a process – say something like each process, that requires soft real-time guarantees must receive atleast x units of time-slice. Every time the scheduler is called, you need to check if the real-time guarantees of process with soft- realtime requirements are being met o [login to view URL] would give higher priority toa processes soft-realtime requirement compared to the vruntime that is normally considered.
You would thus need to modify the scheduler in such a way that when everytime a process is selected through the RB-tree, you you need to compare toall other process with soft-realtimerequirementsandseewhichoneofthose require the CPU more urgently than the one selected through the regular RB- tree. The one that urgently requires CPU time need to be scheduled beforethe one selected throughCFS.
Youwouldadditionallyrequireasystemcalltomodifythetaskssoft-realtime requirements – say rtnice, which takes argument the PID and the realtime guarantees needed. rtnice can have a corresponding user program withthe samenamewhichshouldactuallydothesystemcallrtnicetoperformthesaid operation with the suppliedPID.
To test the correct functionality of the modified scheduler, you need to run tasks requiring realt ime guarantees. You would need to set the guarantees through the rt niceprogram. You would need to show execution time of the process with and without the softrealtime [login to view URL] should demonstrate to you if the modified scheduler is function ingornot.