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...

Full description

Bibliographic Details
Main Author: Maysoon A. Mohammed
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