Skip to Main Content
Most of today's commercial real-time operating systems (RTOSs) offer multiple scheduling policies which are applied on a per-process basis. The best illustrations of this are the Posix1003.1b compliant OSs that provide two real-time scheduling policies, namely sched-fifo and sched-rr, which under some limited hypotheses are respectively the equivalent of fixed priority pre-emptive (FPP) and round-robin (RR). In the field of processor scheduling, schedulability analysis has been studied extensively and the problem of assessing the schedulability of multi-policy systems has been addressed by Migge et al. When FPP and RR are used in conjunction, no optimal priority/policy assignment, such as Audsley's (2001) algorithm for FPP, is known, a fortiori when other criteria besides feasibility are considered. Because of the size of the solution space, an exhaustive search is not possible; an optimisation technique is required. A schedulability analysis provides valuable help for the application designer but it simply asserts whether a given configuration is feasible or not; in general it does not propose any feasible configurations (i) and, as stated by Gerber and Hong (1997) 'it can rarely help to tune the system (ii), which is the inevitable next step'. To address problems (i) and (ii), an approach is proposed using a genetic algorithm to best set task priorities and scheduling policies, according to a chosen criterion, on Posix1003.1b uniprocessor systems. Moreover, it is shown that the use of RR, in conjunction with FPP, may improve the schedulability as well as the satisfaction of additional application-dependent criteria.