В этом посте мы расскажем о трёх операционных системах для персональных компьютеров родом из 1980-х и начала 1990-х — AmigaOS, LisaOS и NeXTSTEP. Некоторые из них сегодня ещё можно найти где-нибудь в виде легаси, некоторые поддерживаются энтузиастами или даже компаниями, но все они, пожалуй, уже покоятся на свалке истории, оставив после себя наследие разных масштабов.
Начнем с операционки, запущенной в 1985 году, когда Apple представила Macintosh. В то время более известной ещё была компания Commodore International. Начинали эти ребята с ремонта и перепродажи печатных машинок, но со временем переквалифицировались. Славу Commodore принес прежде всего персональный компьютер Commodore 64, через три года после выпуска которого Commodore представили новый многообещающий ПК — Amiga.
Его создавала команда из бывших сотрудников Atari, и на Amiga возлагались большие надежды. Он обеспечивал прекрасную для своих лет графику и звук, игры на Amiga выглядели гораздо лучше, чем на ПК конкурентов. По задумке производителя, впоследствии Amiga должен был пошатнуть позиции Apple как создателя компьютеров для творческих людей.
У Amiga была своя операционная система — AmigaOS. В ней реализовали мультизадачность, довольно продвинутую по тем временам функцию, которая была далеко не у всех. В то время для старта второго приложения на ПК обычно требовалось закрыть первое. На AmigaOS в этом не было необходимости: первое приложение просто переходило в режим гибернации и ожидало возврата пользователя, чтобы продолжить работу с того же места.
Также у Amiga был свой AmigaDOS (disk operating system), в котором уже имелся графический интерфейс и доступ к файловой системе, так что в некоторых случаях можно было даже не запускать AmigaOS.
При этом некоторые важные функции в AmigaOS реализованы не были. В ней отсутствовала защита памяти: любой процесс мог взять и занять любой объем памяти, который ему вздумается. Это давало огромный простор для зловредного ПО, которое могло таким образом парализовать всю работу и повредить систему.
Здесь напрашивается страшная история о том, что AmigaOS была уничтожена, когда столкнулась с достаточно расторопными злоумышленниками. Реальность оказалась прозаичней: Commodore начала отставать в гонке ПК, сделала ставку на неудачную консоль Amiga CD32 и к 1993 году столкнулась со спадом продаж, от которого просто не смогла оправиться. В 1994 компания приступила к процедуре банкротства.
Преемником Commodore в работе над AmigaOS стала Hyperion Entertainment, и судя по их сайту, последний фикс для AmigaOS вышел всего год назад! Хотя несколько странно, что фикс затронул AmigaOS 3.2.2, хотя более поздняя версия 4.1 даже красуется на отдельном сайте. Помимо Hyperion Entertainment, вокруг операционки ещё живо небольшое сообщество энтузиастов.
Наличие защиты памяти не спасло другой проект тех лет от гораздо более скоропостижной смерти. Вернёмся к Apple. К концу 1970-х она занимала положение многообещающей компании, в которую явно стоило инвестировать. Но инвесторы делать это побаивались, поскольку руководили Apple ещё совсем молодые Стив Возняк и Стив Джобс. Поэтому в Apple стали появляться новые, более опытные специалисты, которые постепенно забирали у Джобса власть. Одним из них стал инженер Джеф Раскин, предложивший концепцию Apple Macintosh. Хотя она была ещё далека от того, что выпустила Apple в 1984 году, этого было достаточно, чтобы компания сменила вектор и отказалась от проекта Lisa, которым руководил Стив.
Lisa — это персональный компьютер с полноценным графическим интерфейсом WIMP (windows-icons-menu-pointer), который Джобс подглядел в ПК Xerox Alto, созданном в Xerox PARC. К слову, PARC (Palo Alto Research Center) в принципе так или иначе ответственны за множество технологий, без которых невозможно представить современные технологии. Мышь, лазерный принтер, ООП, Ethernet… но нас интересует графический интерфейс.
Lisa, в отличие от Apple II, был ориентирован на бизнес-сегмент и содержал мощный процессор Motorola 68000. В нём не было встроенной защиты памяти, и этот модуль был дополнительно реализован сторонними разработчиками. Из PARC в проект Lisa ушел Ларри Теслер, который впоследствии работал над графическим интерфейсом этой ОС. Здесь он также создал объектно-ориентированную версию языка Pascal — Clascal — которая использовалась в интерфейсе разработчика в системе Lisa. Впоследствии Clascal был развит в Object Pascal.
Интерфейс разработчика был одним из двух интерфейсов, доступных в Lisa. GUI использовался там лишь в текстовом редакторе; основное взаимодействие же осуществлялось по старинке, через клавиатуру. Второй интерфейс Lisa OS был предназначен для конечных пользователей и уже использовал GUI повсеместно.
Lisa получился довольно дорогим компьютером: его цена составляла тогда почти 10 тысяч долларов, что негативно отразилось не только на отзывах прессы, но и на конечных продажах. Конкурент, IBM PC, не предлагал такие возможности интерфейса, но стоил всего $1565, что делало его более привлекательным, чем аналоги Apple и Xerox (их Star, тоже с GUI, продавался вообще по $16 595). При стоимости создания более чем в $150 млн финальные продажи Lisa составили около $100 млн. И внутренняя конкуренция Macintosh и Lisa в Apple, где Джобс примыкал то к одному, то к другому лагерю, завершались победой Macintosh.
За провал Lisa частично ответственны и высокие требования ОС, за которыми не успевал даже Motorola 68000. Lisa поставлялась с собственным пакетом приложений (LisaWrite, LisaCalc, LisaDraw, LisaGraph, LisaProject, LisaList и LisaTerminal), и хотя впоследствии это стало нормой для Apple, тогда это отпугнуло сторонних разработчиков от создания софта для Lisa — ведь всё необходимое в ней вроде бы уже имелось.
Тем не менее проект Lisa подарил Macintosh многие фичи, которые успешно прижились в системах Apple. Например, колоночный интерфейс иерархической структуры директорий, знакомый всем пользователем компьютеров Apple. Первый интерфейс Macintosh в принципе был очень похож на интерфейс Lisa.
Другие фичи Locally Integrated Software Architecture (LISA) дальше него не пошли. Например, «документоцентричный» подход к работе. Каждое приложение в Lisa имело собственный «блокнот», который размещался на рабочем столе отдельно от ярлыка приложения. Чтобы создать новый документ, пользователи отрывали от этого виртуального блокнота листок. Таким образом, пользователь взаимодействовал не с ярлыками, а с блокнотами. Позже этот подход был отчасти возрожден в Apple OpenDoc и Microsoft OLE — технологиях связывания и внедрения объектов в другие документы и объекты.
Не упуская из вида Стива Джобса, вспомним ещё один его проект ОС — NeXTSTEP — которым его компания NeXT занялась после неудачи на рынке аппаратного обеспечения. NeXTSTEP был основан на связке Unix и BSD, для отрисовки графики использовался Display PostScript, рантайм задействовал язык Objective-C, и дополнительно был реализован слой для объектно-ориентированного программирования.
NeXTSTEP сделала ещё больший вклад, чем Lisa, в то, как выглядят современные ОС. Здесь был впервые представлен Dock, ставший впоследствии одним из основных компонентов интерфейса Mac OS. Здесь появился стандарт drag-n-drop, большие и цветастые значки приложений, скроллинг в реальном времени, окна-инспекторы со списком свойств объектов. Именно для NeXTSTEP был написан первый в мире браузер WorldWideWeb, впоследствии переименованный в Nexus. В 1997 году NeXT была куплена Apple, и наработки NeXTSTEP легли в основу Cocoa API и грядущей Mac OS X.