Preview

Известия Юго-Западного государственного университета. Серия: Управление, вычислительная техника, информатика. Медицинское приборостроение

Расширенный поиск

Программная система виртуальной машины с поддержкой передачи сообщений между потоками

https://doi.org/10.21869/2223-1536-2022-12-1-160-171

Аннотация

Цель исследования заключается в анализе и моделировании программной системы в виде виртуальной машины с поддержкой многопоточности. Приводятся современные представления о потоках и многопоточности, рассматриваются виды многопоточности, варианты взаимодействия между потоками. Предложена концептуальная модель программной системы в виде виртуальной машины с поддержкой передачи сообщений между потоками.

Методы. Потоки представляют собой модели вычислительных процессов с общей и раздельной памятью. Существуют два способа передачи управления потокам - кооперативный и с вытеснением. В случае кооперативной многопоточности планирование передачи управления возлагается на программиста.

Результаты. В результате компьютерного моделирования была разработана программная система, реализующая виртуальную машину. Общий вычислительный процесс разбивается на необходимое число потоков. Главный поток может создавать дочерние потоки и завершать их при необходимости. Виртуальная машина позволяет потоками обмениваться сообщениями.

Заключение. Полученная программная система может быть использована для решения различных задач, требующих разделения вычислительного процесса на подзадачи. Виртуальная машина обеспечивает переносимость и кросс-платформенность системы. Обмен сообщений между потоками позволяет решить проблемы состояний гонок, тупиковых ситуаций и синхронизации.

Об авторе

А. А. Чаплыгин
Юго-Западный государственный университет
Россия

Чаплыгин Александр Александрович,
канд. технических наук, доцент каф. программной инженерии

ул. 50 лет Октября 94, г. Курск 305040



Список литературы

1. Таненбаум Э., Бос Х. Современные операционные системы. 4-е изд. СПб.: Питер, 2015. 1120 с.

2. Andrews G. R., Schneider F. B. Concepts and Notations for Concurrent Programming // ACM Computing Surveys. 1983. Vol. 15, N. 1.

3. Ben-Ari M. Principles of Concurrent Programming. Addison-Wesley, 2006.

4. Synchronization, Coherence, and Event Ordering in Multiprocessors / M. Dubois [et al.]. URL: http://www.semanticscholar.org>...coherence...event...in-Dibois... (дата обращения: 11.12.2021).

5. Dubois M., Scheurich C., Briggs F. A. Memory Access Buffering in Multiprocessors, Proc. 13th Ann. Int’l. Symp. on Computer Arch., ACM, 1986. P. 434-442.

6. Bal H. E., Tanenbaum A. S. Distributed Programming with Shared Data // Proc. 1988 Int’l. Conf. on Computer Languages, IEEE, 1988. P. 82-91.

7. Легков К. Е., Буренин А. Н. Проблемы математического описания потоков управляющей информации в процессе управления современной инфокоммуникационной сетью специального назначения // T-COMM: Телекоммуникации и транспорт. 2014. № 10. С. 43-46.

8. Буренин А. Н., Легков К. Е. К вопросу математического описания потоков управляющей информации в процессе управления современной инфокоммуникационной сетью специального назначения // Наукоемкие технологии в космических исследованиях земли. 2013. № 5. С. 8-12.

9. Coffman E. System Deadlocks // ACM Computing Surveys. 1971. Vol. 3, N 2.

10. Сироткина Е. И. Применение механизмов синхронизации потоков ОС Windows в процессе создания больших систем массового обслуживания // Сборник научных трудов по материалам Международной научно-практической конференции. М.: Научный мир, 2010. Т. 2, № 1. С. 91-94.

11. Zhuravlev S. Survey of Scheduling Techniques for Addressing Shared Resources in Multicore Processors // ACM Computing Surveys. 2012. Vol. 45, N. 1.

12. Hoare C. A. R. Monitors, An Operating System Structuring Concept // Commun. of the ACM. 1974. Vol. 17. P. 549-557.

13. A Hardware Scheduler for Real Time Multiprocessor System on Chip / N. Gupta, S. Mandal, J. Malave, A. Mandal, R. N. Mahapatra // Proc. 23rd Int’l Conf. on VLSI Design, IEEE, 2010.

14. Dijkstra E. W. Co-operating Sequential Processes // Programming Languages / ed. by F. Genuys. New York: Academic Press, 1968b.

15. Energy-Efficient Mechanisms For Managing Thread Context In Throughput Processors / M. Gebhart, D. R. Johnson, D. Tarjan, S. W. Keckler, W. I. Dally, E. Lindholm, K. Skadron // Proc. 38th Int’l Symp. On Computer Arch. ACM, 2011.

16. Gerber R., Binstock A. Programming with Hyper-Threading Technology. Santa Clara, CA: Intel Press, 2004.

17. PVM: Parallel Virtual Machine - A User’s Guide and Tutorial for Networked Parallel Computing / A Geist., A. Beguelin, J. Dongarra, W. Jiang, R. Mancheck, V. Sunderram. Cambridge, MA: M. I. T. Press, 1994.

18. Чаплыгин А. А., Малышев А. В. Операционная система с ядром на основе виртуальной машины с уменьшенным набором команд // Известия Юго-Западного государственного университета. Серия: Управление, вычислительная техника, информатика. Медицинское приборостроение. 2020. № 1. С. 8-20.

19. Gropp W., Lusk E., Skjellum A. Using MPI: Portable Parallel Programming with the Message Passing Interface. Cambridge, MA: M. I. T. Press, 1994.


Рецензия

Для цитирования:


Чаплыгин А.А. Программная система виртуальной машины с поддержкой передачи сообщений между потоками. Известия Юго-Западного государственного университета. Серия: Управление, вычислительная техника, информатика. Медицинское приборостроение. 2022;12(1):160-171. https://doi.org/10.21869/2223-1536-2022-12-1-160-171

For citation:


Chaplygin A.А. Virtual Machine Software System with Support for Message Transfer Between Threads. Proceedings of the Southwest State University. Series: IT Management, Computer Science, Computer Engineering. Medical Equipment Engineering. 2022;12(1):160-171. (In Russ.) https://doi.org/10.21869/2223-1536-2022-12-1-160-171

Просмотров: 132


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 2223-1536 (Print)