|
Опрос
|
реклама
Быстрый переход
«Один из величайших хаков»: энтузиастка запустила современный Linux на Windows 95
23.04.2026 [13:19],
Павел Котов
Энтузиастка, представившаяся как Хейли (Hailey), выпустила оригинальный проект, который назвала «одним из своих величайших хаков всех времён». Он получил название Windows 9x Subsystem for Linux или WSL9x. Система WSL9x совместно с платформой семейства Windows 9x запускает ядро Linux 6.19, обеспечивая пользователю те же возможности, что и экземпляры WSL в современных системах Windows, за исключением графического интерфейса. Система состоит из трёх компонентов: ядра Linux, модифицированного для вызова API Windows 9x вместо POSIX, драйвера виртуального устройства VxD и самого клиента WSL. Значительную часть работы принимает на себя VxD, который отвечает за инициализацию WSL9x и обработку событий пользовательской среды, которые должны транслироваться в ядро. Из-за ограничений архитектуры Win9x для этого потребовались некоторые ухищрения. «Системные вызовы обрабатываются через обработчик ошибки общей защиты (GPF), потому что в Win9x отсутствует таблица дескрипторов прерываний достаточной длины для установки корректного обработчика прерывания „int 0x80“», которое является системным для i386 под Linux, пояснила автор проекта. Обработчик GPF в WSL9x отслеживает инструкции, которые вызывают ошибки, и при появлении «int 0x80» он «перемещает указатель инструкции, как если бы прерывание прошло успешно, и отправляет системный вызов в Linux». Сам же клиент представляет собой 16-битное приложение DOS, которое позволяет WSL9x передавать ввод командных строк DOS ядру Linux как TTY вместо полноценного пользовательского клиента. Отмечается также, что ядро Linux в этом проекте получает те же привилегии центрального процессора уровня 0, что и ядро Windows — следует помнить о сопутствующих угрозах безопасности и готовиться к некоторой нестабильности в работе. То есть если выходит из строя одна система, то перестаёт работать и другая. |