История операционных систем Apple. Часть 5

История операционных систем Apple. Часть 1
История операционных систем Apple. Часть 2
История операционных систем Apple. Часть 3
История операционных систем Apple. Часть 4

В начале 1990-х Apple начала прилагать огромные усилия к тому, чтобы полностью обновить свою операционную систему. Проект Blue, о котором мы рассказывали в предыдущей статье нашего цикла, впоследствии эволюционировал в операционную систему под названием System 7.

История операционных систем Apple. Часть 5. Фото.

System 7

Когда в 1991 году вышла System 7, она представляла собой гигантский скачок вперед относительно предыдущих версий операционных систем для Macintosh. В число основных ее функций входили следующие:

  • Встроенный MultiFinder
  • Встроенные сетевые службы (посредством AppleTalk) и службы обмена файлами (посредством AppleShare)
  • Поддержка работы с 32-битной памятью
  • Использование виртуальной памяти

Первый Macintosh с блоком управления памятью (MMU) был выпущен в 1987 году, назывался Macintosh II. И System 7 стала первой операционной системой, которая воспользовалась преимуществами его наличия. Такие функции виртуальной памяти, как защищенные пространства адресов, файлы, отображаемые в памяти, блокировка страниц, общая память, в данной системе использованы не были. Кроме того, стоит отметить, что Macintosh II стал первым компьютером Macintosh, поддерживающим цветную графику. Благодаря использованию цветной карты Apple, Mac II мог отображать 8-битный цвет при разрешении 640 x 480 пикселе и поддерживать 256 цветов из палитры в 16 миллионов цветов.

История операционных систем Apple. Часть 5. System 7. Фото.

С выходом System 7 впервые появились такие технологии как AppleScript (макроязык на системном уровне для автоматизации задач), ColorSync (система управления цветом), PowerTalk (программа для совместной работы и использования электронной почты), QuickTime (мультимедийное приложение для просмотра, копирований и вставки видео, анимаций, изображении и аудиофайлов), TrueType (шрифтовая технология) и WorldScript (поддержка нескольких языков на уровне системы). Тем не менее, с выходом первой версии System 7 эти приложения не были интегрированы в систему.

System 7 обладала несколькими усовершенствовании в области удобства использования. Пользователи могли видеть запущенные приложения и переключаться между ними с помощью специального меню. Корзина обладала тем же статусом, что и любая другая папка, и теперь должна была заранее опустошаться. Текст отныне можно было перемещать из одного приложения в другое (в дополнение к функции копирования и вставки). Панели управления и расширения были упорядочены на диске в иерархическом порядке. Однако даже несмотря на эти улучшения, System 7 по-прежнему обладала лишь совместной многозадачностью и не имела защиты памяти.

В то время Apple сформировала альянс с компаниями IBM и Motorola, в рамках которого в планах по развитию аппаратного обеспечения Apple появились процессоры PowerPC. Для реализации этой задачи требовались фундаментальные изменения в структуре операционной системы Macintosh.

AIM и POWER

Большое внимание, уделявшееся тому, чтобы приблизить компьютер по своей архитектуре к программным средам более высокого уровня, привело к использованию очень сложных процессоров. В то же время позитивные моменты простоты конструкции компьютеров были очевидны даже для таких людей как инженер Сеймур Крэй (Seymour Cray) еще в начале 1960-х. Его суперкомпьютер CDC 6600, как и модель CRAY-1, были компьютерами с ограниченным набором команд (RISC), хотя этого термина тогда еще не существовало. При этом данное обозначение подразумевало не только более малое количество команд. Архитектуры RISC обычно используют загрузку/сохранение, основаны на реестре, используют команды с фиксированным форматом, имеют эффективную систему конвейерной обработки данных, требуют относительно малых процессорных циклов на команду и т.д. Стоит также отметить, что различия между машинами с ограниченным и полным набором команд с годами становились все более размытыми.

