EijT4aOYpqVrdO5h.huge.jpg

В предыдущих четырех частях (12, 3 и 4) мы рассматривали системы, из которых в современную macOS X перешло достаточно немного. В этой же части я хотел рассказать о непосредственных предшественниках macOS X — Mac OS 8 и 9, но между System 7 и ними существовало множество интересных и необычных проектов, так что я решил посвятить им отдельную часть.

Apple AIX

В 90-ых годах существовала достаточно популярная серверная ОС NetWare от Novell, написанная для процессоров Intel x86. Система поддерживала корпоративную многозадачность, а в ее основе лежал стек протоколов XNS (Xerox Network Systems): то есть несколько выделенных серверов подключались в сети друг к другу и использовали объединенное дисковое пространство. 

Компьютеры от Apple же работали на процессорах архитектуры Power, поэтому обе компании занялись портированием NetWare под эту архитектуру, а сам сервер назвали Shiner («Блестяшка»). Продукт был уже почти готов, но Apple заморозила проект. В итоге NetWare так и осталась совместимой только с x86, и из-за своей стабильности (сервера могли работать без вмешательства людей годами) смогла неплохо конкурировать с Windows NT, и дожила аж до 2009 года.

DSC07538.jpg

Но почему Apple заморозила проект? Все просто — было принято решение не отказываться от UNIX и IBM (тем более что эти компании были в одном «союзе»), и несколькими годами позже, в 1996 году, был выпущен Apple Network Server под управлением системы AIX — да, название схоже с A/UX, и системы были несколько похожи — просто A/UX не поддерживала PowerPC, поэтому ей нужна была замена. К слову, было хорошо видно, что Apple экспериментировала с ОС для сервера: так, компания выпустила ограниченное количество ROM SIMM, которые поддерживали Windows NT для PowerPC. Так же были прототипы Network Server, которые умели работать с Mac OS 7.5.

Но в итоге сервер вышел все же с AIX, и был спорным продуктом: с одной стороны, он работал под управлением достаточно продвинутой системы (в которую все же перекочевали несколько «фишек» NetWare): тут и вытесняющая многозадачность, поддержка множества сетевых протоколов, RAID-массивов, LVM, многопоточности и прочих серверных «наворотов». Также был выбор между командной строкой и графическим интерфейсом AIXwindows или CDE. Из минусов — не было поддержки софта для Mac OS, однако с учетом серверной направленности не так он и нужен был. 

2672488763_2dc3a15998.jpg

Работал сервер под управлением PowerPC процессоров с частотами в 133-200 МГц, а максимальный объем ОЗУ мог составлять внушительные 512 МБ — заоблачные цифры для обычных ПК в 1996 году, которые обычно оснащались десятком-двумя мегабайт памяти. По слотам расширения тоже был полный порядок: это 6 PCI, 6 слотов для SCSI жестких дисков и один CD-ROM. Забавный факт — даже в серверах Apple не смогла отказаться от дисплея, правда тут он был совсем маленьким и выводил только информацию о состоянии сервера.

Стоимость сервера начиналась от 11 тысяч долларов — немало для ПК, вполне обычно для сервера, но все же дороговато за такое «железо». В итоге всего через год и одно обновление из-за значительных финансовых проблем в Apple в 1997 году проект был закрыт, а само серверное направление названо малоперспективным. В итоге на рынок серверов Apple вернется лишь спустя 5 лет, выпустив Xserve уже на достаточно привычной Mac OS X Server.

Разброд в 90-ых

В начале 90-ых Microsoft смогла выпустить отличную систему Windows 3.1 — и от Apple ожидался серьезный ответ. System 7 была хорошей системой, но было понятно, что чтобы потягаться, к примеру, с Windows 95, нужно что-то гораздо лучше. 

И Apple стала... банально метаться: попытка сделать что-то компактное на ARM-процессоре — КПК Newton — провалилась. Даже с ОС для серверов, которые крайне неохотно и медленно следуют современным тенденциям, Apple определилась далеко не сразу, ну а уж с будущей системой для обычных Macintosh вообще творился тихий ужас.

Star Trek

В Apple отлично понимали, что процессоры от Intel временами были существенно лучше решений на архитектуре Power, так что некоторое время существовал проект совместно с Novell (да-да, с компанией, которая портировала свою серверную ОС в обратную сторону, на PowerPC — оцените масштабы «разброда» в компании) по переносу Mac OS на архитектуру x86. Работа кипела, и все шло хорошо, но в итоге проект все равно был закрыт — Apple решили держаться за IBM, да и наработок по Power было жалко. Так что все могло пойти по-другому, и Apple могла перейти на x86 на десяток лет раньше.

