Найти в Дзене

Запуск древних версий UNIX на современных системах, UNIX с 1971 года на современном компьютере: как это работает?

Когда-то UNIX был доступен только избранным — университетским исследователям и крупным компаниям с мощными мини-компьютерами. Сегодня запустить эти легендарные операционные системы можно на обычном ноутбуке, и даже не придётся разбираться в дебрях настройки эмуляторов. GitHub-репозиторий run-ancient-unix делает всю грязную работу за вас: достаточно скачать готовые скрипты, и вот вы уже смотрите на командную строку UNIX v7 образца 1979 года. Разработчик Felipe Lunkes собрал проект специально для тех, кому интересна история операционных систем, кто хочет поэкспериментировать с ретро-технологиями или просто ностальгирует по временам, когда компьютеры были размером со шкаф. Проект run-ancient-unix — это коллекция автоматизированных скриптов и готовых образов дисков, которые позволяют запускать исторические версии UNIX на современных операционных системах вроде Linux, FreeBSD и macOS. Звучит как развлечение для гиков? Отчасти так и есть. Но есть в этом и практическая польза: студенты IT-
Оглавление

Запуск древних версий UNIX на современных системах
Запуск древних версий UNIX на современных системах

Когда-то UNIX был доступен только избранным — университетским исследователям и крупным компаниям с мощными мини-компьютерами. Сегодня запустить эти легендарные операционные системы можно на обычном ноутбуке, и даже не придётся разбираться в дебрях настройки эмуляторов. GitHub-репозиторий run-ancient-unix делает всю грязную работу за вас: достаточно скачать готовые скрипты, и вот вы уже смотрите на командную строку UNIX v7 образца 1979 года. Разработчик Felipe Lunkes собрал проект специально для тех, кому интересна история операционных систем, кто хочет поэкспериментировать с ретро-технологиями или просто ностальгирует по временам, когда компьютеры были размером со шкаф.

Что такое run-ancient-unix и зачем это нужно

Проект run-ancient-unix — это коллекция автоматизированных скриптов и готовых образов дисков, которые позволяют запускать исторические версии UNIX на современных операционных системах вроде Linux, FreeBSD и macOS. Звучит как развлечение для гиков? Отчасти так и есть. Но есть в этом и практическая польза: студенты IT-специальностей могут изучать эволюцию операционных систем на реальных примерах, а не по учебникам, программисты — экспериментировать с архаичным кодом и понять, откуда растут корни у современных решений. Плюс это просто любопытно — посмотреть, как выглядел мир без графических интерфейсов, когда всё управление шло через текстовые команды и никакого намёка на мышку.

Проблема доступа к историческим системам

Запустить древние версии UNIX на современном железе — задача не из простых. Эти системы разрабатывались для архитектуры PDP-11, специфических мини-компьютеров компании DEC, которые сейчас можно увидеть разве что в музеях. Чтобы заставить их работать на обычном x86-компьютере, нужен эмулятор, а точнее — симулятор вроде SIMH, который имитирует железо тех лет на программном уровне. Настроить всё это вручную — значит потратить несколько часов на чтение документации, поиск правильных образов дисков и возню с конфигурационными файлами. Для энтузиаста это квест, но для большинства людей — просто лишняя головная боль.

Репозиторий run-ancient-unix содержит готовые скрипты
Репозиторий run-ancient-unix содержит готовые скрипты

Решение от Felipe Lunkes

Felipe Lunkes взял и автоматизировал весь процесс. Репозиторий run-ancient-unix содержит готовые скрипты установки, которые сами скачивают нужные образы, настраивают эмуляторы и запускают систему одним действием. Кроме того, в проекте есть графический Python-интерфейс с меню, где можно выбрать, какую версию UNIX хочется загрузить, и нажать пару кнопок. Никаких танцев с бубном, никаких мануалов на английском из девяностых. Установка занимает минуты, а не часы, и это делает древние системы доступными даже тем, кто раньше с эмуляцией не сталкивался.

Какие версии UNIX можно запустить

В арсенале run-ancient-unix несколько знаковых релизов, каждый из которых отражает определённый этап развития операционных систем. Тут и самые ранние версии, и более зрелые BSD-системы, которые позже дали начало целому семейству свободных ОС.

Классические UNIX v1, v5, v7 для PDP-11

UNIX v1 — это первая официальная версия системы, вышедшая в 1971 году. Да, более полувека назад. В ней ещё не было многих привычных нам функций, но уже были заложены базовые принципы: файловая система, процессы, простая и логичная структура. Версия v5, появившаяся в 1974-м, стала более стабильной и получила распространение в университетах. А v7 из 1979 года считается классикой — именно она легла в основу многих последующих разработок и до сих пор изучается в курсах по истории ОС. Все эти системы работали на архитектуре PDP-11, 16-битных мини-компьютерах, которые в своё время были передовым словом техники. Симулятор SIMH воссоздаёт эту архитектуру виртуально, и древние версии UNIX запускаются так, будто они всё ещё живут в семидесятых.

Классические UNIX на современном железе
Классические UNIX на современном железе

BSD-системы и портированные варианты

