Новости Software

Запуск современного Linux на Windows 95: энтузиастка назвала это «величайшим хаком»

Пользовательница под псевдонимом Хейли (Hailey) представила необычную разработку, назвав её «одним из своих величайших хаков всех времён». Проект получил имя Windows 9x Subsystem for Linux, сокращённо — WSL9x.

 Источник изображения: social.hails.org

Источник изображения: social.hails.org

Вместе с операционной системой из семейства Windows 9x WSL9x запускает ядро Linux версии 6.19, предоставляя функционал, аналогичный обычным экземплярам WSL на современных версиях Windows, однако без поддержки графического интерфейса. Архитектура включает три ключевых элемента: ядро Linux, адаптированное для работы с API Windows 9x вместо POSIX, драйвер виртуального устройства VxD и сам клиент WSL.

Основная нагрузка ложится на VxD, который инициализирует WSL9x и управляет событиями пользовательской среды, транслируя их в ядро. Из-за особенностей архитектуры Win9x пришлось прибегнуть к нестандартным решениям. «Системные вызовы обрабатываются через обработчик ошибки общей защиты (GPF), так как в Win9x нет таблицы дескрипторов прерываний достаточной длины, чтобы установить корректный обработчик прерывания „int 0x80“», — объяснила создательница. Обработчик GPF в WSL9x отслеживает инструкции, вызывающие ошибки, и при обнаружении «int 0x80» «перемещает указатель инструкции, имитируя успешное выполнение прерывания, и передаёт системный вызов в Linux».

Клиент представляет собой 16-битное DOS-приложение, которое позволяет WSL9x передавать команды из командной строки DOS ядру Linux в качестве TTY, вместо полноценного пользовательского клиента. Кроме того, ядро Linux в данной реализации получает те же привилегии центрального процессора уровня 0, что и ядро Windows — это означает, что нужно учитывать возможные риски для безопасности и быть готовым к нестабильной работе. Если одна из систем выходит из строя, вторая также перестаёт функционировать.

Поделиться:

0 Комментариев

Оставить комментарий

Обязательные поля помечены *
Ваш комментарий *
Категории
Популярные новости