Intuitionistic Fuzzy Set Theory with Fair Share CPU Scheduler: A Dynamic Approach

Intuitionistic Fuzzy Set Theory with Fair Share CPU Scheduler: A Dynamic Approach

Supriya Raheja (NorthCap University, India)
Copyright: © 2017 |Pages: 26
DOI: 10.4018/978-1-5225-1908-9.ch015
OnDemand PDF Download:
No Current Special Offers


CPU Scheduler is one of the crucial modules of any operating system. Operating system uses CPU schedulers based on the requirements. Fair Share CPU scheduler is preferable scheduler by many operating systems. It distributes fixed processor time amongst different parts of a system like groups, users etc. Fixed distribution of processor time can distress the performance of system. Moreover, traditional CPU schedulers ignore the impreciseness and uncertainty of the tasks. This work presents the Intuitionistic Fuzzy based Fair Share scheduler (IFFS). IFFS scheduler has extended the research in the field of the impreciseness of tasks. Intuitionistic Fuzzy Inference Systems, IFIS-DP and IFIS-DCS have been designed to share the CPU time dynamically and for assigning dynamic priority to each task. Experimental results prove the better performance of IFFS scheduler over FS scheduler.
Chapter Preview

Cpu Scheduler: Main Module Of An Operating System

Operating System is a significant software component of any computer system. These software components are mainly divided into two categories,

  • System software and

  • Application software.

Operating system belongs to the system software category. The main task of system software is to run the application software. System software supports the running of programs which uses computer system to run. In modern era, computer system contains a number of different hardware components like:

  • Processor (CPU),

  • Hard disk drives,

  • Monitors,

  • Different memory,

  • Keyboards and

  • Other input and output devices.

The other main task of operating system is to manage these resources. The operating system has various modules that works together to carry out the resource management functions and there in between interactions. For example Task Manger, this creates and destroys the tasks, Memory Manager, which manages the usage of main memory (allocation and release of memory blocks), Device Drivers, which deals with hardware devices, File Manager that manages the file system etc (Galvin & Gagne, 2009). Another main module of an operating system is the CPU Scheduler which handles the scheduling of tasks.

In a multitasking environment, multiple tasks are simultaneously stored in main memory. Operating system requires CPU schedulers to provide the concurrent execution of tasks. When multiple tasks are stored in main memory, the CPU schedulers makes an illusion that each task has its own CPU. It is also known as Short Term scheduler. However, the CPU will be executing only one task at a time, but it switch from one task to another task to support concurrent execution (Dhamdhere, 2006; Stallings, 2014). The CPU scheduler at particular time selects one ready task from the main memory (Ready Queue) and allocates CPU to that task. The CPU scheduler decides whom to execute next and for how long. The performance of the system varies in accordance to the chosen criteria i.e. on scheduling technique since it changes the ready state of task to running state. When the task is in ready queue then it is in ready state and when CPU is assigned to it, it is in running or active state. An effective scheduling can enhance the performance; on the other hand an ineffective scheduling can lead to reduce the performance of the entire system. Like, with non-preemptive scheduling algorithm, a system can suffer with the convoy effect. When many tasks are in waiting state while one big task is executing it is called convoy effect. It degrades the performance as the one big task halts the execution of all other small tasks.

Different operating systems use different schedulers based on their requirements like the operating systems which handle the tasks based on their criticality prefer to use priority based schedulers. The CPU scheduler usually executes the highest-priority tasks first. For example, whenever a currently running task is interrupted by an event then the CPU scheduler must make some optimal adjustments and schedule the next highest-priority task to processor. Windows & Solaris based operating systems prefer to uses multilevel feedback queue scheduler whereas UNIX based operating systems usually use fair share scheduler. This chapter discusses Fair Share (FS) CPU scheduler.

Complete Chapter List

Search this Book: