Показати скорочену інформацію

dc.contributor.authorБруско, А. В.uk
dc.contributor.authorМирончук, О. Ю.uk
dc.contributor.authorBrusko, A. V.en
dc.contributor.authorMyronchuk, O. Yu.en
dc.date.accessioned2023-05-30T07:17:08Z
dc.date.available2023-05-30T07:17:08Z
dc.date.issued2022
dc.identifier.citationБруско А. В. Особливості реалізації багатозадачності на платформах Raspberry Pi та Arduino [Текст] / А. В. Бруско, О. Ю. Мирончук // Вісник Вінницького політехнічного інституту. – 2022. – № 5. – С. 80–85.uk
dc.identifier.issn1997-9266
dc.identifier.urihttp://ir.lib.vntu.edu.ua//handle/123456789/37219
dc.description.abstractНайпопулярнішими платформами для розробників вбудованих систем серед початківців є Arduino та Raspberry Pi. Ці платформи різні та мають різне призначення, проте на обох може виникнути потреба виконувати кілька операцій паралельно. В роботі розглянуто способи реалізації багатозадачності на вищезазначених платформах. Оскільки Arduino базуються здебільшого на одноядерних AVR мікроконтролерах, з досить низькою частотою тактування, то багатозадачність у цієї платформи лише умовна. Тривалі в часі операції будуть займати єдине ядро та єдиний потік мікроконтроллера, що не дозволить виконувати щось інше. Це не стосується апаратних блоків мікроконтроллера, таких як таймери, що працюють незалежно від програмної частини і дозволяють реалізувати виконання коротких завдань з фіксованим періодом. Для простого написання програми, що використовує такі можливості контролера, існують бібліотеки. Найвідомішою з них є TimedAction, що може бути знайдена на офіційному сайті Arduino. Також у більшості мікроконтролерів є апаратний вхід, за допомогою якого можна створювати переривання. Під час переривання також можна виконувати операції, після завершення яких буде відновлена робота головного циклу програми. На Raspberry Pi, як і на подібних мікрокомп’ютерах під керуванням операційної системи Linux, повноцінно можна розглянути потоки та процеси. Процес є екземпляром програми та створюється операційною системою. Окремі процеси не мають спільного об’єму пам’яті. Паралельні процеси використовуються, коли потрібно прискорити складні обчислення. Потоки є підзадачами, яких може бути декілька усередині процесу. Між кількома потоками є спільний об’єм пам’яті, що дозволяє зручно обмінюватись даними. Паралельні потоки використовують, коли потрібно виконувати тривалі операції вводу/виводу. У мові Python, що широко використовується у вбудованих системах, для реалізації багатопоточності використовують бібліотеку Threading. Особливістю багатозадачності у Python є Global Interpreter Lock. Цей механізм гарантує, що в один момент часу буде виконуватись код лише одного процесу програми. У цієї особливості Python є прихильники та противники, як відповідно переваги та недоліки.uk
dc.description.abstractThe most popular platforms for developers of embedded systems among beginners are Arduino and Raspberry Pi. These platforms are different and have different purposes, but both may need to perform multiple operations in parallel. The article shows ways to implement multitasking on the above-mentioned platforms. Since Arduinos are mostly based on single-core AVR microcontrollers, with a rather low clock frequency, the multitasking of this platform is only conditional. Time-consuming operations will occupy the only core and the only thread of the microcontroller, which will not allow doing anything else. This does not apply to the hardware components of the microcontroller, such as timers, which work inde-pendently from the software part and allow the implementation of short tasks with a fixed period. There are libraries for simply writing a program that uses such controller capabilities. The most famous of them is TimedAction, which can be found on the official Arduino website. Also, most microcontrollers have a hardware input that can be used to generate soft-ware interrupts. During the interruption, operations can also be performed, after the completion of which the work of the main loop of the program will be resumed. On the Raspberry Pi, as on similar microcomputers running the Linux OS, you can fully consider threads and processes. A process is an instance of a program and is created by the operating system. Individual processes do not share a common memory. Parallel processes are used when complex calculations need to be accelerated. Threads are subtasks, which can be several within a process. There is a common amount of memory between several threads, which allows convenient data exchange. Parallel threads are used when you need to perform long I/O operations. In the Python language, which is widely used in embedded systems, the Threading library is used to implement multithreading. A feature of multitasking in Python is the Global Interpreter Lock. This mechanism ensures that the code of only one application process will be executed at a time. This feature of Python has supporters and detractors, as well as advantages and disadvantages.en
dc.language.isouk_UAuk_UA
dc.publisherВНТУuk
dc.relation.ispartofВісник Вінницького політехнічного інституту. № 5 : 80–85.uk
dc.relation.urihttps://visnyk.vntu.edu.ua/index.php/visnyk/article/view/2809
dc.subjectembeddeden
dc.subjectArduinoen
dc.subjectRaspberry Pien
dc.subjectPythonen
dc.subjectмікроконтролерuk
dc.subjectмікрокомп’ютерuk
dc.subjectвбудовані системиuk
dc.subjectбагатозадачністьuk
dc.subjectпроцесuk
dc.subjectпотікuk
dc.subjectmicrocontrolleren
dc.subjectmicrocomputeren
dc.subjectembedded systemsen
dc.subjectmultitaskingen
dc.subjectprocessen
dc.subjectthreaden
dc.titleОсобливості реалізації багатозадачності на платформах Raspberry Pi та Arduinouk
dc.title.alternativeFeatures of the Implementation of Multitasking on the Raspberry Pi and Arduino Platformsen
dc.typeArticle
dc.identifier.udc621.396.6
dc.relation.referencesJ. Marot, and S. Bourennane, “Raspberry Pi for image processing education,” 2017 25th European Signal Processing Conference (EUSIPCO), 2017, pp. 2364-2366, https://doi.org/10.23919/EUSIPCO.2017.8081633 .en
dc.relation.referencesV. Bharadwaja, R. Ananmy, S. Nikhil, K. V. Vineetha, J. Shah, and D. G. Kurup, “Implementation of Artificial Neural Network on Raspberry Pi for Signal Processing Applications,” in 2018 International Conference on Advances in Computing, Communications and Informatics (ICACCI), 2018, pp. 1488-1491, https://doi.org/10.1109/ICACCI.2018.8554887 .en
dc.relation.referencesA. P. Jadhav, and V. B. Malode, “Raspberry PI Based OFFLINE MEDIA SERVER,” 2019 3rd International Conference on Computing Methodologies and Communication (ICCMC), 2019, pp. 531-533, https://doi.org/10.1109/ICCMC.2019.8819718 .en
dc.relation.referencesD. Eridani, and E. D. Widianto, “Performance of Sensors Monitoring System using Raspberry Pi through MQTT Proto-col,” in 2018 International Seminar on Research of Information Technology and Intelligent Systems (ISRITI), 2018, pp. 587-590, https://doi.org/10.1109/ISRITI.2018.8864473 .en
dc.relation.referencesА. В. Бруско, «Інтерактивний логотип,» в матер. ІV Всеукраїнської науково-технічної конференції студентів та аспірантів «Радіоелектроніка у ХХІ столітті», 25-26 травня 2021 р., Київ, Україна, КПІ ім. Ігоря Сікорського, РТФ. Київ : КПІ ім. Ігоря Сікорського, 2021, с. 19-20.uk
dc.relation.referencesС. Б. Могильний, Мікрокомп’ютер Raspberry Pi —інструмент дослідника. Київ, Україна: Талком, 2014. 340 с.uk
dc.relation.referencesО. Ю. Мирончук, О. О. Шпилька, Д. Д. Струков, А. А. Петровський, і А. О. Герасименко, «Застосування нейрон-ної мережі для оцінювання частотної характеристики багатопроменевого каналу в системах зв’язку з технологією OFDM,» Вісник Вінницького політехнічного інституту, № 4, с. 99-104, Серп. 2021.uk
dc.relation.referencesXinmin Tian, Yen-Kuang Chen, M. Girkar, S. Ge, R. Lienhart, and S. Shah, “Exploring the use of Hyper-Threading tech-nology for multimedia applications with Intel/spl reg/ OpenMP compiler,” Proceedings International Parallel and Distributed Processing Symposium, 2003, pp. 8. https://doi.org/ 10.1109/IPDPS.2003.1213118 .en
dc.relation.referencesH.-W. Huang, The Atmel AVR Microcontroller: MEGA and XMEGA in Assembly and C. Cengage Learning, 2013, 816 p.en
dc.relation.referencesD. Bovet, and M. Cesati, Understanding the Linux Kernel, Janaury 2001. OŔeally & Associates, Sebastopol (2001)en
dc.relation.referencesB. J. Catanzaro, Multiprocessor system architectures. Englewood Cliffs, N.J : PTR Prentice Hall, 1994.en
dc.relation.referencesG. P. Duggan, and P. Young, “Precision timing on low-cost Linux microcomputers,” in 2015 Annual IEEE Systems Con-ference (SysCon) Proceedings, 2015, pp. 469-471, https://doi.org/ 10.1109/SYSCON.2015.7116795 .en
dc.relation.referencesA. Martelli, and D. Ascher, Eds., 2002. Python Cookbook. Sebastopol: O'Reilly. ISBN: 0-596-00167-3 .en
dc.relation.referencesD. Saito, H. Washizaki, Y. Fukazawa, T. Yoshida, I. Kaneko, and H. Kamo, “Learning Effects in Programming Learn-ing Using Python and Raspberry Pi: Case Study with Elementary School Students,” in 2019 IEEE International Conference on Engineering, Technology and Education (TALE), 2019, pp. 1-8, https://doi.org/10.1109/TALE48000.2019.9225866 .en
dc.identifier.doihttps://doi.org/10.31649/1997-9266-2022-164-5-80-85


Файли в цьому документі

Thumbnail

Даний документ включений в наступну(і) колекцію(ї)

Показати скорочену інформацію