An increasing number of tasks now require the use of hardware accelerators to reduce the time required for computation and display the computational results. This paper presents a new graphics system architecture for operating systems (OSs) with microkernel architecture, including real-time OSs. The proposed system architecture provides capabilities for displaying graphical images on various information display devices and for accelerating graphical operations on GPU. The architecture of the graphics system uses a concept of allocators to manage system and video memory, provides an abstraction of memory operations with a single interface for video memory management, and simplifies memory handling where incorrect operation is the cause of many failures. A comparison between the performance of a real-time OS and Linux OS implementing the graphics system using the example of a glmark2 benchmark is presented, thereby the superiority of the proposed architecture in several scenarios is demonstrated.
- Article type
- Year
- Co-author
![](/assets/img/article/article-lock.png)
![](/assets/img/article/article-lock.png)
This paper presents a new architecture of a graphics system for microkernel operating systems, including real-time operating systems. The following major parts of the architecture are presented: a user-level subsystem responsible for interaction with user applications; a bottom-level subsystem providing the functionality for graphics drivers, such as managing graphics output, video memory management, etc.; a kernel-level subsystem providing interaction with the kernel, and performing low-level operations, such as working with physical memory, processes, etc. The mechanisms of interaction of user applications with the user level of the graphics system, as well as interaction of the different levels of the graphics subsystem are presented. The paper pays much attention to various approaches to testing: the use of unit testing, testing using hardware and software emulators. Another important characteristic of a graphics system is its performance, in particular the performance of low-level operations such as memory allocation: the developed architecture suggests using a separate memory allocator which is faster than standard memory allocation functions. Comparison of the performances of graphics system implementation for microkernel real-time operating system and graphics server Xorg is presented, showing significant superiority of the proposed architecture in a number of work scenarios.