Abstract
Task scheduling is crucial for offering the users of an operating system the impression that the system’s response is direct and in real time. However, it is a complicated process that is characterized by vagueness and uncertainty. A solution to this problem is the usage of fuzzy logic. Therefore, in this paper a rule-based fuzzy scheduling method, which considers both the execution time and the waiting time for each task, is presented. Fuzzy sets are used to describe both criteria. The operation of the presented scheduling method is based on a rule-based reasoner that decides dynamically about the priority of the tasks that wait to be executed. This reasoner is triggered each time a change occurs (i.e. the execution of a task ends, a new task arrives etc.). It has been compared with Short Job First (SJF) and First Come First Served (FCFS) scheduling algorithms for a large number of different sets of tasks. The results showed that the presented fuzzy scheduling algorithm in all the cases has the same or almost the same average waiting time with SJF, which is considered as the scheduling algorithm with the best (minimum) average waiting time. However, the presented fuzzy scheduling algorithm ensures that priority is given not only to tasks with short execution time, but also to tasks that remain into the queue waiting to be executed for a long time. In this way, the starvation, which may be caused by SJF algorithm, is eliminated.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.