Создана система для запуска списанного в утиль ПО без виртуальных машин

Софт Интеграция Системное ПО
мобильная версия
, Текст: Дмитрий Степанов
В Университете Карнеги–Меллона создана система Olive, позволяющая удаленно запускать более не поддерживаемые разработчиками приложения на современных компьютерах.

Olive в помощь ученым

Ученые Университета Карнеги–Меллона в США создали систему, которая позволяет запускать старые программы, предназначенные для различных аппаратных и программных платформ, на современных компьютерах, при этом не требуя от конечного пользователя самостоятельного развертывания виртуальных машин или скачивания образов дисков для них.

Решение получило название Olive, которое представляет собой акроним Open library of Images for virtualized execution – «Открытая библиотека образов для виртуализированного исполнения». Оно призвано помочь в работе ученым в тех случаях, когда возникает необходимость перепроверить результаты экспериментов и вычислений прошлых лет, которые нередко производились с использованием ныне устаревших программ и библиотек.

В настоящее время Olive доступна лишь ограниченному кругу пользователей из-за проблем с лицензированием ранних версий коммерческих операционных систем, необходимых для запуска старого ПО. Тем не менее, разработчики планируют получить разрешение заинтересованных сторон и сделать продукт доступным многим.

Как это работает

Система Olive содержит восемь уровней абстракции. На первом из них, аппаратном, находится современный компьютер на базе x86-совместимого процессора, на котором выполняется современная ОС на основе ядра Linux, представляющая собой второй уровень абстракции.

Следующий слой представлен особой программой VMNetX (Virtual machine network execution), которая отвечает за взаимодействие с компьютером пользователя, желающим запустить устаревшее приложение. Необходимые для этого образы виртуальных машин хранятся на сервере и могут быть запущены по запросу удаленной системы. VMNetX обеспечивает их выполнение таким образом, что пользователю нет необходимости загружать образы виртуальных машин или снимки их текущего состояния. Вместо этого, необходимые в конкретный момент времени данные передаются на машину клиента небольшими «порциями».

На четвертом уровне находится гипервизор KVM/QEMU (монитор виртуальных машин), который позволяет Olive выполнять множество виртуальных машин одновременно, что необходимо для обслуживания сразу нескольких клиентов.

Далее следует эмулятор аппаратного обеспечения, который не используется, если выполняемая устаревшая программа предначена для x86-совместимых машин. Шестой уровень представляет собой набор гостевых операционных систем. Последние два уровня заняты непосредственно приложениями прошлых лет, которые планируется позволить запускать удаленным пользователям, и файлами данных для обработки с их помощью.

Текущее состояние проекта

На данный момент Olive содержит 17 виртуальных машин, которые способны выполнять как серьезные научные, так и развлекательные приложения, выбранные учеными на основе доступности и личных предпочтений.

Компьютерная игра The Oregon Trail для компьютеров Apple II

Так, один из участников проекта испытывал ностальгические чувства к старой игре The Oregon Trail, в которую ему приходилось играть в ранние 1990-е. Разработчики смогли найти версию приложения для Mac и заставить ее работать в Olive.

Пакет для моделирования Chaste 3.1 для Linux в эмуляторе

Также разработчикам удалось заставить работать программу Chaste 3.1, предназначенную для решения задач из области биологии и физиологии при помощи моделирования. Одно из исследований, опубликованное в 2013 г., содержало результаты, которые были получены при помощи этой программы. Спустя два года после публикации работы программу стало невозможно скомпилировать на современных Linux-системах, поэтому Olive пришлась как нельзя кстати.

Помимо уже перечисленных программ ученые также «научили» систему запускать Doom, популярный в прошлом трехмерный шутер для DOS; офисный пакет Microsoft Office 4.3 для Windows 3.1/3.11, выпущенный в 1994 г.; веб-браузер Mosaic для Apple System 7, вышедший в 1993 г.

Другие попытки «оживить» старые программы

Энтузиасты нередко предпринимают попытки «реанимировать» старые программы, хотя и делают это, как правило, ради веселья, а не для решения серьезных задач.

К примеру, в конце августа 2018 г. на Github был выложен эмулятор Windows 95 для запуска в современных версиях macOS, Linux и Windows.

В 2016 г. два никак не связанных между собой разработчика запустили Windows 95 в браузере и на «умных» часах Apple Watch.