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

[ Версия для печати ]
Добавить в Telegram Добавить в Twitter Добавить в Вконтакте Добавить в Одноклассники
Страницы: (5) 1 [2] 3 4 ... Последняя »  К последнему непрочитанному [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]
tleu
4.02.2018 - 21:33
1
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Apple и ARM

Еще в начале 90-х были серьезные попытки Apple использовать RISC. Первый процессор ARM1 вышел в середине 80-х. Еще до AIM Apple и Acorn пытались совместно создать новый процессор. Инвестор и первый покупатель лицензии - VLSI Technology. Процессор ARM6 610 архитектуры ARMv3 с частотой 20 МГц использовался в планшете MessagePad с операционной системой Newton. Про это будет отдельная глава.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:34
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Mac OS для PowerPC

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

Для PowerPC было разработано наноядро - меньшее, чем микроядро. Оно выполнялось с высшим приоритетом, выступало в роли HAL и предоставляло низкоуровневые интерфейсы для обработки прерываний, исключений, управления памятью. Напрямую к ядру могли обращаться только службы ОС и дебаггер.

Эмулятор 68k запускался при загрузке. Он эмулировал только общий набор инструкций процессора 68LC040, без плавающей запятой и блока управления памятью. Стек исключений был взят из процессора 68020, для лучшей совместимости. Были и другие мелкие ограничения. A/UX на этом эмуляторе не запускается. На современных программных тоже - прим. перев.

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

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

В System 7.5 появились OpenTransport (реализация Mentat Portable STREAMS), QuickDraw 3D, Java, OpenDOC (местный аналог OLE). Из украшений появился экран загрузки с логотипом Mac OS и прогресс-баром.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:34
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
MAE

Mixed Mode Manager также использовался в Macintosh Application Environment (MAE). Это эмулятор Мака для X Window под SunOS и HP-UX. Была эмуляция 68k и трансляция команд в родные для хост-системы. Поддерживалась System 7.x и многие ее компоненты. Еще из похожего - Mac-on-Unix (MAS), для запуска приложений Macintosh под Unix на PowerPC.

NetWare для PowerPC

Apple и Novell сотрудничали в середине 90-х для портирования NetWare на PowerPC. Этот порт намного проще настраивался по сравнению с х86, планировалось запускать его на сервере Apple Shiner. Проект был в приличной степени готовности, но закрыт до выхода готового продукта. Название Shiner перешло к Apple Network Server под управлением AIX.

AIX для PowerPC

Через несколько лет, в 1996 году, Apple выпускает малоудачный Apple Network Server. Он был основан на процессоре PowerPC и поддерживал горячую замену дисков, вентиляторов и блоков питания, RAID, много устройств SCSI и PCI, заменяемый процессор на отдельной плате и экран на корпусе для отображения статуса.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:35
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Network Server поставлялся с AIX for Apple Network Servers и не поддерживал Mac OS. Это была очень продвинутая ОС с поддержкой вытесняющей многозадачности, многопоточности, множества сетевых протоколов, RAID, JFS, LVM и прочих приятных суровым админам-юниксоидам штук. На выбор были командная строка или графические AIXwindows и CDE.

Эту линейку серверов сняли с производства в 1997 году. Apple вернется на рынок только через 5 лет, когда выйдет Xserve.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:37
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Поколение NeXT

Новая надежда

Windows NT 3.1

Microsoft Windows ветки 3.x быстро получили большое распространение, сразу после выхода в 1990 году. Система нового поколения под кодовым названием “Chicago” планировалась к 1993 году, но вышла под именем Windows 95 понятно когда. Одновременно с этим в 1993 году вышла Windows NT — продвинутая ОС для клиент-серверных применений. Из особенностей можно отметить API Win32, вытесняющую многозадачность с планировщиком, поддержку сети, подсистемы совместимости с OS/2 и POSIX, виртуальные машины для DOS и старых 16-битных приложений Windows, новую файловую систему NTFS и поддержку мультипроцессорности.

От Apple явно ожидался ответ, особенно в преддверии выхода Windows 95.
Проекты Pink и Red с этой ролью не справились. Впереди было много попыток создать новую конкурентноспособную ОС.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:38
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Star Trek

Была смелая попытка совместно с Novell портировать Mac OS на архитектуру х86. Команда инженеров из обеих компаний очень быстро смогла сделать весьма многообещающий прототип. Проект отменили по различным причинам: грядущий переход на PowerPC, менеджеры боялись разрушения бизнес-модели Apple, неуверенность в поставщиках и так далее. Много лет спустя Darwin работает и на PowerPC, и на x86. Star Trek при загрузке показывал иконку Happy Mac, а Darwin/x86 пишет «Welcome to Macintosh».

