Объединённое ядро Linux

Объединённое ядро Linux
Объединённое ядро Linux
UnifiedKernel 0.2.1-KingSoft WPS.jpg
Запущенный Kingsoft Office через объединённое ядро Linux версии 0.2.1
Тип

Ядро

Разработчик

Insigma Technology

Написана на

C

Операционная система

Unix-like

Последняя версия

0.3.2 (8 июня 2011 года)

Бета-версия

0.4.0 (2 июня 2012 года)

Лицензия

GNU General Public License версии 2

Сайт

www.longene.org

Объединённое ядро Linux (англ. Linux Unified Kernel, Longene[1] или неформ. LUK) — это ядро операционной системы, рассчитанное на бинарную совместимость приложений и драйверов устройств используемых в Microsoft Windows и Linux без использования виртуализации или эмуляции.[2]

Проект написан на языке 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 необходимо добавить следующие элементы:

  • Среду, которая сравнивает свойства и требования среды драйвера устройства Windows, так, чтобы была возможность загрузки множества драйверов Windows в ядро, сохраняя при этом связи и условия выполнения как это происходит в Windows.
  • Набор экспортируемых функций, определенных интерфейсом экспортируемых функций ядра Windows (WDK). Для программ драйвера устройства эти функции будут выглядеть как обычные библиотеки предоставляемые ядром.
  • Родной программный интерфейс Windows. Microsoft никогда не откроет свой родной API, но "Windows NT/2000 Native API Reference" и другие материалы открывают эту информацию.[уточнить] Реализацию Windows system API в ядре Linux можно осуществить сравнивания реализацию на языке высокого уровне на ассемблере, потому что в ядре функции реализованы с помощью внутренних функций ядра Linux, а не внешнего Linux kernel API.

Для достижения своих целей LUK выпускает свои патчи ядра. Разработчики ожидают сливания этих патчей в основную ветвь ядра. Это облегчит переносимость программ с платформы Windows и удешевит производство драйверов под Linux.

Стратегия развития

Longene постепенно реализует Win32 API модули, которые станут частью совместного ядра вместо 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
  • Портирован код из Kernel-win32
  • Механизм системных вызовов Windows основан на "int 2e"
0.2.0 31 декабря 2006
  • Реализован механизм создания процессов/потоков Windows
  • Частично реализован механизм Windows APC
0.2.1 4 февраля 2008
  • Управление процессами/потоками Windows
  • Управление виртуальной памятью
  • Синхронизация
  • Управление объектами
  • Встроенная функция загрузки EXE
0.2.2 31 октября 2008
  • Механизм Token
  • Графическая программа установки
0.2.2-1 17 декабря 2008
  • Исправление ошибок
0.2.3 12 февраля 2009
0.2.4 22 мая 2009
  • Управление файловыми системами портированно из Wine
  • Частичная реализация API-функций управления реестром
  • Двоичные пакеты для популярных дистрибутивов
0.2.4.1 31 август 2009
  • Переход на ядро Linux 2.6.30
  • Поддержка новых файловых систем (ext4 и других)
0.3 31 мая 2010
  • Перенос всех функций wineserver'а в пространство ядра и полный отказ от wineserver
0.3.1 28 февраля 2011
  • Поддержка не root пользователей
0.3.2 8 июня 2011
  • Поддержка wineconsole. Windows Platform консольная программа, например, cmd.exe может работать примерно так: wineconsole cmd.exe
  • Улучшенные процессы создаются, что делает окна родной-приложения и Wine в некоторых buitin-приложения могут быть созданы друг с другом

Текущее состояние и будущее развитие

Разработчики работают над стабильностью работы SMP[8] и переносом NDISwrapper'а.

При разработке изменения в коде ядра минимальны, так как используются загружаемые модули.

В будущих выпусках рассчитывают добавить следующий функционал:

  • Среда драйверов устройств WDM
  • Системные вызовы файловых операций
  • API для управления системным реестром Windows
  • Различные функции системных вызовов в интерфейсе системных вызовов Windows
  • Механизм Windows DPC
  • Экспортируемые функции ядра, определенные в Windows DDK

Поддержка архитектур

  • IA-32 (работает)
  • x86-64 (не работает, в процессе)
  • Loongson 3 (не работает, в процессе)

Порт для Loongson 3, как ожидается, будет использовать новые инструкции для эмуляции аппаратного обеспечения x86.

Longene также может быть запущен в программах эмуляции или виртуализации оборудования такие как VMware и VirtualBox.

Применение

  • MagicLinux — это китайская сборка Linux, основанная на Red Hat Linux. Версия 2.1, выпущенная 15 декабря 2008 года, была представлена в основной (DVD-диск, с ядром Linux версии 2.6.25.20), компактной (CD-диск, with Linux kernel 2.6.25.20) и в версии с объединённым ядром Linux (CD-диск, с LUK версии 0.2.2).[9] MagicLinux версии 2.5 rc2 включает в себя объединённое ядро версии 0.2.4.1.[10]

Аппаратные требования

Минимальные аппаратные требования для запуска следующие:

Примечания

  1. UnifiedKernel Website  (англ.). Linux Unified Kernel Project Group (2010).(недоступная ссылка — история)
  2. Linux Unified Kernel Project  (англ.). Linux Unified Kernel Project Group (2008). Архивировано из первоисточника 28 апреля 2012.
  3. Q: Whether the Linux Unified Kernel code will open or not?  (англ.). Linux Unified Kernel Project Group.. Архивировано из первоисточника 28 апреля 2012.
  4. China Open Source Software community officially released on September 1  (англ.). www.21tx.com (2 сентября 2005). — (Машинный перевод).
  5. Pulse volume and the inner core came  (англ.). ccidnet.com. — (Машинный перевод).
  6. About the intellectual property rights (1)  (англ.). — (Машинный перевод).
  7. About the intellectual property rights (2)  (англ.). — (Машинный перевод).
  8. sean Compatible with the SMP kernel problem  (англ.). Linux Unified Kernel Project Group (26 августа 2009). — (Машинный перевод).
  9. Magic Linux 2.1 released  (рус.). (Машинный перевод).
  10. Magic Linux 2.5 rc2 released  (рус.). (Машинный перевод).

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Объединённое ядро Linux" в других словарях:

  • ReactOS — ReactOS …   Википедия

  • Список операционных систем — Это список известных операционных систем. Операционные системы могут быть классифицированы по базовой технологии (UNIX подобные, пост UNIX/потомки UΝΙΧ), типу лицензии (проприетарная или открытая), развивается ли в настоящее время (устаревшие или …   Википедия

  • Aufs — (AnotherUnionFS) альтернативная версия UnionFS, вспомогательной файловой системы, образующей каскадно объединённое монтирование для файловых систем Linux. Разработка ведётся Junjiro Okajima с 2006.[1] Aufs полностью переписанный код UnionFS,… …   Википедия

  • X86 — 80486 DX2 x86 (Intel 80x86)  аппаратная платформа: архитектура микропроцессора и соответствующий набор инструкций, как разработанных и выпускаемых компанией Intel, так и совместимых с ними процессоров других производителей (AMD, VIA …   Википедия

  • x86 — 80486 DX2 x86 (англ. Intel 80x86)  архитектура процессора c одноимённым наборо …   Википедия

  • Crysis — Разработчик …   Википедия

  • Вселенная X — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»