Помимо оригинальных версий, в проекте доступна 2.11BSD — одна из поздних версий Berkeley Software Distribution для PDP-11, которая вышла уже в конце восьмидесятых и включала множество улучшений от университета Беркли. BSD-системы стали важной ветвью развития UNIX и дали начало таким современным ОС, как FreeBSD, OpenBSD, NetBSD. Также в репозитории есть портированная версия v7 UNIX для архитектуры x86, что позволяет запускать её с помощью QEMU без необходимости эмулировать PDP-11. Это удобно, если хочется получить более высокую производительность и поиграться с системой на более привычном железе.

Как работает эмуляция старых систем

Запуск исторического софта требует воссоздания аппаратной среды той эпохи. Современные процессоры и устройства работают совсем иначе, чем железо пятидесятилетней давности, поэтому приходится использовать специальные программы — симуляторы и эмуляторы, которые имитируют старое оборудование на программном уровне.

Симулятор SIMH для архитектуры PDP-11

SIMH — это симулятор исторических компьютерных систем, который умеет воспроизводить работу десятков моделей старых машин, включая знаменитый PDP-11. Симулятор работает на уровне инструкций процессора: каждая команда, которую выполнял бы реальный чип, воссоздаётся программно. Это медленнее, чем нативное выполнение, но зато абсолютно точно с точки зрения поведения системы. Благодаря SIMH можно не только запустить древние версии UNIX, но и подключить виртуальные терминалы, дисковые накопители и даже сетевые интерфейсы, если захочется поэкспериментировать с сетевыми возможностями тех лет. В контексте run-ancient-unix симулятор уже преднастроен: все конфигурационные файлы и образы дисков идут в комплекте, и система загружается автоматически.

QEMU и поддержка x86

Для портированной версии v7 UNIX на x86 используется QEMU — более универсальный эмулятор, который умеет виртуализировать множество архитектур. QEMU быстрее SIMH, поскольку может использовать аппаратную виртуализацию современных процессоров, и это делает работу с системой более отзывчивой. Версия v7 для x86 — это не оригинальная система, а адаптация, но она сохраняет дух и функциональность классического UNIX, при этом избавляя от необходимости эмулировать PDP-11. Это хороший вариант для тех, кто хочет попробовать винтажные системы, но не готов мириться с медлительностью полной симуляции старого железа.

Установка и запуск: что потребуется

Чтобы начать работать с run-ancient-unix, нужно немного подготовить систему. Хорошая новость — проект кроссплатформенный, и большинство зависимостей легко ставятся через стандартные пакетные менеджеры.

Требования к системе

Для запуска потребуются несколько утилит: симулятор PDP-11 SIMH, эмулятор QEMU, интерпретатор Python для графического интерфейса, Git для клонирования репозитория и пара вспомогательных инструментов. Всё это работает на Linux, FreeBSD, macOS и даже на Windows через WSL или Cygwin, хотя на винде могут быть нюансы. Установка зависимостей занимает пару команд в терминале, а дальше достаточно склонировать репозиторий с GitHub и запустить нужный скрипт. Образы дисков загружаются автоматически при первом запуске, так что даже искать их вручную не придётся. Проект ориентирован на простоту: даже если вы раньше не связывались с эмуляторами, инструкции в README помогут разобраться за десять минут.

Установка зависимостей занимает пару команд в терминале
Установка зависимостей занимает пару команд в терминале

Графический интерфейс на Python

Разработчик добавил в проект Python-скрипт с графическим меню, который упрощает выбор и запуск систем. Открываешь окошко, видишь список доступных версий UNIX, кликаешь на нужную — и система стартует. Никаких команд в терминале запоминать не нужно, всё интуитивно. Это особенно удобно для новичков, которым консольные команды кажутся чем-то страшным. Впрочем, если вы предпочитаете всё делать руками, в репозитории есть и обычные shell-скрипты для запуска каждой системы отдельно. Выбирайте, что больше по душе.

Лицензии и открытость проекта

Один из важных вопросов при работе с историческим софтом — легальность распространения. Старые версии UNIX изначально были проприетарными, но в начале двухтысячных компания Caldera (которая на тот момент владела правами) выпустила древние релизы под открытой лицензией Caldera. Это означает, что образы v1, v5, v7 и других классических версий можно свободно использовать, изучать и распространять. BSD-системы всегда были открытыми, так что с ними проблем вообще нет. Собственные разработки автора — скрипты, интерфейс, конфигурационные файлы — распространяются под BSD-3-Clause, одной из самых либеральных лицензий, которая позволяет делать с кодом практически что угодно, лишь бы упоминался автор. Всё прозрачно, всё законно, никаких пиратских нюансов.

Проект run-ancient-unix — это мостик между прошлым и настоящим компьютерных технологий. Он показывает, что исторические системы не обязательно должны пылиться в архивах и музеях, их можно запустить на современном компьютере и пощупать своими руками. Если вам интересна история операционных систем, эволюция UNIX или просто хочется узнать, как работали программисты до эры графических интерфейсов и мышек — этот репозиторий для вас. Скачивайте, экспериментируйте, делитесь впечатлениями. Древние системы всё ещё могут научить чему-то новому.

Ссылка на источник

🔔 Если статья была полезной, жмите на колокольчик на главной странице канала, чтобы быть в курсе новых публикаций, и подпишитесь, если ещё не подписаны! 📰