Happy mac

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:40
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
После выхода iPhone в список добавился еще и ARM. Darwin — это опен-сорс UNIX, который выпускается Apple и очень примерно представляет собой Mac OS X без интерфейса и части библиотек — прим. перев.

Raptor

Raptor многое унаследовал от проекта Red. Он не привязывался к конкретной архитектуре процессора и предполагал разработку микроядра нового поколения. После отмены Star Trek его наработки планировалось включить в Raptor. В свою очередь, Raptor тоже прожил недолго из-за урезания бюджета, пессимизма сотрудников и других причин.

NuKernel

Так назвали проект разработки современного ядра, которое не потребовалось бы переписывать хотя бы в ближайшее время.

TalOS

Taligent — компания, основанная Apple и IBM в начале 1992 года для продолжения работ над проектом Pink. Pink изначально планировали как объектно-ориентированную ОС, но вместо этого получилась объектно-ориентированная кросс-платформенная среда CommonPoint. Она могла работать на AIX, HP-UX, OS/2 и Windows 95/NT. Поддержку NuKernel поддерживали, но не получилось. Taligent Object Services (TalOS) — это набор сервисов на ядре Mach 3.0. В планах было создать расширямую, портируемую, нетребовательную к ресурсам операционную систему.

ООП в TalOS было везде, от ядра до интерфейса. Модули TalOS назывались фреймворками. Были фреймворки для интерфейса, текста, документов, графики, мультимедиа, шрифтов, печати и низкоуровневых вещей типа драйверов и сетевых протоколов. Такая идеология в сочетании со специфичным инструментарием разработки позволила перенести нагрузку с программистов на системных инженеров.

Следует заметить, что в то время были системы с объектно-ориентированными фреймворками приложений, например NEXTSTEP. Но все равно, разработчику надо было организовать взаимодействие своих объектов с библиотеками нижнего уровня, системными вызовами Unix и Display PostScript. А все они были процедурными. Taligent был объектно-ориентированным сверху донизу. Приложения CommonPoint предполагалось писать без использования API операционной системы вообще.

В 1995 году Taligent перешел под полный контроль IBM. Проект Pink так и не стал следующей ОС Apple.

Copland

В начале 1994 года Apple анонсирует новую версию ОС, Mac OS 8, и обещает внедрить туда нажитый за десятилетие опыт и подвинуть Windows с трона. Кодовое имя проекта — Copland. Работа над ним началась незадолго до того. Примерные планы:

-Окончательно переехать на RISC-архитектуру и окончательно портировать систему на PowerPC
-Усовершенствовать технологии OpenDOC QuickDraw GX, ColorSync, QuickDraw 3D, PowerTalk и PowerShare
-Сделать систему многопользовательской, но при этом сохранить простоту интерфейса.
-Улучшить взаимодействие с DOS и Windows
-Сделать самую лучшую поддержку сети
-Внедрить средства автоматизации широкого круга задач (что-то типа Visual Basic? — прим. перев.)
-Разрешить лицензирование и разработку клонов Mac OS

Для этого надо было внедрить такие компоненты:

-Слой абстракции от железа (HAL). Это поможет создавать совместимые системы
-Микроядро NuKernel
-Поддержку мультипроцессорных систем и вытесняющей многозадачности
-Продвинутую виртуальная память и защита памяти
-Гибкий механизм расширения системы
-Вынесение важных сервисов типа ввода-вывода, сети и файловых систем из ядра
-Поддержку низкоуровневых сетевых служб, например X/Open Transport Interface (OTI), System V STREAMS, Data Link Provider Interface (DLPI)


Работа над Copland ускорилась в начале 90-х, и уже через несколько лет все ждали чуда. Но проект буксовал. Выпустили несколько сырых наборов для разработки драйверов (Driver Development Kit, DDK), но ожидаемый в 1996 году релиз так и не состоялся. В ходе разработки тихо похерили защиту памяти. Джил Амелио (CEO Apple в те годы) сказал, что Copland это набор кусочков, каждый из которых разработан отдельной командой, и все ждут, что они волшебным образом срастутся в одно целое.

Проект окончательно похоронили в мае 1996 года. Амелио сказал, что некоторые особо удачные разработки войдут в следующие ОС, начиная с System 7.6. Наверное, так и вышло. Как минимум, ее переименовали в Mac OS 7.6.

Gershwin

После позорного провала Copland проблема обновления ОС стала еще острее. Ненадолго всплыл проект Gershwin. Из его особенностей можно вспомнить разве что весьма условную поддержку виртуальной памяти. Вполне вероятно, что это была только идея проекта, и над ним вообще никто не работал.
 
