An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System


  • Maysoon A. Mohammed Department of Mechanical Engineering, University of Technology – Iraq



Multithreading, Prioritization, Dynamic Slicing Algorithm


One of the issues with multi-threading in operating systems is the concurrency of operations or threads. In a multithreaded process on a single processor, the processor can switch execution resources between threads, enabling concurrent execution. Concurrency indicates that more than one thread is making progress, but the threads are not actually running simultaneously. The switching between threads occurs rapidly enough that the threads might appear to run simultaneously. In this paper, three related strategies for prioritizing multi-threading are presented: ACE-thread, Semaphore coprocessor, and the Concurrent Priority Threads Algorithm. The aim of this work is to enhance an existing prioritization algorithm, specifically the Concurrent Priority Threads Algorithm, by extending a dynamic slicing algorithm to prioritize multi-threading concurrently. The algorithm is designed to compute correct slices in multi-threading prioritization scenarios. Threads with the same highest priority can perform in a synchronized manner without encountering deadlocks. The C++ programming language is used to implement the extended algorithms. The improved algorithm achieved results that were 3% more accurate than the existing one. The outcomes of this work would facilitate the simultaneous execution of threads with the same priority, ultimately reducing waiting and processing times.




How to Cite

Mohammed, M. A. (2023). An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System. Iraqi Journal of Industrial Research, 10(3), 11–21.



Engineering Section