Открыть сервис

NeXTSTEP

NeXTSTEP — это объектно-ориентированная многозадачная операционная система, разработанная компанией NeXT Inc. (основана Стивом Джобсом в 1985 году). Система была создана для работы на компьютерах NeXT и отличалась передовым для своего времени графическим интерфейсом, ядром на основе микроядра Mach и широким использованием языка программирования Objective-C. NeXTSTEP стала технологической основой для macOS, iOS, watchOS и tvOS, а также оказала значительное влияние на развитие современного программного обеспечения.

История

Предпосылки и создание

После ухода из Apple Computer в 1985 году Стив Джобс основал компанию NeXT, целью которой было создание компьютера для высшего образования и научных исследований. Для новой платформы требовалась операционная система, способная реализовать амбициозные задачи. Команда разработчиков, в которую вошли ветераны из Carnegie Mellon University и других проектов, решила не создавать систему с нуля, а взять за основу ядро Mach (разработанное в CMU) и компоненты из BSD Unix. Это обеспечило совместимость с Unix-стандартами и многозадачность.

Первая версия, NeXTSTEP 0.8, была продемонстрирована в 1988 году, а коммерческий релиз NeXTSTEP 1.0 состоялся в 1989 году. Система поставлялась с компьютером NeXTcube.

Развитие и версии

  • NeXTSTEP 1.0 (1989): Первая коммерческая версия. Включала Display PostScript для рендеринга графики, объектно-ориентированное окружение (Workspace Manager) и набор инструментов для разработки.
  • NeXTSTEP 2.0 (1990): Добавлена поддержка цветного дисплея, улучшена производительность.
  • NeXTSTEP 3.0 (1992): Значительное обновление, включавшее поддержку сетей, улучшенную работу с памятью и новые приложения.
  • NeXTSTEP 3.3 (1993): Последняя версия для оригинальных компьютеров NeXT. Выход на рынок x86-совместимых ПК.
  • NeXTSTEP 4.0 (1994): Версия для процессоров Intel x86 и PA-RISC (HP). Включала поддержку многопроцессорности и улучшенную интеграцию с сетями.
  • NeXTSTEP 4.2 (1995): Последняя версия перед приобретением NeXT компанией Apple. Включала поддержку Java и улучшенную совместимость с Windows.

Приобретение Apple и наследие

В 1996 году Apple Computer, испытывавшая финансовые трудности и неудовлетворённая развитием собственной операционной системы Copland, приобрела NeXT за 429 миллионов долларов. Стив Джобс вернулся в Apple в качестве советника, а NeXTSTEP стала основой для новой операционной системы Apple — Rhapsody, которая впоследствии эволюционировала в Mac OS X (с 2001 года). Технологии NeXTSTEP (Objective-C, Cocoa, Display PostScript, Core Graphics) легли в основу современных платформ Apple.

Архитектура

NeXTSTEP была построена на гибридном ядре, сочетающем микроядро Mach и сервисы BSD Unix.

Ядро и подсистемы

  • Микроядро Mach: Отвечало за управление памятью, межпроцессное взаимодействие (IPC), планирование потоков и поддержку многопроцессорности. Mach обеспечивал абстракцию от аппаратного обеспечения.
  • Сервисы BSD: Реализовывали файловую систему, сетевой стек (TCP/IP), управление процессами, пользователей и группы, а также стандартные утилиты Unix.
  • Display PostScript (DPS): Система рендеринга графики, основанная на языке PostScript. DPS обеспечивала аппаратно-независимое отображение текста, линий и изображений, а также поддерживала масштабирование и поворот. Это позволяло создавать интерфейсы с высокой точностью и плавностью.
  • Workspace Manager: Графическая оболочка, управлявшая файлами, окнами, приложениями и рабочим столом. Она предоставляла пользователю объектно-ориентированный интерфейс (например, файлы можно было перетаскивать, а приложения — запускать из папок).

Объектно-ориентированная среда