В 1975 году IBM начала разработку архитектуры RISC под названием 801, a в начале 1980-х университеты Беркли и Стэнфорд начали работать, соответственно, над проектами RISC и MIPS (компьютер с миллионом команд в секунду). К 1990 году на рынке появилось несколько конкурирующих архитектур RISC, в числе которых MIPS, HP Precision Architecture (PA-RISC), SPARC V8, Motorola 88k, IBM RS/6000 и так далее. В RS/6000  была реализована архитектура RISC второго поколения, получившая название POWER.

Что касается Apple, то в свое время в рамках проекта под кодовым названием Jaguar она пыталась использовать процессор Motorola 88k в качестве новой платформы на базе RISC. Идея обернулась провалом, и впоследствии было решено использовать PowerPC.

История операционных систем Apple. Часть 5. AIM и POWER. Фото.

В 1991 году Apple, IBM и Motorola объединили усилия и создали альянс AIM Alliance, целью которого была разработка общей аппаратной платформы CHRP. В результате сотрудничества компании была создана архитектура PowerPC. Первым процессором PowerPC стал 601, который включал в себя большинство команд POWER. PowerPC был спроектирован как 64-битная архитектура, которая должна была динамично переключаться между 64- и 32-битным режимами. В действительности архитектура имела только 32-битную подсистему, как и все остальные процессоры PowerPC, которые Apple использовала до перехода на G5. В компьютерах Apple процессор PowerPC просуществовал достаточно долго. Примечательно, что платформа CHRP подразумевала, что процессоры PowerPC могли использоваться и на компьютерах других компаний. Показательным фактом является то, что существовала даже версия Windows NT для PowerPC.

ARM

В начале 1990-х Apple активно пыталась занять значимое место в сегменте вычислений RISC. Еще в середине восьмидесятых компания Acorn Computer Group разработала первый в мире коммерческий RISC-процессор, получивший название ARM1. Еще до вступления в AIM Alliance Apple успела посотрудничать с Acorn и учредить новую компанию, получившую название Advanced RISC Machines (ARM) Limited. Цель этой компании состояла в создании нового стандарта микропроцессоров RISC. Главным инвестором, технологическим партнером и первым лицензиаром этого предприятия стала компания VLSI Technology. Первым процессором от ARM стал ARM6, обладавший встраиваемым ядром RISC. Основанный на третьей версии процессорной архитектуры ARM (ARMv3), он мог обрабатывать 32-битный код и данные. Впоследствии единственным процессором ARM6, который использовала Apple, стал 20-мегагерцовый 610, который применялся карманном компьютере MessagePad, работавшем на базе операционной системы Newton.

Mac OS для PowerPC

System 7.1.2 была первой системой, поддерживавшей PowerPC. Перенос всех компонентов операционной системы на новую архитектуру мог бы занять непозволительно много времени. Более того, для Apple было чрезвычайно важно предложить способ того, как продолжить запускать «старые» приложения, основанные на 68k. В соответствии с проектом, системная архитектура, призванная решить эти проблемы, включала в себя уровень аппаратных абстракций (HAL) и эмулятор 68k.

Для управления PowerPC использовалось наноядро (таким термином назывались ядра, которые своим размером уступали даже микроядру). Как и HAL, он работал в защищенном режиме и экспортировал интерфейсы низкого уровня для контроля перебоев, управления памятью и так далее. API наноядра могло использовать только программное обеспечение и периодически отладочные программы.

Эмулятор 68k инициировался наноядром во время загрузки системы. Он мог эмулировать только набор команд пользовательского режима 68LC040 без эмулирования PMMU или FPU. Как и при использовании более старого процессора, создавались исключенные стековые фреймы, обеспечивавшие улучшенную совместимость. Имелось также несколько других оговорок и ограничений в сравнении с реальным 68LC040: например, на этом эмуляторе нельзя было запускать A/UX, поскольку он использовал PMMU напрямую.


История операционных систем Apple. Часть 5. Mac OS для PowerPC. Фото.

