Abstract:
The deadline monotonic (DM) priority assignment scheme and distributed priority ceiling resource access protocol (DPCP) work well with real-time CORBA. In practice, a potentially large number of global unique priorities must be mapped to the restricted number of local priorities provided by the operating systems. Most operating systems use first-in-first-out (FIFO) scheduling within the same priority. So, a high global priority task could be blocked by lower global priority tasks ahead of it in the local priority FIFO queue. This causes priority inversion and affects the schedulability of tasks with higher global priority. In addition, the optimal priority assignment requires a search of exponential complexity. This is the priority mapping problem. To solve it, necessary and sufficient conditions are presented for analyzing the schedulability of a task which global priority has been mapped to a local priority. The decreasing global priority mapping (DGPM) algorithm is also provided. It can schedule a task and global critical section (GCS) set that is schedulable under any other direct priority mapping algorithms. DGPM can overlap tasks (map two or more tasks to the same local priority) while not allowing the system to become non-schedulable, or prove that the system is no-schedulable after overlapping. The conditions and algorithm are used in the projects.