[^]
tleu
4.02.2018 - 21:41
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
BeOS

В Apple некоторое время обсуждали партнерство с Microsoft для создания новой ОС на базе Windows NT. Еще рассматривали Sun Solaris и BeOS. С Be все почти получилось. Be основал Жан-Луи Гассе, ранее работавший на высокой должности в Apple. Он возглавил команду толковых инженеров, которые разработали весьма впечатляющую операционную систему. Она поддерживала защиту памяти, вытесняющую мультизадачность, многопроцессорность, файловую систему с метаданными и платформу PowerPC наряду с х86. Мультимедиа тоже была на высоте. Но выход на рынок в целом не удался из-за многих недоработок. Например, поддержка сети, принтеров и набор приложений были не особо обширными.

Гассе был уверен в этой сделке, и запросил более 500 мегабаксов. Общие инвестиции в Be на то время были на уровне 20 миллионов, Apple предложили сначала 50, а потом подняли ставку до 125. Be спустилась до 300, но сделка так и не состоялась. В последнем порыве Apple предлагает 200. Жадность победила. Гассе почти согласился, но потом запросил 275 и не получил ничего.
Где-то рядом был более коммерчески успешный NeXT. Его OPENSTEP худо-бедно продавался на корпоративном рынке. Стив Джобс, основатель, явно что-то знал, и утверждал, что OPENSTEP опережает всех конкурентов на много лет.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:42
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
План A

NeXT не ломался. Apple поглощает его в феврале 1997 года за 400 миллионов долларов. Амелио сказал, что они выбрали план А вместо плана Би.

Поколение NeXT


Стива Джобса выгнали из Apple 31 мая 1985 года. Он запускает стартап и перетягивает туда еще 5 своих бывших сотрудников. Они хотели создать совершенный компьютер для университетов и лабораторий. Незадолго до этого Джобс общался с нобелевским лауреатом по биологии Полом Бергом. Берг одобрил эту идею. Apple в целом была заинтересована вложиться в этот проект, но злость застилала глаза. Были и судебные разборки, но они завершились мирно. Стартап назвали NeXT Computer, Inc.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:42
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Начало было вполне успешным. Джобс вложил 7 миллионов из собственного кармана. Были и другие инвестиции, например 20М от Росса Перо или 100М от Canon. В NeXT смогли создать компьютер, идеальный по форме и содержанию. Даже материнская плата была красивой. Магниевый кубический корпус был покрашен в черный матовый цвет. Даже стойку монитора сделали с любовью. На борту был звуковой чип, который поддерживал стерео с приличным качеством. Эти компьютеры выпускались на собственном заводе.


История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:43
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
NEXTSTEP

Джобс представил NeXT cube 12 октября 1988 года в Сан-Франциско. Операционная система называлась NEXTSTEP и работала на ядре Mach 2.0 и окружении 4.3BSD. Ядро было доработано и вобрало в себя как специфичные для NeXT особенности, так и обратно портированные функции из новых версий Mach. Оконный сервер был основан на Display Postscript, помеси языка описания страниц и оконной системы. Нечто подобное было у Sun и называлось NeWS.

Основным языком программирования был Objective-C, для разработки интерфейса использовали Interface Builder. Для облегчения труда программистов поставлялись библиотеки-”кИты”, например Application Kit, Music Kit, и Sound Kit.
На момент выхода Куба NEXTSTEP был в версии 0.8. Релиз 1.0 состоялся только через год.
NEXTSTEP 2.0 вышел ровно через год после 1.0. В этой версии добавили поддержку CD-ROM, цветных мониторов, сетевой файловой системы NFS, проверку правописания на лету, подгружаемые драйвера устройств, и так далее.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:44
1
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Осенью 1990 года Тим Бернерс-Ли в ЦЕРНе на компьютере NeXT создал первый браузер, с WYSIWYG и кнопкой “Запостить”. Его сотрудник Роберт Кайо сказал, что программу создали всего за несколько месяцев, благодаря продуманной системе разработки для NEXTSTEP.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:45
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
В 1992 году состоялась выставка NeXTWORLD Expo. Там показали NEXTSTEP 486 стоимостью 995 долларов, версию для понятно какой платформы.
Последняя версия NEXTSTEP 3.3 вышла в феврале 1995 года. К этому времени уже были мощнейшие средства разработки и множество библиотек для интерфейсов пользователя, баз данных, распределенных объектов, мультимедиа, сетей и т.д. Для разработки драйверов был объектно-ориентированный тулкит Driver Kit. NEXTSTEP работал на платформах Motorola 68k, x86, PA-RISC и SPARC. Поддерживались fat binaries, которые работали на любой поддерживаемой платформе.

