В 1985 году Стив Джобс ушел из Apple и основал NeXT Inc., чтобы затем выпустить на рынок NeXT Computer. Можно сказать, что устройство опередило своё время, так как обладало удивительными возможностями. Во многом — благодаря операционной системе NeXTSTEP, которую активно использовал в ЦЕРН Тим Бернерс-Ли, создатель всемирной паутины. Позже NeXTSTEP превратился в OpenStep, и когда Apple приобрела NeXT в 1997 году, они использовали его в качестве основы для Mac OS X и iOS. Если вы занимались программированием для Mac или iOS, то наверняка видели отголоски NeXTSTEP. NSObject, NSString, NSDictionary и многие другие типы данных получили свои названия благодаря NeXT (NS = NeXTSTEP). Компьютеры NeXT стоили примерно как новая машина, поэтому были недоступны большинству людей. Каково это — пользоваться топовой системой в начале 90-х? Давайте создадим свой NeXT, чтобы узнать это! Вам понадобится: Компьютер, на котором можно запустить VirtualBox VirtualBox - загрузите его для своей системы и получите пакет расширений. ISO-образы OPENSTEP и образы дискет, вы можете найти их на http://openstep.bfx.re/ Выберите OPENSTEP 4.2 User для Intel, установите диск Floppy Image, Drivers Floppy Image и сетевой драйвер + Patch 4 Bundle.  После извлечения zip-файлов floppyimage переименуйте образы из .floppyimage в .img.  (опционально) NeXT Keyboard и Mouse, а также USB-адаптер. Вы можете собрать его самостоятельно, следуя инструкциям, или выбрать адаптер NeXT2USB от Drakware. К счастью для экспериментаторов, OpenStep был разработан для многих платформ, включая x86, что означает, что мы можем запускать его на виртуальной машине в современной системе x86.  Установите Virtualbox и пакет расширений, затем откройте его и создайте новую виртуальную машину. Дайте название своей виртуальной машине Тип: Other, Other/Unknown Оперативная память: 128 МБ Выберите Create a virtual hard disk now Нажмите «Создать», и вам будут заданы еще несколько вопросов о жестком диске. Нам нужны эти настройки: VDI Динамически распределяется 2 ГБ Далее выберите виртуальную машину и нажмите «Параметры». OpenStep довольно старый, поэтому для его работы требуются дополнительные настройки. Дисплей Видеопамять: 64 МБ Графический контроллер: VMSVGA Не надо ставить ни одного флажка «ускорителей»  Хранилище В разделе Controller: IDE щелкните значок CD. Измените его с IDE Secondary Master на IDE Primary Slave. Теперь щелкните значок компакт-диска со стрелкой на нем, чтобы выбрать образ компакт-диска.  Найдите и выберите Openstep-4.2-Intel-User.iso Далее нужно добавить контроллер гибких дисков. Да, эта система работала до того, как началась эпоха CD! Она также не знала, что такое USB, его не существовало, когда появился NeXTSTEP. Нажмите кнопку Add New Controller («Добавить новый контроллер») и выберите Add Floppy Controller («Добавить контроллер гибких дисков»). Щелкните диск со знаком плюса рядом с новым контроллером и выберите диск. Нажмите Add, найдите 4.2_Install_Disk.img и добавьте его, затем выберите его в списке и подтвердите выбор, нажав Choose Вам нужно будет переименовать образы дискет .floppyimage в .img, чтобы Virtualbox мог их использовать. Теперь ваша страница хранилища должна выглядеть так: Пперейдите в Audio и выберите SoundBlaster 16 для Audio Controller. Если вы хотите изучить сеть, перейдите на вкладку «Сеть» и выберите Attached to: Bridged Adapter. Виртуальная сетевая карта в виртуальной машине будет действовать как настоящая и отображаться как отдельное устройство в вашей сети. Вам также необходимо нажать Advanced и выбрать Тип адаптера: PCnet-PCI II (Am79C970A). На странице USB стоит снять флажок Включить USB-контроллер, поскольку эта ОС ничего про USB не знает. Виртуальная машина настроена, давайте установим OpenStep! Нажмите Start, чтобы начать загрузку. Идёт загрузка. Вы можете подождать или нажать Enter. Выберите свой язык и нажмите Enter, чтобы продолжить. Введите 1 и нажмите Enter, чтобы начать установку. Для неё нам понадобятся дополнительные драйверы. Вставляем диск с драйверами. Сначала вам нужно удалить установочный диск, поэтому перейдите в меню Devices («Устройства»), Floppy Drives («Дисководы») и Remove the disk («Извлеките диск»). Теперь перейдите в то же меню и выберите образ диска, затем найдите 4.2_Custom_Driver_Disk.img. Теперь, когда у нас есть диск с драйверами, можно нажать Enter, чтобы продолжить. NeXTSTEP изначально поддерживал только устройства SCSI, но наша виртуальная машина использует IDE. Введите 7 и нажмите Enter, чтобы увидеть еще несколько драйверов и найти тот, который нам нужен. Вот оно! #5 — это тот контроллер устройств EIDE и ATAPI, который нам нужен. Введите 5 и нажмите Enter. Вы снова увидите тот же экран. Мы только что настроили CD-привод, теперь нужно установить драйвер для жесткого диска. Экран вам уже знаком, так что для установки драйвера EIDE введите 7 и нажмите Enter, затем 5 и снова Enter. Мы закончили с драйверами, поэтому при появлении запроса введите 1, чтобы продолжить установку без дополнительных драйверов. Система загрузится с ядром Mach и продолжит установку. Хорошо, продолжаем! Введите 1 и нажмите Enter для установки, затем введите 1, чтобы использовать весь диск для OpenStep. Введите 1, нажмите Enter и подождите, пока он скопирует все необходимые файлы. Извлеките дискету (Devices, Floppy Disk, Remove Disk) и нажмите Enter для перезагрузки. Система снова попросит у вас диск с драйверами, так что смонтируйте дискету и продолжайте. Ожидайте, глядя на загрузочный экран OpenStep. Появится несколько предупреждений, требующих вставить диск с драйверами. Мы уже вставили дискету с драйверами, поэтому просто нажмите OK. Далее мы увидим перечень устройств. Пока не будем ничего менять, потому что нам нужно установить патч, поэтому просто нажмите «Сохранить» и «Все равно сохранить» (Save и Save Anyway). Вы можете снять флажки с языков, которые вам не нужны, но стоит оставить все остальные пакеты, чтобы проверить их. Нажмите «Установить». Полоса внизу — это ваше дисковое пространство, а не индикатор выполнения, поэтому дождитесь окончания установки. Это займет некоторое время и завершится уведомлением о том, что установка выполнена успешно. Но не спешите перезагружаться! В Virtualbox есть полезная функция под названием Snapshot, которая позволяет вам в любой момент сделать снимок виртуальной машины, а затем вернуться к нему позже. На этом этапе мы можем сохранить наш прогресс. Чтобы потом, если что-то пойдет не так, вернуться к только что установленной системе, не устанавливая все заново. Вы также можете использовать снапшот для другой виртуальной машины, чтобы создать другую систему OpenStep. Перейдите в меню машины и сделайте снапшот. Дайте ему имя и нажмите ОК. Теперь можно нажимать Restart («Перезагрузить»). На заключительном этапе настройки вы можете выбрать язык и раскладку клавиатуры. Для стандартной qwerty-клавиатуры вам понадобится раскладка США. Если вы используете клавиатуру NeXT с адаптером, вам все равно понадобится этот же вариант, потому что адаптер сопоставляет ваши клавиши со стандартными USB-клавишами. Подтвердите свой выбор. Поздравляем, у вас есть система OpenStep! Вы можете получить предупреждение о том, что дискета не читается. В этом случае нажмите кнопку Eject («Извлечь»), а затем «ОК» при следующем появлении предупреждения.  Всё вроде круто, но наш экран крошечный и монохромный. Чтобы стало лучше, установим правильные драйверы. Но сначала давайте посмотрим, как устроен рабочий стол. Меню находится не вверху, как в macOS и не внизу, как в Windows. Оно слева. Меню может меняться в зависимости от активной программы, сейчас мы находимся в Рабочей области. Иконки справа напоминают Dock в macOS, вы можете добавлять свои любимые программы и запускать их оттуда. Давайте установим последний патч и запустим нужные драйверы. Выберите меню «Диск», затем Eject («Извлечь»), чтобы извлечь установочный CD. Меню будет оставаться открытым, пока вы снова не нажмете «Диск». Теперь перейдите в Devices menu («Устройства») VirtualBox, найдите там optical drives, выберите образ диска и укажите образ ne2k+os42patch4+vmwarefb.iso. Вы должны увидеть CD NEXT_STUFF. На этом этапе можно изменить размер окна просмотрщика файлов, настроив его под себя Нам нужен файл os42machuserpatch.tar, чтобы распаковать его в нашей системе. Нажмите и перетащите его на иконку Me, чтобы скопировать файл в домашнюю папку. Здесь нет диалогового окна копирования, способного показать прогресс. Но в правой части окна появится слово copying. Оно исчезнет, когда закончится копирование. Перейдите в папку Me и дважды кликните по файлу os42machuserpatch.tar. Выберите Unarchive («Распаковать»). Индикатора прогресса здесь тоже нет, но всё работает, подождите. На экране появится файл со знаком вопроса. По завершению распаковки он будет выглядеть, как на картинке ниже, с красивым значком картонной коробки. Теперь можно безопасно закрыть архиватор Archive Inspector (нажмите X в правом верхнем углу). Теперь пора запустить файл с патчем, но для этого нам нужны привилегии. OpenStep основан на BSD Unix, поэтому у него есть учетные записи пользователей и разрешения, как в современных системах. Чтобы запустить файл как root, мы воспользуемся сервисом OpenSesame. Выберите файл OS42MachUserPatch4.pkg, затем перейдите в меню «Службы», «OpenSesame» и «Открыть как корневой» (Services menu, OpenSesame, затем Open As Root). Система запросит пароль, но мы его еще не установили, поэтому оставьте поле пустым и нажмите Enter. Теперь вы можете нажать «Установить», чтобы начать установку патча. Нажмите «Продолжить» в окне с предупреждениями. Когда появится сообщение «Установка завершена», вы можете нажать «Выход» слева (или воспользоваться сочетанием клавиш Alt или Option + Q). Разлогиньтесь, затем выключите питание. Когда появится сообщение о том, что выключение безопасно, перезагрузите машину (меню Virtualbox Machine, Reset). Как только система загрузится, мы снова получим надоедливое сообщение о дискете, нажмите «Извлечь», а затем «ОК», чтобы перейти дальше. Перейдите в приложение Configure, кликнув по иконке компьютера, а затем открыв папку NextAdmin. Выберите Configure.app и запустите его. Кликните на монитор, затем выберите VESA VBE 2.0 Display Driver и нажмите Add («Добавить»). В разделе Display Mode («Режим отображения») нажмите Select («Выбрать») и найдите вариант 1024x768 RGB: 888/32. Нажмите ОК. Нажмите на глобус, выберите драйвер AMD PCNet-32 PCI Ethernet. Нажмите на динамик и выберите Sound Blaster 16 PnP. Нажмите «Сохранить», а затем «Выйти». Теперь давайте исправим надоедливое сообщение о дискете. Нажмите «Выйти», затем выключите питание. После безопасного отключения питания перейдите в меню «Файл», «Закрыть» и «Выключите устройство» (File, Close, затем Power off). Зайдите в Settings («Настройки») виртуальной машины, затем Storage («Хранилище»), кликните по контроллеру гибких дисков («floppy controller») и удалите его. Теперь снова запустите виртуальную машину. Вас должен встретить ярко-синий стартовый экран с более высоким разрешением. Так намного лучше! Подходящей сети для NeXT не будет, поэтому нажмите Ctrl + C, чтобы стартовать без неё. Снова перейдите к NextAdmin, затем запустите SimpleNetworkStarter. Выберите Use the network («Использовать сеть»), но не предоставляйте права администратора. Выберите имя хоста и статический IP-адрес в вашей сети.  Вы можете настроить другие параметры в приложении настроек, дважды кликнув по значку часов и календаря в Dock. Вы также можете установить время и дату, он даже поддерживает Y2K! Мышь, вероятно, будет работать неправильно, если вы не используете оригинальную клавиатуру и мышь NeXT. Мыши PS/2 и USB созданы для больших значений своих движений, чем использовались NeXTSTEP и OpenStep, поэтому они будут казаться очень быстрыми, и вам придется тренироваться, чтобы медленно перемещать курсор.