Summary: | 碩士 === 華梵大學 === 機電工程研究所 === 89 === In this paper, we propose a task scheduling method called multiple shared queue (MSQ) on task scheduling in the field of time-sharing operating systems. The method is designed to overcome CPU utilization downgrades which occur as overloaded tasks race for limited shared resources, such as I/O, files, etc.
A shared queue is a dynamic buffer in which tasks not winning the race for a particular shared resource are stored. The queue implements the simplest task scheduling, First-Come-First-Served (FCFS), and incurs the least CPU load. Queues are independent to each other. Creation, management, and destruction associated with a queue are dynamical and rely on the information that tasks carry. For each shared resource, the method allows a queue to be created upon detecting the first confliction among tasks and to be destroyed upon detecting no task in the queue. Being aware a shared resource is released by a task, via the queue information carried by the task, the dispatcher can easily tell that the header task in the bounded queue is the optimal one to be ready for the resource. Clearly, the implementation of several separate queues ends up with two advantages: lowering down the interference among tasks and reducing difficulty in scheduling the next task which would takes over the power of CPU later.
The proposed method requiring a minimal load is simple enough when it is compared to the core of an operating system. Computer simulations had proven that the method is very helpful to computing systems that pursuit high-speed performance.
|