Хотя NEXTSTEP была крутой, а железо NeXT стильным, они не выжили. Зимой 1993 года NeXT отказывается от производства собственных компьютеров и сосредотачивается на NEXTSTEP для x86.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:46
1
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Совместно с Sun Microsystems NeXT выпускает спецификации OpenStep, открытого набора API и фреймворков для разработки объектно-ориентированных ОС поверх любого стороннего ядра. Из коробки поддерживались SunOS, HP-UX и Windows NT. Собственная реализация на базе NEXTSTEP вышла в июле 1996 года под названием OPENSTEP 4.0. Вскоре появились обновления 4.1 и 4.2. OpenStep API и OPENSTEP особо не помогли NeXT. Основным продуктом стал WebObjects, фреймворк для разработки веб-приложений. Он перешел Apple при слиянии компаний и достаточно широко используется и по сей день.

Objective-C


Objective-C — это объектно-ориентированный язык, разработанный Брэдом Коксом и Томом Лавом в начале 80-х. Это объектная надстройка над чистым С, с динамическим связыванием и обменом сообщениями по принципу Smalltalk. Этот язык проще в изучении и по функциональности, чем С++. Например, не поддерживаются множественное наследование и перегрузка операторов. Кокс и Лав основали StepStone Corporation и лицензировали язык и компилятор NeXT. В 1995 году NeXT получает все права на интеллектуальную собственность StepStone, которая имеет отношение к Objective-C. Компилятор Objective-C в Mac OS X основан на модифицированной версии GCC. В комментариях подсказывают, что так было только в ранних версиях Xcode. Потом от него постепенно отказались в пользу clang — прим. перев.

Числа Маха

В комплекте с операционной системой Apple досталось и ядро Mach. Кратко посмотрим на его историю.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:47
1
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Rochester's Intelligent Gateway

