{"title":"An Improved Dynamic Slicing Algorithm to Prioritize a Concurrent Multi-threading in Operating System","authors":"Maysoon A. Mohammed","doi":"10.53523/ijoirvol10i3id331","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":14665,"journal":{"name":"Iraqi Journal of Industrial Research","volume":"19 S1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-12-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Iraqi Journal of Industrial Research","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.53523/ijoirvol10i3id331","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
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.
操作系统中的多线程问题之一是操作或线程的并发性。在单个处理器上的多线程进程中,处理器可以在线程之间切换执行资源,从而实现并发执行。并发表示不止一个线程正在取得进展,但这些线程实际上并没有同时运行。线程之间的切换速度非常快,以至于线程看似同时运行。本文介绍了三种相关的多线程优先策略:ACE-线程、Semaphore 协处理器和并发优先线程算法。这项工作的目的是通过扩展动态切片算法来增强现有的优先级算法,特别是并发优先线程算法,以同时确定多线程的优先级。该算法旨在计算多线程优先级情况下的正确切片。具有相同最高优先级的线程可以同步执行,而不会遇到死锁。扩展算法使用 C++ 编程语言实现。改进后的算法比现有算法的精确度高出 3%。这项工作的成果将促进具有相同优先级的线程同步执行,最终减少等待和处理时间。