Представлен проект WSL9x — подсистема Windows 9x для Linux
Состоялся выпуск открытого проекта WSL9x (без использования ИИ и под лицензией GPL-3) — подсистемы Windows 9x для Linux (Windows 9x Subsystem for Linux). С помощью подсистемы Windows 9x для Linux можно запускать приложения Windows и Linux параллельно, используя современное ядро Linux, работающее совместно с ядром Windows в ring 0. И в отличие от современных WSL, здесь не используется аппаратная виртуализация, поэтому WSL9x можно запустить даже на 486 процессоре.
Решение WSL9x использует современное ядро Linux (6.19 на текущий момент) совместно с ядром Windows 9x, позволяя пользователям одновременно использовать весь набор возможностей обеих операционных систем, включая файл подкачки, защиту памяти и вытесняющее планирование (pre‑emptive scheduling). «Запускайте все свои любимые приложения параллельно — перезагрузка не требуется!», — заявили в команде проекта.
Технические подробности решения:
WSL9x состоит из трёх компонентов: пропатченного ядра Linux (см. ветку win9x-um-6.19), драйвера VxD и клиентской программы wsl.com;
драйвер отвечает за инициализацию WSL9x (см. vxd/wsl9x.asm для точки входа драйвера). Он устанавливает начальные отображения для кода ядра и загружает vmlinux.elf с диска, используя прерывания DOS (см. vxd/loader.c и vxd/fs.asm). Ядро компилируется с фиксированным базовым адресом 0xd0000000;
затем драйвер запускает новый поток в виртуальной машине системы, выделяет стек размером 16 КБ для входа в Linux и переходит в цикл событий, который обрабатывает вход в ядро, обработку прерываний, возврат в пользовательское пространство и режим ожидания. См. vxd/entry.c для этого кода;
драйвер также отвечает за обработку событий пользовательского пространства, которые должны быть переданы ядру, в настоящее время это
Читать на habr.com