Ключевой особенностью NeXTSTEP была её объектно-ориентированная архитектура на всех уровнях:

  • Язык Objective-C: Расширение языка C, добавляющее объектно-ориентированные возможности (классы, наследование, полиморфизм, динамическую типизацию). Почти все системные библиотеки и приложения были написаны на Objective-C.
  • Фреймворки (Kit): NeXTSTEP включала два основных фреймворка:
  • Application Kit (AppKit): Набор классов для построения графического интерфейса (окна, кнопки, меню, текстовые поля, таблицы).
  • Foundation Kit (Foundation): Базовые классы для работы с данными (строки, массивы, словари, даты, файлы).
  • Interface Builder: Визуальный инструмент для проектирования интерфейсов. Разработчик мог создавать окна и элементы управления, перетаскивая их мышью, а затем связывать с кодом на Objective-C. Это значительно ускоряло разработку.

Пользовательский интерфейс

Интерфейс NeXTSTEP был минималистичным и функциональным, что отличало его от современных ему Windows 3.1 и Mac OS 7.

  • Dock: Панель в нижней части экрана, содержащая иконки часто используемых приложений, документов и корзины. Dock позволял быстро запускать программы и переключаться между ними.
  • Workspace Manager: Окно, отображавшее файловую систему в виде иерархического списка или иконок. Файлы можно было открывать двойным кликом, перетаскивать, копировать и удалять.
  • Окна: Окна приложений имели стандартные элементы: заголовок, кнопки закрытия, сворачивания и изменения размера. В отличие от многих систем того времени, NeXTSTEP не использовала кнопки в углах окон — все элементы управления располагались в строке заголовка.
  • Меню: Меню приложений были вынесены в верхнюю панель экрана, а не в каждое окно (как в Mac OS). Это экономило место и упрощало навигацию.
  • Цвет и шрифты: Система поддерживала 256 цветов (в ранних версиях) и TrueType-шрифты. Интерфейс был монохромным (серый фон, чёрный текст), что подчёркивало его строгость.

Применение

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

  • Научные исследования: Благодаря мощной объектно-ориентированной среде и поддержке Unix, NeXTSTEP применялась для разработки сложных научных приложений, симуляций и обработки данных.
  • Разработка программного обеспечения: NeXTSTEP была популярна среди разработчиков, создававших коммерческие приложения. На ней были написаны такие программы, как WorldWideWeb (первый веб-браузер, созданный Тимом Бернерсом-Ли), Doom (игра, портированная на NeXTSTEP), и многие другие.
  • Образование: Компьютеры NeXT и NeXTSTEP поставлялись в университеты (например, в Carnegie Mellon, Stanford, MIT) для обучения программированию и компьютерным наукам.
  • Веб-серверы: NeXTSTEP использовалась для запуска первых веб-серверов. Например, первый веб-сервер в мире (на CERN) работал на NeXTcube.

Влияние на современные технологии

NeXTSTEP оказала фундаментальное влияние на современные операционные системы и программное обеспечение.

  • macOS и iOS: Ядро XNU, фреймворки Cocoa (AppKit и Foundation), язык Objective-C и Swift, а также многие концепции интерфейса (Dock, Launchpad, Mission Control) напрямую происходят из NeXTSTEP.
  • Objective-C: Язык программирования, ставший основным для разработки под macOS и iOS до появления Swift.
  • Display PostScript: Технология, эволюционировавшая в Core Graphics (Quartz) в macOS.
  • Interface Builder: Идея визуального проектирования интерфейсов была перенесена в Xcode.
  • OpenStep: Стандарт, разработанный NeXT совместно с Sun Microsystems, который описывал объектно-ориентированную операционную систему. OpenStep стал основой для GNUstep (свободной реализации) и повлиял на развитие CORBA и других технологий.

Интересные факты

  • Первый веб-браузер WorldWideWeb был создан Тимом Бернерсом-Ли на компьютере NeXTcube под управлением NeXTSTEP.
  • Игра Doom была портирована на NeXTSTEP самим Джоном Кармаком.
  • Стив Джобс назвал NeXTSTEP «лучшей операционной системой в мире» и утверждал, что она опередила своё время на 10 лет.
  • NeXTSTEP была одной из первых операционных систем, поддерживавших TrueType-шрифты.
  • Система поставлялась с набором инструментов для разработки, включавшим компилятор GCC, отладчик GDB и библиотеку libc.

Источники

  • «Steve Jobs» by Walter Isaacson
  • «NeXTSTEP: The Operating System That Changed the World» by Amit Singh
  • «The NeXT Book» by Dan Shafer
  • Документация NeXTSTEP 3.3 (NeXT Developer Library)
  • История компании NeXT (Wikipedia)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →