An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System
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 m...
Main Author: | |
---|---|
Format: | Article |
Language: | English |
Published: |
Corporation of Research and Industrial Development
2023-12-01
|
Series: | Iraqi Journal of Industrial Research |
Subjects: | |
Online Access: | https://ijoir.gov.iq/ijoir/index.php/jou/article/view/331 |
_version_ | 1797392218329186304 |
---|---|
author | Maysoon A. Mohammed |
author_facet | Maysoon A. Mohammed |
author_sort | Maysoon A. Mohammed |
collection | DOAJ |
description | 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. |
first_indexed | 2024-03-08T23:44:02Z |
format | Article |
id | doaj.art-bcc54559b74a4eeca0138992e0471e83 |
institution | Directory Open Access Journal |
issn | 2788-712X |
language | English |
last_indexed | 2024-03-08T23:44:02Z |
publishDate | 2023-12-01 |
publisher | Corporation of Research and Industrial Development |
record_format | Article |
series | Iraqi Journal of Industrial Research |
spelling | doaj.art-bcc54559b74a4eeca0138992e0471e832023-12-14T02:04:36ZengCorporation of Research and Industrial DevelopmentIraqi Journal of Industrial Research2788-712X2023-12-01103112110.53523/ijoirVol10I3ID331331An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating SystemMaysoon A. Mohammed0Department of Mechanical Engineering, University of Technology – IraqOne 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.https://ijoir.gov.iq/ijoir/index.php/jou/article/view/331multithreadingprioritizationdynamic slicing algorithm |
spellingShingle | Maysoon A. Mohammed An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System Iraqi Journal of Industrial Research multithreading prioritization dynamic slicing algorithm |
title | An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System |
title_full | An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System |
title_fullStr | An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System |
title_full_unstemmed | An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System |
title_short | An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System |
title_sort | improved dynamic slicing algorithm to prioritize a concurrent multi threading in operating system |
topic | multithreading prioritization dynamic slicing algorithm |
url | https://ijoir.gov.iq/ijoir/index.php/jou/article/view/331 |
work_keys_str_mv | AT maysoonamohammed animproveddynamicslicingalgorithmtoprioritizeaconcurrentmultithreadinginoperatingsystem AT maysoonamohammed improveddynamicslicingalgorithmtoprioritizeaconcurrentmultithreadinginoperatingsystem |