Soft real-time scheduling in a general purpose operating system: scheduling daemon approach
It has been known that a general purpose operating system (GPOS) is not suitable for developing real-time systems since its time sharing-based scheduling strategy does not consider the deadline of tasks. If the GPOS can support real-time scheduling, the real-time systems developed in the GPOS enjoy its inherent advantages: high portability, large suite of development tools, and low system cost. in this paper, we propose a new method implementing real-time scheduling in the Unix, a GPOS, by considering the deadline of real-time tasks. Our approach employs a special task called the scheduling daemon, which deals with all the real-time tasks in a system and makes just one task become a ready-to-run state and others sleep state. This causes the Unix scheduler to deal with only one real-time task as a rule, and thus bypasses time sharing-based scheduling strategy of the Unix. Therefore, all the real-time tasks are scheduled by the strategy of the scheduling daemon. We implement the scheduling daemon on the Unix, and build a real-time platform providing C library-styled Application Programming Interfaces (APIs) in order that application programmers develop real-time systems more effectively. Moreover, we show the superiority of our approach compared with the previous ones by performance analysis using extensive experiments.
real-time scheduling scheduling daemon gpos deadline unix