В статье описана проблематика портирования системы моделирования двигателя внутреннего сгорания на операционную систему Astra Linux.
Ключевые слова: двигатель внутреннего сгорания, портирование системы моделирования, программирование, C++, Astra Linux.
При переносе программ с операционной системы Windows на операционные системы семейства Linux, связанные с тем, что API(Application Programming Interface — программный интерфейс приложения), файловые системы и драйверы обоих операционных систем отличаются друг от друга, в следствии этого необходимо использовать другие библиотеки, другую IDE(Integrated Development Environment — интегрированная среда разработки), включающую в себя компиляторы, библиотеки и редакторы кода. Некоторые из этих проблем встречались и при разработке версии программного пакета моделирования двигателя внутреннего сгорания(ДВС) [2] [8]для операционной системы Astra Linux, но они были решены.
Разработка программ для операционной системы Astra Linux становится все более актуальной, в связи с переходом многих компьютеров в муниципальных учреждениях на данную операционную систему. Все больше пользователей переходят на Linux системы благодаря её открытости, оптимизации, безопасности. Также данная ОС часто используется при обучении на специализациях, связанных с информационными технологиями. Однако, у операционных систем данного семейства имеются некоторые недостатки — отсутствие многих популярных программ, но все больше разработчиков создают версии своих программ, предназначенных для Linux, делая использование Linux более комфортным для пользователей.
Программный пакет моделирования ДВС предназначен для ознакомления пользователя с основными процессами [6], происходящих в ДВС, как крутящий момент [3] [4], мощность и обороты их пикового момента зависят от параметров ДВС, таких как диаметр цилиндров, температура горения топлива, степень сжатия и т. д. Возможность самостоятельно изменять входные параметры и понимать их влияние на рабочие характеристики ДВС поможет обучающимся лучше ознакомиться с теорией автомобилестроения.
В портированной версии был использован язык программирования C++, также, как и в оригинальной версии, благодаря его кроссплатформенности и наличию в Linux множества C/C++-компиляторов.
Разработка версии для Astra Linux заняла меньше времени, так как для вывода 3D графики в версии для Windows была выбрана библиотека OpenGL, являющейся кроссплатформенной, чем если бы программа была изначально разработана на DirectX, графической библиотекой, предназначенной только для Windows.
Также помимо OpenGL используются вспомогательные библиотеки, такие как GLFW (библиотека ввода-вывода) (рис. 1), GLAD (расчет графики для вывода) и GLM (математическая библиотека, применяемая для расчета матриц, необходимых для рендера изображения).
Рис. 1 Скриншот процесса сборки glfw для Astra Linux
В отличие от Windows, где сборка проекта происходила в Visual Code, в Astra Linux сборка происходит с помощью GCC, а для редактирования кода используется Qt Creator, поставляемый в комплекте с Astra Linux.
Для сборки GCC необходимо в терминале C/C++ файлы, которые необходимо скомпилировать в программу и флаги(“g++ main.cpp glad.c –ldl -lglfw. Скомпилированная программа запускается с помощью команды “./a.out” (рис.2).
Рис. 2. Скриншот команд сборки и запуска программы
Рис. 3. Скриншот работы программы при использовании операционной системы Astra Linux
В конечном итоге программа, которая изначально была разработана для операционной системы Windows была портирована на Astra Linux, благодаря чему пользователи этой системы могут использовать данную программу (рис.3) без эмулятора, что позволяет использовать программу с максимальной производительностью.
Работа выполнена при поддержке Красноярского краевого фонда науки в рамках проекта «Разработка системы моделирования двигателя внутреннего сгорания в рабочем режиме».
Литература:
1. Палагута К. А., Тройков С. М. Полунатурное моделирование электронной системы управления двигателем внутреннего сгорания (ЭСУ ДВС). Надежность и качество: труды международного симпозиума, 2010.
- Заболотский, И. А. Разработка системы моделирования двигателя внутреннего сгорания в рабочем режиме / Молодой ученый. — 2022. — № 46 (441).
3. Луканин. В. Н. Том 1. Двигатели внутреннего сгорания. Теория рабочих процессов, 2005.
4. Луканин. В. Н. Том 3. Компьютерный практикум. Моделирование процессов в ДВС, 2005.
5. Боресков. А. В. Программирование компьютерной графики, 2019.
- Гришин Ю. А., Хазов Н. В. Моделирование газодинамических течений во впускных системах двигателей внутреннего сгорания, 2008.
- Заболотский, И. А. Проблематика разработки системы моделирования двигателя внутреннего сгорания на языке программирования C++ / Молодой ученый. — 2022. — № 47 (442).