Поскольку две структуры набора команд работали одновременно, для переключения между этими двумя типами кода использовался компонент уровня системы под названием «Менеджер смешанного режима» (Mixed Mode Manager). Элементы кода, принадлежавшие к двум архитектурам, также могли взаимодействовать друг с другом. В то время как менеджер был прозрачным для кода 68k, код PowerPC был осведомлен об этом.

Стоит отметить, что первые версии Mac OS для PowerPC обладали малым количеством нативного кода для PowerPC. Большинство приложений, системных драйверов, системных расширений, а также существенные элементы Toolbox и самой операционной системы не были первоначально созданы для использования на PowerPC . Apple переносила многие эти компоненты на PowerPC и надеялась, что наноядро составит основу для ее будущих систем в качестве микроядра повышенной надежности.

MAE

Менеджер смешанного режима также использовался в продукте, названном «Программная среда Macintosh» (Macintosh Application Environment) (MAE). MAE являлась приложением X Window, доступным для SPARC (SunOS) и HP 9000/700 (HP-UX), которое предлагало эмулированную среду Macintosh на этих системах. MAE также содержала эмулятор 68k. Менеджер смешанного режима использовался для оптимизации управления командами посредством трансформирования кода 68k в нативные команды, если это возможно. MAE предлагала эмулированную System 7.x и поддерживала (в зависимости от версии MAE) такие функции как Aliases, AppleEvents, AppleTalk, NFS, QuickDraw, QuickTime, TrueType и многие другие. Аналогичным решением была платформа Mac-on-Unix (MAS) от Apple, предназначенная для запуска приложений для Macintosh под Unix на машинах на базе PowerPC.

System 7.5 и позднее включенная OpenTransport (реализация STREAMS на базе Mentat Portable STREAMS), QuickDraw 3D, рабочая среда Java и OpenDOC (архитектура программных компонентов, аналогичная Microsoft OLE). Также были добавлены такие «красивости» как загрузочный экран с логотипом Mac OS и индикатор процесса.

NetWare для PowerPC

В середине девяностых Apple сотрудничала с компанией Novell, чтобы портировать NetWare на PowerPC. Совместно финансировавшийся порт был разработан таким образом, чтобы отличаться повышенной легкостью в конфигурировании, чем NetWare для x86. Также он был рассчитан на запуск на разработанном Apple сервере под названием «Shiner». Хотя порт был уже практически готов, данный проект был закрыт до того, как начались поставки продукта. Shiner впоследствии эволюционировал в Apple Network Server, работающий под AIX.

AIX для PowerPC

Несколько лет спустя, в 1996 году, Apple представила продукт под названием Apple Network Server, который прожил очень недолгую жизнь. Этот сервер на базе PowerPC обладал такими особенностями структуры как отсеки приводов с возможностью горячей замены (с использованием RAID), системы питания и вентиляторы с возможностью горячей замены, поддержка подключения дополнительных SCSI-устройств и PCI-плат, процессор на дочерней плате (для облегченной модернизации), легкая для замены логическая плата и ЖК-дисплей состояния на внешней стороне.

История операционных систем Apple. Часть 5. AIX для PowerPC. Фото.

 

Network Server оснащался операционной системой AIX для серверов Apple Network Servers, основанной на AIX от IBM, и не поддерживал Mac OS. В лице AIX компания Apple имела современную операционную систему с такими функциями как защита памяти, опережающий мультипроцессинг, многопотоковость, поддержка различных сетевых протоколов (в том числе служб AppleTalk и AppleTalk), RAID, Journal File System (JFS), Logical Volume Manager (LVM) и так далее. Пользователь мог выбрать возможность работы с командной строкой или двумя вариантами графического интерфейса: AIXwindows или Common Desktop Environment (CDE).

Линейка Network Server была снята с производства в 1997 году, когда в компанию вернулся Стив Джобс. В то время Apple находилась на грани банкротства, и было принято решение сосредоточить свое внимание на минимальном количестве продуктов. Серверные решения в их число не входили. Следующее серьезное программное обновление в этой сфере появилось лишь в 2002 году, когда вышел Xserve.