491 | International Journal of Current Engineering and Technology, Vol.4, No.2 (April 2014) Research Article International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 - 5161 ©2014 INPRESSCO ® , All Rights Reserved Available at http://inpressco.com/category/ijcet CAPS: A Tool for Process Scheduling in Distributed Environment Hifzan Ahmad Ȧ* and Neelendra Badal Ȧ Ȧ Department of Computer Sci. & Engineering, K.N.I.T. SULTANPUR, U.P., INDIA Accepted 01 March 2014, Available online 01 April 2014, Vol.4, No.2 (April 2014) Abstract A multiprogramming operating system allows more than one process to be loaded into the main-memory at a time and allows the loaded process to share the CPU using time-multiplexing. CPU scheduling is the method of determining when processors should be assigned and to which processes. CPU scheduling in a distributed system can be defined as allocating processes to processors so that total execution time will be minimized, utilization of processors and load balancing will be maximized. This paper presents a simulating behavior of CPU scheduling in distributed environment using the design and developed Computing Analyzer and Process Simulator (CAPS) tool. Symmetric multiprocessor scheduling technique has been implemented in the presented CAPS tool where a common ready queue is shared among the processors. The selection of the processes from the ready queue is done through the FCFS scheduling policy. Finally, a comparative study of the CAPS tool with other existing tools on the basis of execution time required to perform simulation has been presented. The comparative analysis shows that the execution time of CAPS tool is less than that of other existing tools for process scheduling. Keywords: CPU Scheduling, Distributed System, Multiprocessor Scheduling, Multiprogramming, Simulator. 1. Introduction 1 A process is an instance of a computer program in execution. It contains the program code and its current activity (V. Singh et al, 2013). CPU scheduling deals with the problem of deciding which of the processes in the ready queue is to be allocated the CPU. It can also be defined as the method of determining when processors should be assigned and to which processes (Maria Abur et al, 2011). In a distributed system it can be defined as allocating processes to processors so that total execution time will be minimized, utilization of processors will be maximized and load balancing will be maximized (V. Harsora et al, 2011). CPU scheduling is the basis of multiprogrammed operating system (Silberschatz. A. et al, 2002). It plays an important role in distributed systems in which it enhances overall system performance metrics such as process completion time and processor utilization (Chaptin et al, 2003). It will increase speed of the execution of the workload and executed more quickly with having the scheduling algorithm (Chow et al, 1997). The basic idea behind distributed process scheduling is to enhance overall system performance metrics (Stallings et al, 1998). In a multiprogramming operating system many processes are loaded into the main-memory at a time where they reside in a ready queue. A multiprogramming system also allows the loaded process to share the CPU using time-multiplexing (Maria Abur et al, 2011). Therefore, a tool is required which allow the users to *Corresponding author: Hifzan Ahmad simulate the behavior of CPU scheduling in distributed environment. The design and developed CAPS tool allows the user to make a distributed environment by adding multiple resources and then perform simulation in this environment. The implementation of CAPS tool is done through Microsoft Visual Studio 9.0. There are two mechanisms to perform CPU scheduling in multiprocessor system. In asymmetric multiprocessing, all scheduling decisions, I/O processing, and other system activities handled by a single processor called the master processor. The other processors are involved in the execution of user codes only. In symmetric multiprocessing, all processes are in a common ready queue, or each processor may have its own private queue of ready processes. An attempt to keep processes running on the same processor instead migration of processes form one processor to another is called processor affinity. When it is possible for a process to migrate between processors, it is called soft affinity and when it is not possible for a process to migrate between processors, it is called hard affinity (Silberschatz. A. et al, 2002). Symmetric multiprocessing mechanism and hard affinity mechanism has been implemented in the presented CAPS tool. 2. Objectives of Process Scheduling The main objective of CPU scheduling algorithms is to utilize the resources effectively and efficiently. It can be achieved by making CPU busy as much as possible. The criteria for CPU scheduling are as follows: