Ентусиаст, независим от Microsoft, създаде WSL9x – необичаен експеримент, който позволява съвременни Linux ядра да работят рамо до рамо с Windows 95/98/ME, без виртуализация и без нужда от модерни процесори.
WSL9x (Windows 9x Subsystem for Linux) дава възможност в една система да се изпълняват конзолни Linux приложения заедно с класически Windows 9x програми. Подходът напомня на WSL в съвременните версии на Windows, но тук мащабът е далеч по-радикален: Linux Kernel 6.19, компилирано в UML режим, се стартира вътре в самото ядро на Windows 9x. Кодът е написан на C и асемблер и се разпространява под GPLv3.
Как Linux и Windows 9x работят едновременно
За разлика от WSL2, голямата разлика е, че тук няма виртуална машина. Linux ядрото се изпълнява паралелно с Windows 9x, което позволява WSL9x да работи дори на i486 системи без хардуерна виртуализация. UML слоят е модифициран така, че POSIX извикванията да се пренасочват към API на Windows 9x, вместо към стандартните Linux механизми.
В основата стои специално разработен VxD драйвър, който се зарежда в Windows и поема ключови задачи: инициализация на подсистемата, зареждане на Linux ядрото в паметта, управление на прекъсванията, превключване на контекста между двете ядра и обработка на системни извиквания и page fault събития, насочени към Linux. Поради липсата на IDT таблица в Windows 9x, системните извиквания се прихващат и обработват чрез GPF, който реагира на изключения, предизвикани от инструкцията SYSCALL.
Инструменти за потребителите: Linux от командния ред на MS‑DOS
Проектът включва и wsl.com – 16‑битово DOS приложение, което позволява стартиране на Linux програми директно от командния ред на MS‑DOS. То предава входни събития, емулира конзолен изход и поддържа ANSI escape кодове, така че Linux инструментите да могат да работят в познатата DOS среда.
WSL9x е впечатляващ технически експеримент, който демонстрира колко гъвкави могат да бъдат старите Windows 9x системи, когато се комбинират с модерни Linux технологии, при това и по толкова нестандартен начин.










