Kilpailutilanteiden estäminen ja optimisointi reaali-aikaisessa radiojärjestelmässä
Roininen, Saku (2026)
Roininen, Saku
2026
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202601291973
https://urn.fi/URN:NBN:fi:amk-202601291973
Tiivistelmä
Tämän opinnäytetyön aihe oli estää ja optimoida kilpailutilanteita reaaliaikaisen radiojärjestelmän ohjelmistossa. Opinnäytetyön määränpää oli saada tietoa siitä, mikä kilpailutilanteita estävä tapa oli paras nopeudeltaan ja ylläpidettävyydeltään.
Opinnäytetyön ensimmäisessä teoriaosuudessa käydään läpi C++ -ohjelmistokielen muistimalli sekä rinnakkaista ohjelmointia. Opinnäytetyön toisessa teoriaosuudessa taas keskustellaan rinnakkaisen ohjelmoinnin synkronoinnista ja erilaisista synkronointitavoista.
Teoreettisen tiedon lisäksi myös eri synkronointitapojen toteutus ja konkreettinen mittaus niin testiympäristössä kuin oikeassa radiojärjestelmässä käydään läpi tässä opinnäytetyössä. The target of this thesis was to block race conditions from happening and optimize them for real-time radio system application. The goal of this thesis was to compare ways to mitigate race conditions in a multithreaded system and see which way is the fastest computationally and easiest to maintain in a real-life software system.
This thesis’ first part of theory goes over the C++ programming languages memory model and parallel programming. The second part of theory goes over how to synchronize parallel programs and different ways to achieve synchronization.
This thesis will also go over concrete implementations and measurements of different ways of synchronization. This is done in both a testing environment and a real radio system.
Opinnäytetyön ensimmäisessä teoriaosuudessa käydään läpi C++ -ohjelmistokielen muistimalli sekä rinnakkaista ohjelmointia. Opinnäytetyön toisessa teoriaosuudessa taas keskustellaan rinnakkaisen ohjelmoinnin synkronoinnista ja erilaisista synkronointitavoista.
Teoreettisen tiedon lisäksi myös eri synkronointitapojen toteutus ja konkreettinen mittaus niin testiympäristössä kuin oikeassa radiojärjestelmässä käydään läpi tässä opinnäytetyössä.
This thesis’ first part of theory goes over the C++ programming languages memory model and parallel programming. The second part of theory goes over how to synchronize parallel programs and different ways to achieve synchronization.
This thesis will also go over concrete implementations and measurements of different ways of synchronization. This is done in both a testing environment and a real radio system.
