v86 - Запускаем старые ОС прямо в браузере
Представьте, что вы можете запустить Windows 95, Linux или даже Android прямо в браузере — без установки виртуальных машин, без сложных настроек. Звучит как магия? Именно это и делает v86 — уникальный проект, который эмулирует x86-совместимое железо с помощью WebAssembly.
Что это за зверь?
v86 — это эмулятор x86-архитектуры, написанный на JavaScript и компилирующий машинный код в WebAssembly прямо во время выполнения. Проект начался в 2013 году и за это время достиг впечатляющего уровня совместимости.
Кому это может быть полезно:
- Разработчикам, тестирующим ПО на разных ОС
- Энтузиастам ретро-компьютеров
- Преподавателям компьютерных наук
- Любопытным гикам, которые хотят поиграть с устаревшими системами
Что умеет v86?
-
Полноценная эмуляция железа
- CPU уровня Pentium 4 с поддержкой SSE3
- Видеокарта VGA с SVGA
- Жесткие диски и CD-ROM через IDE-контроллер
- Даже SoundBlaster 16 для ностальгирующих по старым играм!
-
Поддержка десятков операционных систем
- Windows 1.01 — 2000 (и частично XP/Vista)
- Linux (32-битные версии)
- FreeDOS, ReactOS, Haiku, KolibriOS
- Даже Android до версии 4.4!
-
Сетевые возможности
- Эмуляция сетевой карты NE2000
- Возможность сетевого взаимодействия между вкладками браузера
Как это работает под капотом?
v86 использует несколько интересных технологий:
- Трансляция x86-кода в WebAssembly в реальном времени
- Точная эмуляция FPU с помощью библиотеки SoftFloat
- Виртуальные устройства (видеокарта, жесткие диски) реализованы на JavaScript
Интересный факт: для точной эмуляции 80-битных чисел с плавающей точкой используется проверенная временем библиотека Berkeley SoftFloat.
Практическое применение
-
Образование
- Идеально для демонстрации работы старых ОС студентам
- Можно показать эволюцию интерфейсов от Windows 1.01 до 2000
-
Разработка
- Тестирование кросс-платформенного ПО без виртуальных машин
- Отладка legacy-приложений
-
Ностальгия
- Запуск старых игр и программ прямо в браузере
- Возможность показать детям, «как это было»
Как попробовать?
Самый простой способ — зайти на демо-страницу и выбрать одну из предустановленных ОС. Для разработчиков есть удобный API:
var emulator = new V86({
screen_container: document.getElementById("screen_container"),
bios: { url: "bios/seabios.bin" },
cdrom: { url: "images/linux.iso" },
autostart: true
});
v86 — это удивительный проект, который:
- Даёт возможность запускать старые ОС в один клик
- Не требует установки дополнительного ПО
- Имеет открытый исходный код (лицензия BSD)
- Постоянно развивается (последние коммиты — август 2025)
Особенно рекомендую:
- Разработчикам, работающим с legacy-системами
- Преподавателям информатики
- Всем, кто хочет окунуться в компьютерную ностальгию
А вы уже пробовали запустить свою любимую старую ОС в v86?