Проект WSL9x для запуска современных Linux-ядер в окружении Windows 95

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 1337
Зарегистрирован: 20.08.2022

#

Проект WSL9x для запуска современных Linux-ядер в окружении Windows 95
Дата публикации:Thu, 23 Apr 2026 08:44:49 +0300

Не связанный с компанией Microsoft энтузиаст реализовал инструментарий WSL9x (Windows 9x Subsystem for Linux), позволяющий запускать современные ядра Linux внутри ядра Windows 95/98/ME. Проект даёт возможность в одной системе бок о бок выполнять приложения для Linux и Windows 9x, по аналогии с тем как прослойка WSL позволяет работать с Linux-приложениями в современных версиях Windows. Поддерживается запуск только консольных Linux-программ. Код компонентов WSL9x написан на Си и ассемблере и распространяется под лицензией GPLv3.
В отличие от WSL2 в WSL9x не применяется виртуализация и ядро Linux выполняется в нулевом кольце защиты параллельно с ядром Windows, что позволяет использовать WSL9x на системах без поддержки аппаратной виртуализации, даже c CPU i486. В системе применяется модифицированное ядро Linux 6.19, собранное для работы в режиме UML (User-mode Linux), предназначенном для запуска ядра как пользовательского процесса. Обращение к POSIX API в UML-слое трансляции заменено на вызов API ядра Windows 9x.
В Windows загружается подготовленный проектом VxD-драйвер, отвечающий за инициализацию подсистемы WSL9x, загрузку и размещение ядра Linux в памяти, диспетчеризацию прерываний, цикличную передачу управления ядру Linux в режиме совместной многозадачности и обработку адресованных Linux-ядру событий из пространства пользователя, таких как выполнение системных вызовов и обращение к невыделенным страницам памяти (page faults). Так как ядро Windows 9x не поддерживает таблицу векторов прерываний (IDT, Interrupt Descriptor Table), что не позволяет установить собственный обработчик прерывания 0x80, для системных вызовов применяется обработчик GPF (General Protection Fault), перехватывающий исключения, возникающие при выполнении инструкции SYSCALL.
Для пользователей предлагается утилита wsl.com, оформленная в виде 16-разрядного DOS-приложения и позволяющая использовать командную строку MS-DOS для запуска Linux-программ. Утилита обеспечивает передачу событий ввода и симулирует функциональность консоли для отображения вывода с поддержкой ANSI escape-кодов.
Изображение
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65270

Жизнь за Нер'зула!

Ответить