Performance Measurement of Processes and Threads Controlling, Tracking and Monitoring Based on Shared-Memory Parallel Processing Approach
Karzan Hussein Sharif, Subhi R. M. Zeebaree, Lailan M. Haji, Rizgar R. Zebari
Abstract
In this paper, a professional integrated operating system performance measurement system is proposed, designed, and implemented in order to monitor processes and threads. Because monitoring itself is not enough, so this system provides full control of the CPU forcing, Priority-changing, and pausing-resuming-killing of these processes/threads. During these complex operations, it provides the ability to measure/compute the details of Total-execution-time, CPU-time, User-time, Kernel-time, context switching, CPU -usage, and the priority of processes/threads. The proposed system can be used with any architecture of multicore processors. Despite that measuring all these parameters in one system is very difficult and complex especially the Kernel-time and Context-switching, but all of them have been applied and determined successfully. Adding to the above features that never been integrated (by any previous work) in one system, and in order to illustrate the real abilities of this system, a shared-memory parallel processing approach has been proposed and applied. The proposed system prepared to run all possible cases of processes and threads that construct under-tested-program which may be one of the: Single-Process-Single-Thread, Single-Process-Multi- Thread, Multi-Process-Single-Thread, Multi-Process-Multi- Thread, and Multi- Process-Single-Multi-Thread. The algorithms of this system are designed and implemented via C++ programming language(using C++ Standard Library Thread) which is the nearest programming to the OSs provides a more increasing processing speed.