Представлена версия 2.0 библиотеки запуска исполняемых файлов в разных ОС

Изображение: AlfredMuller, pixabay, cc0
Компьютер
Компьютер

Программная библиотека Cosmopolitan 2.0 представлена разработчиком программного обеспечения (ПО) Жюстин Танни 18 августа. Исходные коды опубликованы в хранилище проекта.

Библиотека Cosmopolitan и сопутствующий формат исполняемых файлов созданы для запуска приложений в различных операционных системах без использования интерпретаторов и виртуальных машин.

Результат компиляции исходного кода при помощи GCC и Clang затем формируется в универсальный исполняемый контейнер для различных операционных систем (ОС). Доступны варианты для ОС Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, а также для запуска кода из BIOS.

В версии 2.0 появился новый загрузчик APE (Actually Portable Executable), который определяет формат исполняемых файлов. Появилась возможность конвертации универсального формата в формат для конкретной ОС.

Под ОС Linux реализована возможность использования модуля ядра binfmt_misc для запуска программ. Это позволяет ускорить запуск приложений. Реализованы некоторые системные вызовы для Linux, а также программные интерфейсы (API) для языков программирования C, C++, Python и Redbean.

Появилась возможность изоляции процессов, поддержка много поточности с применением функций «spawn» и «join», а также отладки приложений с помощью параметров «–ftrace» и «–strace». Ведется работа над реализацией стандартных потоков POSIX Threads.

Добавлено еще множество новых возможностей. Проект написан на языке C и распространяется под свободной лицензией ISC, которая является упрощенной версией MIT.