Loading AI tools
Из Википедии, свободной энциклопедии
Объединённое ядро Linux (англ. Linux Unified Kernel, Longene[1] или неформ. LUK) — это ядро операционной системы, рассчитанное на бинарную совместимость приложений и драйверов устройств, используемых в Microsoft Windows и Linux, без использования виртуализации или эмуляции[2].
Объединённое ядро Linux | |
---|---|
| |
Тип | Ядро |
Разработчик | Insigma Technology |
Написана на | C |
Операционная система | Unix-like |
Аппаратные платформы | IA-32 и x86-64 |
Последняя версия | 0.3.2 (8 июня 2011 года) |
Кандидат в релизы | 1.0 RC2 (14 января 2014 года) |
Бета-версия | 0.4.0 (2 июня 2012 года) |
Репозиторий | github.com/longene-archi… |
Лицензия | GNU General Public License версии 2 |
Сайт | longene.org/en/index.php |
Проект написан на языке C, является свободным программным обеспечением с открытым исходным кодом и использует лицензию GPL версии 2[3]. Первый выпуск состоялся в 2006 году.
Целью проекта Longene является добавление механизмов ядра Windows, включая системные вызовы, реестр Windows, модель драйверов Windows (WDM), отложенный вызов процедуры (DPC) и другие в ядро Linux для создания нового ядра. Новое ядро позволит запускать как Linux-, так и Windows-приложения, а также использовать драйверы устройств.
Для предотвращения раздувания объёма кода, если функция доступна и в ReactOS, и в ядре Linux, то используется вариант ядра Linux. Функции реализуются, используя загружаемые модули ядра Linux для быстрой загрузки и выгрузки.
Longene имеет системные вызовы Windows и Linux и их соответствующие таблицы. Приложения Windows могут вызывать программное прерывание «int 0x2e», в то время как приложения Linux используют табличный вызов через «int 0x80».
Проект объединённого ядра Linux не разрабатывает библиотеки пользовательского уровня для Windows и Linux. Этим занимаются соответствующие проекты, такие как Wine, ReactOS и GNU.
В сентябре 2005 года проект Linux Unified Kernel получил спонсорскую поддержку от китайской корпорации в сфере ИТ-консалтинга Insigma Technology[4]. Лидером Декао Мао были обозначены цели и пути развития проекта[5]. Он написал множество статей о рынке, авторском интеллектуальном праве[6][7], а также обозначил необходимые условия для достижения цели. Статьи Мао собраны на страницах проекта.
Для создания единого ядра Linux необходимо добавить следующие элементы:
Чтобы достичь цели, объединённое ядро выпускается в виде патчей linux. Разработчики ожидают слияния этих патчей с основной ветвью ядра. Это облегчит переносимость программ с платформы Windows и удешевит производство драйверов для Linux. Помимо этого, существуют готовые бинарные пакеты для таких систем, как Ubuntu, Fedora и Red Flag Linux.
Longene постепенно реализует API-модули Win32, которые станут частью совместного ядра вместо wineserver-модулей, которые осуществляют перевод системных вызовов Windows в вызовы системы Linux. Longene также модифицирует системные файлы wine, kernel32.dll, user32.dll, gdi32.dll и ntdll.dll, которые вызывают модули wineserver для того, чтобы получить реализацию Win32 API в пространстве ядра. В переходном состоянии Longene использует модули wineserver для работы с теми функциями, которые ещё не перенесены в ядро, поэтому даже незаконченные выпуски выполняют приложения Win32.
Начиная с версии 0.3, разработчики полностью отказались от wineserver, но для Longene всё ещё требуются изменённые системные файлы kernel32.dll, user32.dll, gdi32.dll и ntdll.dll, а также некоторые библиотеки wine. Для драйверов устройств Longene использует NDISwrapper. Отсутствующую функциональность драйверной модели Windows был дополнен описаниями из ReactOS. Механизм Windows Driver Kit основан на коде ReactOS. Он использует комбинацию пересылки ресурсов на драйверы ядра Linux и дополнительные библиотеки, которые реализуют функции, отсутствующие в Linux.
Ранняя версия была известна как unifiedkernel-2.6.13 и была выпущена 15 февраля 2006 года. Этот выпуск содержал начальные реализации механизма системных вызовов Windows с прототипом функций системных вызовов. Существующие версии:
Цвет | Значение |
---|---|
Красный | Выпуск больше не поддерживается |
Зелёный | Выпуск ещё поддерживается |
Голубой | Будущие выпуски |
Версия | Дата выпуска | Информация о выпуске |
---|---|---|
0.1.0 | 30 апреля 2006 |
|
0.2.0 | 31 декабря 2006 |
|
0.2.1 | 4 февраля 2008 |
|
0.2.2 | 31 октября 2008 |
|
0.2.2-1 | 17 декабря 2008 |
|
0.2.3 | 12 февраля 2009 |
|
0.2.4 | 22 мая 2009 |
|
0.2.4.1 | 31 август 2009 |
|
0.3 | 31 мая 2010 |
|
0.3.1 | 28 февраля 2011 |
|
0.3.2 | 8 июня 2011 |
|
Разработчики работают над стабильностью работы SMP[8] и переносом NDISwrapper'а.
При разработке изменения в коде ядра минимальны, так как используются загружаемые модули.
В будущих выпусках рассчитывают добавить следующую функциональность:
Порт для Loongson 3, как ожидается, будет использовать новые инструкции для эмуляции аппаратного обеспечения x86.
Longene также может быть запущен в программах эмуляции или виртуализации оборудования, в таких как VMware и VirtualBox.
Минимальные аппаратные требования для запуска:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.