Raptor и NuKernel

Проект Raptor был явно футуристичным — по задумке, он не был привязан к определенной архитектуре, и имел ядро, называемое NuKernel, которое могло работать на чем угодно. В систему хотели включить наработки по Star Trek и System 7, но проект из-за урезаний бюджета и слишком большого количества проблем был закрыт.

TalOS

Один из здравых проектов Apple в то время (возможно, потому что развивался вместе с IBM?), но все еще неудачный и полностью закрытый в 1998 году. Но для того, чтобы о нем поговорить, нужно вернуться несколько назад, в 1988 год.

Уже тогда, во времена System 6, ключевые инженеры компании понимали, что развитие софта идет куда-то не туда, и с этим нужно что-то делать. Все идеи писались на карточках разных цветов: на синих были проекты, которые можно было достаточно быстро реализовать в следующих релизах, на розовых — далекие идеи и наброски будущих проектов.

В итоге новую ОС, «основанную» на розовых карточках, назвали, ожидаемо, Pink. Система была объектно-ориентируемой — то есть вместо того, чтобы рассматривать ее как единое целое, она представлялась как группа объектов с определенными свойствами и задачами, что сильно упрощало работу с ней. Писать ее решили на C++, к тому же она должна была иметь новое микроядро и графический интерфейс.

Но, как это обычно бывает, задумки на будущее растягиваются очень надолго: если System 7 с идеями на синих карточках вышла в 1991 году и была хорошей системой, то проект Pink тогда же не имел даже рабочего билда. Тогда Apple решила вновь объединиться с IBM, создав компанию Taligent, чтобы вместе сделать хорошую ОС для PowerPC.

Tallogo3.gif

В итоге разработка пошла куда-то не туда, и вместо системы появилась кроссплатформенная среда разработки CommonPoint, которая работала на AIX, HP-UX, Windows 95 и NT, ну и на IBM OS/2 — но никак не на System 7. Писать NuKernel времени уже не было, поэтому взяли готовое ядро Mach 3.0 (по иронии, именно на нем же было основано ядро Darwin, которое легло в основу современных iOS и macOS). В итоге получилась TalOS — полностью объектно-ориентируемая система, от начала и до конца состоящая из модулей.

Модули в TalOS назывались фреймворками, и они были абсолютно везде: и для текста, и для документов, и для интерфейса, графики, шрифтов, печати, и даже таких низкоуровневых вещей, как сетевые протоколы и драйвера. Разумеется, такая система была не одна — фреймворки приложений имела и NeXTSTEP, но все еще она использовала процедурные системные вызовы UNIX для взаимодействия с библиотеками низкого уровня, то есть была привязана к ОС. CommonPoint же предлагала писать программы вообще без использования каких-либо API операционной системы.

Но все это было готово лишь к 1995 году — при этом, во-первых, у Apple все еще не было NuKernel. Во-вторых — непонятно, как сделать поддержку софта с System 7 — все же это пользовательская ОС, и о legacy как в случае с серверами забывать нельзя. В-третьих, IBM активно развивает свою систему OS/2, откровенно портируя на нее CommonPoint. Ну и наконец — выходит Windows 95, которая просто на голову выше System 7. Поэтому Apple, понимая, что копаться в TalOS можно еще лет эдак 5 и при этом полностью отдать рынок на растерзание Microsoft, выходит из проекта.
12defiantdemo2.JPG
IBM, которым тоже эта ОС была не особо-то нужна, еще несколько лет вяло ее развивает (дабы перенести наработки в OS/2), и окончательно закрывает компанию в 1998 году. В итоге на проект Pink были потрачены множество ресурсов и целых 10 лет — и почти все в пустую. Единственное — некоторые наработки потом стали использовать в Mac OS, но все еще игра свеч не стоила.

Copland

appearence.png

