Research on Subsystem Hybrid Scheduling and Priority Inversion Based uCOS-II
Xibo Wang, Tao Liu
Abstract
Xibo Wang, Tao Liu
Abstract
Uc/OS-II is an open-code real-time kernel based preemptive priority scheduling strategy. It assigns a unique priority for each task and does not support to schedule same priority tasks. In practical applications, assigning different priority for tasks which realizing the same function is not a very good logical design. Moreover it can only create a maximum of 64 tasks, which can not meet the needs of increasingly complex applications. Aiming at these problems, in the paper, the real time kernel uC/OS-II is modified. The new kernal creatively gives an approach of layered hybird scheduling for subsystem and jobs. The modified kernel divides a application system to some subsystems which is composed of several relevent jobs. There is a two layer hybird scheduling strategy which schedule subsystem based on priority and schedule jobs in the subsystem based on Hybrid scheduling method. Preemptive scheduling based on priority is adopted for jobs having different priority in the subsystem, while, round-robin scheduling is adopted for jobs having the same priority in the subsystem, which greatly augments application range of uC/OS-II. This paper also expounds the cause of priority inversion and the effect on system real-time performance, and two approaches named priority inheritance protocol and priority ceiling protocol are proposed to be used in uC/OS-II for restraining priority inversion phenomenon. Experiments testing show that the proposed subsystem hybrid scheduling algorithm and the method to realize restraining priority inversion protocols in uC/OS-II are feasible and effective.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Uc/OS-II is an open-code real-time kernel based preemptive priority scheduling strategy. It assigns a unique priority for each task and does not support to schedule same priority tasks. In practical applications, assigning different priority for tasks which realizing the same function is not a very good logical design. Moreover it can only create a maximum of 64 tasks, which can not meet the needs of increasingly complex applications. Aiming at these problems, in the paper, the real time kernel uC/OS-II is modified. The new kernal creatively gives an approach of layered hybird scheduling for subsystem and jobs. The modified kernel divides a application system to some subsystems which is composed of several relevent jobs. There is a two layer hybird scheduling strategy which schedule subsystem based on priority and schedule jobs in the subsystem based on Hybrid scheduling method. Preemptive scheduling based on priority is adopted for jobs having different priority in the subsystem, while, round-robin scheduling is adopted for jobs having the same priority in the subsystem, which greatly augments application range of uC/OS-II. This paper also expounds the cause of priority inversion and the effect on system real-time performance, and two approaches named priority inheritance protocol and priority ceiling protocol are proposed to be used in uC/OS-II for restraining priority inversion phenomenon. Experiments testing show that the proposed subsystem hybrid scheduling algorithm and the method to realize restraining priority inversion protocols in uC/OS-II are feasible and effective.
Key concepts: Priority ceiling protocol, Computer science, Priority inheritance, Priority inversion, Deadline-monotonic scheduling, Earliest deadline first scheduling, Distributed computing, Scheduling (production processes)