Intelligent OS Process Scheduling Using Fuzzy Inference with User Models

The process scheduling aims to arrange CPU time to multiple processes for providing users with more efficient throughput. Except the class of process set by user, conventional operating systems have applied the equivalent scheduling policy to every process. Moreover, if the scheduling policy is once determined, it is unable to change without resetting the operating system which takes much time. In this paper, we propose an intelligent CPU process scheduling algorithm using fuzzy inference with user models. It classifies processes into three classes, batch, interactive and real-time processes, and models user's preferences to each process class. Finally, it assigns the priority of each process according to the class of the process and user's preference through the fuzzy inference. The experimental result shows the proposed method can adapt to user and allow different scheduling policies to multiple users.

[1]  János Abonyi,et al.  Learning Fuzzy Classification Rules from Data , 2001 .

[2]  David R. Cheriton,et al.  Borrowed-virtual-time (BVT) scheduling: supporting latency-sensitive threads in a general-purpose scheduler , 1999, OPSR.

[3]  Jason Nieh,et al.  Virtual-Time Round-Robin: An O(1) Proportional Share Scheduler , 2001, USENIX Annual Technical Conference, General Track.

[4]  Jason Nieh,et al.  The design, implementation and evaluation of SMART: a scheduler for multimedia applications , 1997, SOSP.

[5]  Michael B. Jones,et al.  CPU reservations and time constraints: efficient, predictable scheduling of independent activities , 1997, SOSP.

[6]  Gordon S. Blair,et al.  On the performance of reflective systems software , 2004, IEEE International Conference on Performance, Computing, and Communications, 2004.

[7]  Rajendra Yavatkar,et al.  A CPU Scheduling Algorithm for Continuous Media Applications , 1995, NOSSDAV.

[8]  William Stallings,et al.  Operating Systems: Internals and Design Principles , 1991 .

[9]  Magne Setnes,et al.  GA-fuzzy modeling and classification: complexity and performance , 2000, IEEE Trans. Fuzzy Syst..

[10]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[11]  Kevin Jeffay,et al.  Support for real-time computing within general purpose operating systems-supporting co-resident operating systems , 1995, Proceedings Real-Time Technology and Applications Symposium.

[12]  Steve Evans,et al.  Optimizing UNIX Resource Scheduling for User Interaction , 1993, USENIX Summer.

[13]  Jerry M. Mendel,et al.  Classification of ground vehicles from acoustic data using fuzzy logic rule-based classifiers: early results , 2002, SPIE Defense + Commercial Sensing.

[14]  William Stalling Operating systems : internals and design principles / William Stallings , 2001 .

[15]  Thomas D. C. Little,et al.  Network and Operating Systems Support for Digital Audio and Video , 1995, Lecture Notes in Computer Science.

[16]  Julia L. Lawall,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Think: a Software Framework for Component-based Operating System Kernels , 2022 .