Надо отдать должное Apple — понимая, что в проекте TalOS они могут «застрять» надолго, в 1994 году они анонсируют новую Mac OS (кодовое название проекта — Copland). Обещаний было много, и в основном это внедрение всего самого лучшего, что сделала в своих ОС Apple за все время их существования, ну и, разумеется, обещание «подвинуть» Microsoft с их Windows. Изменений должно было быть много, и были они достаточно радикальными:
  • Полный переход на PowerPC. Понимая, что метаться можно долго, в пользовательском сегменте компания решила четко придерживаться именно этой архитектуры.
  • Взаимодействие с Windows (и MS-DOS). В Apple отлично понимали, что огораживаться от всего мира не стоит, и разрабатывали возможность интеграции с системами от Microsoft. Конечно, говорить о запуске софта с Windows не приходилось, но хотя бы быстрое портирование драйверов и совместные сетевые протоколы были нужны.
  • Улучшение всех стандартных программ, таких как QuickDraw, ColorSync, PowerTalk и PowerShare.
  • Максимально полная поддержка интернета. Windows, разумеется, умела работать с интернетом, но это была, скорее, дополнительная опция. Apple же четко нацелилась на максимально быструю и удобную настройку сети и хороший браузер с поддержкой всех стандартов.
  • Создание многопользовательской системы. Такие попытки были и раньше, но реализация хромала — например, даже создания общих пользовательских папок не было. Copland же должна была иметь максимально быстрое и удобное переключение между пользователями.
  • Лицензирование Mac OS. Достаточно отчаянный шаг для борьбы с монополией Windows — разрешить другим производителям использовать систему от Apple. Для этого предлагалось сделать слой абстракции от «железа» (HAL).
  • Микроядро NuKernel. Apple все никак не оставляла попыток создать собственное ядро.
  • Поддержка мультипроцессорных систем и вытесняющей многозадачности, а также защиты памяти и улучшенной работы с виртуальной памятью.
  • Гибкий механизм обновления системы.
  • Вынесение некоторых сервисов, таких как драйвера сети, ввода-вывода и файловых систем, из ядра. Это позволит его существенно облегчить, а также даст совместимость с большим количеством устройств.
opendoc.png

Как видно, планы были еще более амбициозными, чем с TalOS — а ведь тянуть Copland Apple должна была одна. В итоге в начале 90-ых проект достаточно быстро развивался, но потом стал буксовать. Выпустили несколько сырых билдов для разработчиков драйверов, по пути «забыв» про защиту памяти. В итоге вместо обещанного в 1996 году релиза проект был окончательно закрыт. Джил Амелио, который был тогда CEO Apple, сказал, что Copland по сути был набором кусочков софта от разных разработчиков, и ждать, что они волшебным образом соберутся в одно целое, было несколько странно. При этом он пообещал, что разработки Copland войдет в следующие системы от Apple — и тут он не наврал.

BeOS

Неудача Copland была почти что катастрофой, ибо времени на создание новой ОС не было, а та же Microsoft уже вполне довела изначально сырую Windows 95 до ума. Все было настолько плохо, что в Apple всерьез рассматривали возможность выпуска системы на базе Windows NT. Увы — не срослось, как и с Sun Solaris. А вот с BeOS все почти удалось.

Систему создал Жан-Луи Гассе, раньше работавший в Apple (да, история со Стивом Джобсом и NeXTSTEP была не единственной), причем он смог нанять команду достаточно толковых инженеров. В итоге система умела работать и с PowerPC, и с x86, имела продвинутую файловую систему с метками, мультизадачность, многопроцессорность, простой и удобный пользовательский интерфейс, и даже защита памяти была — прям как в Copland было обещано. Но вот ее выход на рынок откладывался: были некоторые проблемы с сетью и принтерами, набор приложений был невелик, да и в целом систему нужно было еще «полировать». 

ec314a91e0fa647bf39f421e541dd801.png

Apple предложила за систему 50 миллионов долларов — хорошая сумма, с учетом того, что сам Гассе вложил в Be около 20 миллионов. Но, зная о том, что у Apple по сути нет выхода, последний попросил за ОС больше 500 млн. Торги шли долго, и в последней суммой Apple было 200 млн, и Гассе почти согласился, но в последний момент запросил 275 млн, и Apple отказалась. Увы — дальнейшая судьба BeOS была незавидной: конкуренцию Windows она проиграла, и в 2002 году была куплена Palm за всего 11 млн долларов.

А что же Apple? Через год они покупают NeXTSTEP, Джобс возвращается в компанию, еще через год становится CEO и закрывает абсолютно все сомнительные проекты. Под его началом выходит Mac OS 8, собранная из кусков кода Copland и NeXTSTEP, но об этом — в следующей части.