The Android operating system is widely used on mobile devices such as smartphones or tablets. From the first Android devices to now, this operating system has improved its features and has been extended to new hardware. Because of its widespread use and the high number of low-cost hardware platforms on which it is available, there is a great interest in using it in areas such as automotive, industrial control or medical environments, where real-time requirements are imposed.This paper presents a solution that takes advantage of both, the fact that Android is based on the Linux kernel and that most of the newest Android devices use multicore processors. Thus, we have studied the mechanisms provided by the Linux kernel to isolate CPUs. The use of these mechanisms does not require profound changes in Android, only configuration adjustments. In addition, we have determined that using appropriate isolation mechanisms, Android can be used for soft real-time purposes. Since our solution does not require major modifications of the operating system it is very portable among all kinds of devices.
Real-time systems where applications with timing requirements coexist with applications without timing constraints are increasingly common. Furthermore, the processors used in desktops, smart phones or embedded devices are mostly multi-core, allowing the execution of applications in parallel. This article presents a set of non-blocking synchronization mechanisms to share data between real-time and non-real-time applications executing in different cores of a shared memory multi-core system. Four typical producer/consumer scenarios have been explored; a) shared data object with real-time reader, b) shared data object with real-time writer, c) shared queue with real-time writer, and d) shared queue with real-time reader. For these scenarios we have developed different non-blocking protocols where the execution of the real-time application is always prioritized over the execution of the non-real-time part. In this way, the real-time applications never have to repeat their operations and, consequently, their execution times are bounded. Furthermore, to reduce the overhead caused by the copies of the information used in the non-blocking algorithms, we have imposed the limitation of a single real-time reader or a single real-time writer in the algorithms developed. Finally, we have evaluated the response times of the developed protocols on a multi-core device with the Android operating system.INDEX TERMS Android, multi-core, non-blocking synchronization, real-time, wait-free.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.