Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N2 2019 year

DOI: 10.17587/prin.10.51-58
Experience Creating a Compact Real-Time Operating System
A. N. Godunov, nkag@niisi.ras.ru, V. A. Soldatov, nkvalera@niisi.ras.ru, Federal State Institution Scientific Research Institute for System Analysis of the Russian Academy of Sciences (SRISA), Moscow, 117218, Russian Federation
Corresponding author: Godunov Alexander N., Head of Department, Federal State Institution "Scientific Research Institute for System Analysis of the Russian Academy of Sciences" (SRISA), Moscow, 117218, Russian Federation, E-mail: nkag@niisi.ras.ru
Received on December 03, 2018
Accepted on December 20, 2018

RAM is a limited resource for a certain class of tasks that are performed in a hard real-time. First of all, this refers to the systems operating in the conditions of radiation exposure. Radiation resistant RAM is quite expensive. To reduce the size of memory required for RTOS, it was decided to use already existing RTOS, and to propose the methods allowing significant reduction of the amount of RAM required. The approach described allows reaching significant memory savings without making major changes in the RTOS, enabling the reduction of development efforts and providing greater reliability of the RTOS. The essential methods of reducing the amount of RAM required by the RTOS are the OS configuration, the placement of sections of RTOS used only for reading in flash memory, the use of the compiler optimization option that minimizes the amount of the required RAM. The work also describes the methods and features allowing quantifying the memory savings resulting from the use of methods indicated. Some parts of the RTOS (interrupt and exception handling, multi-threading, time service, memory allocation) are mandatory and cannot be completely excluded from the target image, but can only be reduced to some extents. All other parts of the operating system can be either significantly reduced or excluded unless they are used by the applica­tion program or the board support package (BSP). These include networking, file systems, block devices, basic input/output operations, debugging tools, condition variables, message queues, timers, regional settings, program channels, signals and semaphores. Hardware for development of the compact RTOS and the results obtained are also described.

Keywords: RTOS Baget, configuration, scaling, flash memory, ELF format, Random Access Memory, RAM, dynamic memory
pp. 51–58
For citation:
Godunov A. N., Soldatov V. A. Experience Creating a Compact Real-Time Operating System, Programmnaya Ingeneria, 2019, vol. 10, no. 2, pp. 51—58
This work was supported by state research program of the Russian Federation (No. 0065-2018-0021)