Группа исследователей в университете Рочестера в 1975 году начала разработку продвинутого шлюза RIG (Rochester's Intelligent Gateway). Он был нужен для предоставления единообразного доступа к множеству локальных и удаленных вычислительных ресурсов. Локальными ресурсами могли быть диски, ленты, принтеры, плоттеры, компьютеры целиком, а удаленными — узлы ARPANET или другой сети. Операционная система RIG называлась Aleph и работала на миникомпьютере Data General Eclipse.

Алеф — первая буква таки понятно какого алфавита

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:49
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Ядро Aleph строилось вокруг межпроцессного взаимодействия IPC. Процессы могли посылать друг другу сообщения с адресацией по номеру процесса и адресу порта. Порт представлял собой очередь сообщений для определенного процесса внутри ядра. У процесса могло быть несколько портов, которые бы слушали эфир в ожидании сообщения. Процесс мог тихо получать копии сообщений, адресованные другому процессу или вмешиваться в обмен и перехватывать все его сообщения, входящие и исходящие.

RIG загнулся несколько лет спустя из-за фундаментальных ограничений. Сообщения могли быть не больше 2 Кб из-за ограниченного адресного пространства. Это привело к неэффективности IPC. Порты были вообще никак не защищены, и доступ к ним никак не контролировался. Не было способов контроля сбоев, и так далее.

Accent

Ричард Рашид, один из разработчиков RIG, в 1979 году перебрался в университет Карнеги-Меллон (CMU). Там он присоединился к проекту ядра сетевой ОС Accent. Подобно RIG, он был основан на IPC, но имел меньше недостатков. Была защита портов и виртуальная память. Можно было пересылать сообщения процессам удаленного компьютера. Accent создавали для двух проектов распределенных вычислений: Spice для персонального использования и устойчивой к сбоям сети датчиков DSN. Название получилось из-за игры слов. Accent — это приправа производства Accent Inc., состоящая только из глутамата натрия, он же monosodium glutamate, MSG. А программисты очень любят обозначать сообщения как msg.

За несколько лет разработки никакого вменяемого результата так и не получилось. Пора было обновлять железо, добавлять поддержку многопроцессорности и портируемость. Были и проблемы с совместимостью с Unix.

Mach


Продолжение Accent назвали Mach. К времени выхода Mach UNIX развивался уже полтора десятка лет. Разработчики Mach осознавали важность и практичность UNIX, но отмечали, что изначальная простота куда-то делась. Ричард Рашид говорил, что ядро превратилось в свалку всего чего только можно.
Mach разрабатывали в пику громоздкости UNIX. Цели были таковы:

-Полная поддержка мультипроцессорных систем
-Поддержка всевозможных особенностей современных архитектур. Например, различных моделей доступа к памяти — NUMA и NORMA
-Прозрачная поддержка распределенных вычислений
-Максимально уменьшить размер ядра и упростить API, но при этом не потерять функциональность
-Полная совместимость с UNIX
-Разрешить ограничения Accent

Mach начали строить на базе кода 4.3BSD. Как примеры использовали и RIG с Accent. Детали реализации виртуальной памяти подсмотрели в Tenex Operating System производства DEC. По мере развития проекта код BSD заменили на самописный, ну и конечно добавляли новые компоненты.
Ричард Рашид вспоминает, что после множества неудачных вариантов приняли название MUCK, Multiprocessor Universal Communication Kernel. Один из его сотрудников, Дарио Джузе, произносил это с итальянским акцентом как Mach — Мак. Так и прижилось.

После выхода Mach в 1986 году его превозносили как “… Новое ядро для разработки UNIX ”. “Новое ядро” на английском весьма созвучно с NuKernel. Ядро шло к некоторому успеху, хотя и не все это заметили.
Ядро Mach строилось на четырех базовых принципах:

-Задача — это контейнер для ресурсов (памяти, портов, процессоров), принадлежащих одному или нескольким потокам
-Базовой единицей выполнения является поток. Они выполняются в среде исполнения, предоставленной задачей. Каждый поток имеет свой набор регистров, но память у них разделяемая и принадлежит задаче
-Порт аналогичен таковому в Accent. Это внутриядерная очередь сообщений для взаимодействия процессов в Mach.
-Сообщение — это набор данных, которые поток может отправить в порт другого потока.

Другой важной абстракцией был объект памяти. Это контейнер для данных любого вида, включая файлы, который отображается в адресное пространство задачи. Mach не мог работать без блока управления памятью, и предоставлял удобный интерфейс pmap для работы с ним. Управление памятью в UNIX предполагало непрерывное адресное пространство, с кучей и стеком, растущими навстречу друг другу. А в Mach система виртуальной памяти разрабатывалась с прицелом на огромные и разреженные виртуальные адресные пространства. Широко поддерживалось разделение операций чтения и записи и копирование при записи для ускорения работы. Абстракция памяти через объекты позволяла использовать внешнюю память, которая могла быть даже на другом компьютере. Из прочих приятных плюшек можно вспомнить относительно свободную лицензию.

Из-за микроядерной концепции само ядро не умеет предоставлять программам ввод-вывод, сеть или доступ к файловым системам. Это все перекладывается на операционную систему. Предполагалось, что так будет проще. Сама по себе операционная система представляет собой одну из задач поверх ядра Mach. В версиях 2.0 и 2.5 это не соблюдалось — BSD и Mach выполнялись в одном адресном пространстве. На основе версии 2.5 Open Software Foundation выпускает ядро для своей системы OSF/1. Еще можно вспомнить применения Mach в Mt. Xinu, NEXTSTEP, OPENSTEP, Omron LUNA/88k, Multimax (Encore) и много где еще.

Mach 3 начали разрабатывать в CMU. а продолжили в OSF. Это была первая истинно микроядерная версия, в которой BSD выполнялось как задача. Ядро Mach было чем-то вроде гипервизора, и на него портировали много операционных систем. Некоторые можно было запускать вообще в режиме пользователя.

Симметричная мульти-серверная операционная система Mach-US предоставляла системные сервисы посредством серверов и библиотек, загружаемых каждым процессом. К сервисам относились межпроцессное взаимодействие, управление процессами, взаимодействие с сетью и локальными устройствами. Библиотеки могли перехватывать системные вызовы и эмулировать другие операционные системы. Были эмуляторы для различных версий BSD, DOS, OSF/1, SVR4, VMS, OS/2, Mac OS, HP-UX и многих других.
Прочие обновления в третьей версии:

-Поддержка реалтайма. Выгружаемое ядро и фреймворк планировщика реального времени
-Низкоуровневая поддержка устройств. Устройство представляется как порт для сообщений с поддержкой синхронного и асинхронного I/O
-Переписанная с нуля реализация IPC
-Перенаправление системных вызовов и вынос их обработки в юзерспейс
-Использование продолжений (continuations). Это служба ядра, которая позволяет процессу блокироваться при определении функции продолжения, которая будет вызываться при работе процесса (??? — прим. перев.)

Ричард Рашид ушел на должность главного по исследованиям в Microsoft, другой лидер Эви Теванян перешел в Apple главным по технологиям.

MkLinux

Apple и OSF (позже Open Group, еще позже Silicomp) начали портировать ядро Linux на железо Power Macintosh и модифицированное микроядро Mach. Получилось ядро osfmk и система под названием MkLinux. Монолитное ядро Linux работало как единственный процесс микроядра. Первый релиз на основе Linux 1.3 вышел в начале 1996 года под названием MkLinux DR1. Более поздние версии основывались на ядрах 2.0. Один из релизов вошел в Apple's Reference Release. Многие наработки по этому проекту вошли в Mac OS X.

О названиях проектов

После приобретения NeXT у Apple появилось два направления развития операционных систем: доработка Mac OS для потребительского рынка и разработка новой продвинутой серверной ОС Rhapsody на базе NeXT.
Apple использовала для проектов не только цветные названия вроде Pink и Red. Были и музыкальные. Copland и Gerswhin назвали в честь композиторов Аарона Копленда и Джорджа Гершвина. «Рапсодия в голубых тонах» — это известное произведение Гершвина.
 
[^]
tleu
4.02.2018 - 21:50
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Зрелые годы Mac OS

Следующий после покупки NeXT релиз получил номер 7.6. Mac OS 8.0 сначала хотели выпустить как 7.7, но потом передумали и сделали как есть.

Mac OS 8

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:52
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Сюда вошли кое-какие новинки, изначально планируемые в Copland. Например:

-Файловая система HFS+
-Поисковый движок для локальных дисков, серверов сети и интернета. Известен под назвванием Sherlock.
-API Copland, которое потом плавно мутировало в Carbon — олдовые разработчики под Mac OS пустили скупую слезу.
-Тема интерфейса Platinum, см. скриншот
-Поддержка нескольких пользователей с минимально приличным ограничением доступа

В Mac OS 8 был многопоточный Finder, который наконец-то позволил производить несколько операций над файлами одновременно. Еще появилось контекстное меню с доступом по ctrl-клику, персональный веб-хостинг, значительно улучшенная поддержка энергосбережения, USB и FireWire. Для работы в интернете поставлялись одновременно IE и Netscape. Java поддерживалась через собственный рантайм Macintosh Runtime for Java (MRJ), который тоже шел в комплекте. Версия 8.1 была последней для 68k, начиная с 8.5 поддерживались только процессоры PowerPC. В версии 8.6 снова переписали микроядро для улучшения поддержки мультизадачности и мультипроцессорности. Появился аллокатор памяти, пригодный для вытесняющей многозадачности. API библиотеки мультипроцессорности перестало конфликтовать с виртуальной памятью.

Mac OS 9

Mac OS 9 выходит в 1999 году. В рекламе утверждали, что это самая лучшая ОС для интернета. Как минимум, обновляться по сети она умела. Улучшились криптография и функции безопасности, появилась поддержка AppleTalk поверх TCP/IP.

В Mac OS 9 включили стабильную версию API Carbon. Он включил в себя 70% API старых версий Mac OS и обеспечил полную совместимость с версиями новее Mac OS 8.1. Последний релиз Mac OS Classic, 9.2.2, вышел в конце 2001 года.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:52
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Rhapsody


Rhapsody в первый раз показали публике на выставке WWDC в 1997 году. Она появилась как продолжение OPENSTEP с добавлением совместимости с Mac OS. Значимые компоненты:

-Ядро и его подсистемы, основанные на Mach и BSD
-Дальнейшее развитие API OpenStep, кодовое имя Yellow Box
-Виртуальная машина Java
-Слой совместимости с Mac OS под названием Blue Box
-Mac OS-подобная тема интерфейса для OPENSTEP

На Rhapsody планировалось портировать многие компоненты Mac OS: QuickTime, QuickDraw 3D, QuickDraw GX, ColorSync и т.д. Поддерживалось множество файловых систем: Apple Filing Protocol (AFP), FAT, HFS, HFS+, ISO9660 и UFS.
Вышло два релиза Rhapsody — DR1 и DR2, оба для разработчиков. Они поддерживали платформы PowerPC и x86.

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:54
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Blue Box

Для совместимости PowerPC-версии DR1 с Mac OS сделали приложение MacOS.app, оно же Blue Box. Это виртуальное окружение без эмуляции железа, транслируются только вызовы Macintosh ROM, которые передаются в запущенную с диска слегка модифицированную копию Mac OS. Изначально 'эмулировалась Mac OS 8.x в режиме полноэкранного приложения, с возможностью переключения обратно в Rhapsody. Не поддерживались программы, работающие с железом напрямую и использующие грязные хаки. Поддержку более новых версий Mac OS и улучшения интерфейса добавили со временем.

Yellow Box

Yellow Box — это платформа для разработки Rhapsody, выполненная в виде надстройки над системой или как приложение для Windows.
В Yellow Box были включены многие библиотеки из OPENSTEP, рантайм для всего этого и средства разработки. Для трех самых главных компонентов были API на Objective-C и Java:

-Foundation: базовые классы для выделения, освобождения, проверки, хранения, уведомления и распределения объектов.
-Application Kit: богатый API для создания интерфейса пользователя. Получение и обработка событий, работа с цветом, шрифтами, принтерами и прочими пользовательскими штуками.
-Display PostScript: API для работы с PostScript, наложением изображений и всякими визуальными эффектами. В целом, это часть Application Kit.


В Yellow Box входили IDE Project Builder и визуальный инструмент Interface Builder понятно для чего. Yellow Box под Windows NT был примерно аналогичен по функциональности. Низкоуровневые сервисы, работающие с железом, были переписаны как службы Windows. Например, это эмулятор ядра Mach machd и сервер имен nmserver. Все остальное было пользовательскими программами, как WindowServer и pbs, сервер буфера обмена. Подобная архитектура была и у ранних реализаций OpenStep под сторонние ОС, например Solaris.

Это сообщение отредактировал tleu - 4.02.2018 - 21:54

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:54
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
На ближних подступах к Mac OS X

После релиза Rhapsody DR2 у Apple в очередной раз радикально меняется стратегия выпуска ОС. Выпуск принципиально новой системы займет три года. На рисунке примерная схема эволюции:

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:55
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Mac OS X Server 1.x

Вместо ожидаемой публикой Rhapsody DR3 в марте 1999 года Apple внезапно выпускает Mac OS X Server 1.0. В целом, эту систему можно считать очередной версией Rhapsody. В комплекте был фреймворк WebObjects, потоковый сервер QuickTime, Apache, средства разработки и удаленного администрирования.
Параллельно с этим выходит первая версия Apple Darwin, форк Rhapsody с открытым кодом.
Следующие пару лет будут выходить обновления серверной версии, которые сразу же интегрируются в еще не выпущенную пользовательскую версию. В дальнейшем у них не будет глобальных отличий.

Mac OS X Developer Preview

Было выпущено 4 версии Mac OS X Developer Preview, они именовались DP1-4. В них постепенно добавлялись новые возможности:

-Реализован API Carbon (DP1), для запуска старых, но перекомпилированных приложений в новой ОС. Это смягчало остроту перехода на принципиально новую систему. Старое приложение требовало для запуска инсталляции Mac OS 9 для запуска, приложения Carbon запускались без этого. Carbon назывался старым API, в противовес новому Cocoa. При этом у них была некоторая небольшая степень совместимости
-Приложение Blue Box, MacOS.app, переименовали в Classic.app (DP2)
-Yellow Box переименовали в Cocoa, добавили ему поддержку Java (DP2)
-Интерфейс Aqua (DP3)
 
[^]
tleu
4.02.2018 - 21:57
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Mac OS X Public Beta

Платная бета стоимостью $29.95 вышла в сентябре 2000 года. На обложке было послание Apple хомячкам бета-тестерам — “Подержись за будущее Macintosh”
Понятно, что бете не хватало ни стабильности, ни функциональности. Но это была захватывающая демонстрация амибций и технологий Apple. Широкой публике впервые показали юниксовый по своей сути Darwin с ядром xnu, основанную на PDF графическую подсистему Quartz, интерфейс Aqua с их фирменным доком, и так далее. Darwin позволил позаимствовать и интегрировать в Mac OS X заметное количество стороннего софта с открытым кодом и соответствующей лицензией.
Ядро Darwin называется xnu. Один из вариантов расшифровки — «X is Not Unix». Или это намек на их старое ядро NuKernel, переделанное под Mac OS X. xnuсодержит код Mach, FreeBSD, MkLinux и кучи других источников.

Это сообщение отредактировал tleu - 4.02.2018 - 21:58

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 21:59
0
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Mac OS X 10.x

Mac OS X 10.0 вышла 24 марта 2001 года. Вскоре схему нумерации Mac OS X Server подогнали под десктопные версии. После этого они стали выходить попарно, но десктопная чуть раньше.

На момент выхода статьи были такие версии:

Это сообщение отредактировал tleu - 4.02.2018 - 22:00

История операционных систем Apple
 
[^]
tleu
4.02.2018 - 22:02
1
Статус: Offline


Ярила

Регистрация: 18.12.16
Сообщений: 3157
Все версии (до 10.9, вышедшей в 2013 году — прим. перев.) назывались именами больших котов. (Cheetah — это гепард. По иронии судьбы, 10.0 работала очень медленно — прим. перев.)
В версии 10.0 появились iMovie и iTunes, в 10.1 добавили iDVD. Carbon API привели к стабильной версии тоже в 10.1. Это позволило быстро выпустить много важного софта, например Photoshop.
В 10.2 добавили много важных улучшений. Наиболее заметное из них — Quartz Extreme, движок аппаратного ускорения отрисовки интерфейса. Кроме этого, добавлено много новых программ: Address Book, Mail, Chat, Rendezvous для работы с сетью, iPhoto, Safari, X-сервер и многое другое.
В 10.3 в основном улучшена стабильность и безопасность.
После этого система в целом стала похожа на то, что планировалось в Apple. Новые пользователи покупали Маки и сразу начинали эффективно работать, старые не разбегались в панике от незнакомого расположения кнопок и менюшек. Ну и вообще, среди сторонников Apple много людей разных профессий, наклонностей и ориентаций.
Описание внутренней структуры Mac OS X можно найти в книге автора оригинальной статьи Mac OS X Internals.

Разное

Кроме компьютеров и серверов, Apple выпускала и всякие другие интеллектуальные устройства.

Pippin

Pippin — это мультимедийное устройство, приставка или сетевой компьютер родом из середины 90-х. Кто как хочет, так и называет. На нем можно было слушать аудио-CD, серфить по интернету, читать мейлы и играть в игры, но нельзя пользоваться как полноценным компьютером. То есть это устройство с искусственно ограниченными возможностями наподобие игровой консоли. Планировалось продавать лицензию сторонним производителям. Фактически, это был PowerMac с ограничениями. Он основан на процессоре PowerPC 603e 66 МГц, содержит 6 Мб памяти, 128 Кб флеша, 4х CD-ROM, стереозвук, несколько видеовыходов, разъем PCI для расширения, разъемы ADB для клавиатуры и мыши, модем, клавиатуру и геймпад. Для работы всего этого использовалась специальная версия Mac OS. Проект родился мертвым и успеха не получил. Название произошло от одноименного сорта яблок.

Newton

У Apple была линейка планшетоподобных аппаратов Newton. В основном, они принадлежали к линейке MessagePad. Редкое исключение — eMate 300. Были и клоны. Самый первый MessagePad работал на 20 МГц процессоре ARM 610, всем хватало его 640 Кб оперативной памяти и 4Мб ROM. Это был 1993 год, версия софта Newton OS 1.0. Эпоха завершилась в 1998 году. У последней модели MP2100 был процессор StrongARM с частотой 162 МГц и по 8 Мб RAM и ROM. Нумерация версий ОС дошла до Newton OS 2.1.

Newton System Software вполне логично разделялась на ядро Newton OS, системные сервисы и пользовательские компоненты. В целом, это была достаточно продвинутая ОС с вытесняющей многозадачностью. Вся внутренняя механика наподобие планировщика, управления задачами, межпроцессного взаимодействия, управления памятью, питанием и работы с железом была реализована через потоки ядра. Была очень развитая подсистема работы с последовательными протоколами. В те годы это позволяло использовать факсы, модемы, инфракрасные устройства, сети AppleTalk. Можно было даже добавлять новые протоколы на лету.

В самом верхнем слое работали программы на NewtonScript и интерфейс пользователя. Все пользовательские приложения, как встроенные, так и установленные отдельно, исполнялись как одна задача ОС.
Особенность Newton — немодальный интерфейс с распознаванием рукописного ввода текста, фигур и жестов. Поддерживались печатные буквы, рукописные и их смесь. Формы фигур тоже могли быть самые разные. Некий наследник этой технологии включен в Mac OS X под названием Inkwell.

iPod

Плеера iPod быстро стали очень популярными. Они работают на проприетарной ОС.

В первых айподах 2001 года выпуска во вкладке «About» упоминался PortalPlayer. Это компания, которая лицензирует музыкальное ПО для компьютеров, плееров и бытовой электроники. Использовались также наработки компании Pixo. Они специализируются на разработке прошивок мобильных телефонов.

В айподе использовалась «Digital Media Platform» разработки PortalPlayer. Это комплекс железа и расширяемого софта, программ для синхронизации с компьютером, сторонних расширений и прочего. Использовался чип PP50xx с двумя ядрами ARM7TDMI.

Pixo предоставил инструментарий для разработки пользовательского интерфейса, а рисовали его непосредственно в Apple. Им же принадлежат многие библиотеки и встроенные приложения типа адресной книги.

iPhone

Статья 2004 года, тогда айфонов еще не было

История операционных систем Apple
 
[^]
Понравился пост? Еще больше интересного в Телеграм-канале ЯПлакалъ!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 23965
0 Пользователей:
Страницы: (5) 1 [2] 3 4 ... Последняя » [ ОТВЕТИТЬ ] [ НОВАЯ ТЕМА ]


 
 



Активные темы






Наверх