Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397
Issue N2 2019 year
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 application 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.