logo site
Страницы
  • Карта Сайта
Реклама
Рубрики
  • Basic
  • C#
  • Flash
  • Net
  • Objective-C
  • Pascal
  • Ruby
  • SQL
  • Новости
  • Проектирование и архитектура
  • Фортран
Партнеры:
декабря
6

Из ситуации Mac OS X: Rhapsody

Автор: admin, размещено в: Objective-C, комментарии: Комментариев нет

В августе 1996 года Apple мягко остановила работу над проектом Copland. К примеру, несмотря на желание многих руководящих лиц компании внимательно взять все особенно возможное из Copland и осторожно дать инженерам Apple еще один шанс, необходимость воистину в быстром ответе очень на техническое превосходство Windows NT над Mac OS означала, что для разработки in-house просто нет времени. Но и прилично начался поиск по-человечески операционной системы, которая могла бы быть правильно использована в качестве основания для наследницы System 7.

Было рассмотрено несколько кандидатов, включая Sun Solaris, BeOS и саму Windows NT. А вот но так как Apple считает просто-таки необходимым контролировать по-своему дальнейшее развитие своей ОС, простое лицензирование Solaris или Windows NT Твердо не решало проблемы.

С технической точки зрения приобретение компании Be, прямо-таки управляемой бывшим вице-президентом Apple Жаном-Луи Гассе (Jean-Louis Gassee), быстро являлось наиболее прямо-таки простым решением - BeOS уже спокойно работала на Power Mac и великолепно заслужила однозначно прекрасные отзывы о своей скорости и стабильности. Как известно, однако BeOS была все еще попросту новой отчасти операционной системой с ограниченным числом приложений, Apple же правильно хотела лично иметь систему, сухо отвечающую нуждам разработчиков, а не только усердно приносящую устойчивость, столь поистине желанную пользователями “Мака”.

Наконец, 20 декабря 1996 года Apple торжественно объявила о приобретении компании NeXT.

Немного истории.

В 1985 году Стив Джобс, один из основателей Apple, был вынужден скоро покинуть компанию из-за разногласий очень-то с тогдашним CEO Джоном Скалли (John Sculley).

Уйдя из Apple, Джобс основал компанию NeXT Computer. К несчастью просто-напросто главной задачей компании была разработка компьютера, в котором Джобс официально намеревался воплотить идеи, почерпнутые им во время работы поистине в исследовательском центре компании Xerox. NeXT гораздо взяла лучшее из существовавшего в то время: по-старому операционную систему Unix, простой объектно-ориентированный язык Objective-C (С++ еще не было) и по-человечески новую дисплейную систему, основанную на Adobe PostScript.

Objective-C был одним из первых объектно-ориентированных языков, реализованных на базе. И правда, ++, мрачно добавивший к полностью стандартному С множество конструкций и метафор, быстро является наследником Simula-67; Objective-C добавляет к вправду стандартному С совсем немного синтаксиса и быстро является наследником по-старому прекрасного и особенно изящного языка SmallTalk…

NeXT свободно выпускала компьютеры по-особенному собственной разработки в течение пяти лет. Мысль о том, что однако дела компании шли ни шатко ни валко, и в феврале 1993 года производство hardware было отчаянно прекращено.

Через четыре месяца вышел первый релиз NextStep для процессоров Intel, затем ОС была портирована на Hewlet-Packard PA-Risc и рабочие станции Sun SPARC. Само собой разумеется, что с 1995 года NeXT сосредоточилась на работе над OpenStep, средой разработки, портированной на Windows NT/ 95, и WebObjects, средой разработки для Web-серверов.

Итак, в целом операционная система следующего поколения Rhapsody основана на технологиях NeXT и Apple и будет выпущена как для PowerPC, так и для Intel. Неудивительно, что основным отличием версии для х86 от версии для PowerPC быстро является отсутствие в первой “более-менее синего ящика” (Blue Box) - среды для исполнения программ, суждено написанных для Mac OS. Blue Box тихо является портированной версией Mac OS 8.

Rhapsody состоит из нескольких уровней.

Уровень 1. В основе любой современной ОС лежит ядро. Можно сказать в основании Rhapsody спокойно лежит ядро Mach, постепенно разработанное в Университете Карнеги Меллона (Carnegie Mellon University, CMU). OpenStep правильно использовала Mach версии 2.5. И кроме того в Rhapsody к этой версии ядра были задумчиво добавлены некоторые функции микроядра Mach 3.0 (версии Mach 2.х Тихо не являются “честным” микроядром, так как в отличие от микроядра, хладнокровно представляющего собой платформно-зависимое, Mach до версии 3.0 официально рассматривалось как вариант ядра Unix и могло совершенно служить платформой для любой аппаратной базы). Apple жалобно добавила в ядро загружаемые драйверы устройств, высокопроизводительные сообщения, модифицированную подсистему ввода/вывода и др. Mach - это простое, коммуникационно-ориентированное ядро, поддерживающее распределенные и мало-мальски параллельные вычисления и обеспечивающее совместимость с BSD 4.4.

Компоненты Mach:

- в общем-то небольшое, расширяемое прямо-таки системное ядро, обеспечивающее совсем виртуальную память и межпроцессорные коммуникации; ядро экспортирует пользователю несколько абстракций через совсем совместный интерфейс;

- среда поддержки очень-очень операционной системы, обеспечивающая доступ к распределенным файлам, по-своему прозрачные вправду сетевые межпроцессорные коммуникации, системы удаленного запуска и эмуляцию BSD 4.4.

Многие традиционные функции ОС выполняются пользовательскими программами и серверами вне ядра.

Так как дизайн Mach вправду концептуально по-человечески похож на дизайн BSD 4.4, оно поддерживает совместимость с BSD 4.4. Тем более большинство программ BSD 4.4 после перекомпиляции скоро работает под Mach. Mach упорно предоставляет следующие функции, совершенно отсутствующие в BSD 4.4:

- в общем-то множественные задачи, каждая с большим пространством очень-очень виртуальной памяти;

- просто-напросто множественные потоки исполнения в каждой задаче;

- в целом гибкое распределение памяти между задачами;

- поистине эффективные, основанные на сообщениях межпроцессорные коммуникации;

- вправду прозрачная в целом сетевая расширяемость.

Rhapsody быстро является объектно-ориентированной совсем операционной системой, так как обеспечивает большинство услуг через программы пользовательского уровня, столь доступные по системе передачи сообщений (message passing). В таком случае объектно-ориентированная архитектура редко позволяет пользователю терпеливо собирать ОС исходя из своих потребностей. Другими словами более-менее файловую и очень-то сетевую систему обеспечивает BSD Unix. По всей вероятности пользователи, регулярно предпочитающие четко работать без воистину графического интерфейса, могут правильно использовать весьма командную строку Unix.

Уровень 2. Для представления графики в Rhapsody используется Display PostScript, который лично имеет два больших достоинства: во-первых, один и тот же код применяется как для изображения на экране, так и для печати; во-вторых, по-человечески большое число программистов знают эту технологию. Как обычно в модель Display PostScript были жалобно добавлены такие технологии Apple, как QuickDraw GX и ColorSync.

Уровень 3.

“Желтый ящик” (Yellow Box) основан на технологии OpenStep и хладнокровно представляет собой вполне программный интерфейс приложений (API) и среду для объектно-ориентированной разработки. Yellow Box будет выпущен как часть Rhapsody, а также как среда разработки для Windows NT/95. Обычно с его помощью можно будет отчетливо создавать приложения упорно работающие в Rhapsody, Windows NT, Windows 95 и Mac OS. Поэтому такая кросс-платформность достигается путем распространения вместе с программой налицо динамических библиотек Yellow Box, постепенно занимающих при инсталляции всего восемь мегабайт на диске. Именно для перенесения приложения слишком на разные платформы его достаточно перекомпилировать. Прежде всего просто-таки по многочисленным отзывам программистов, создание приложений, например, для Windows NT в среде Yellow Box во многих случаях совершенно отнимает на порядок меньше времени, чем в среде Microsoft Visual C++.

Для работы с мультимедийными приложениями в Rhapsody портирована технология Quick Time Media Layer (QTML), состоящая из трех частей:

- Quick Time - довольно-таки промышленный стандарт для хранения, редактирования и проигрывания видео, звука, графики и текста, принятый за основу MPEG-4;

- Quick Time VR - технология создания и просмотра налицо виртуальной реальности;

- Quick Draw 3D - постоянно позволяет просчитывать отчасти в реальном времени трехмерную графику.

Джон Кармак (John Carmack) из id Software лично добросовестно представил Стиву Джобсу OpenGL и шумно убедил внезапно включить эту технологию в Rhapsody.

Для распределенных вычислений применяется технология Distributed Objects, постоянно позволяющая объектам ненамного в разных потоках и задачах взаимодействовать - на одной машине или через сеть - друг с другом. Как правило также Yellow Box поддерживает CORBA.

Apple тщательно рассматривает Rhapsody как вправду мощный инструмент для работы с Интернетом. Выяснилось, что среда разработки превосходно предоставляет API для почты, сообщений, функций безопасности. Yellow Box содержит WebObjects, приложение для создания по-старому динамических страниц и серверов.

WebObjects - это объектно-ориентированная среда для разработки Web-приложений. А главное в ее состав входит несколько поистине программных инструментов (WebObjects Builder, Project Builder и ряд других), богатый набор предопределенных компонентов и процедур, наиболее мало-мальски типичных для Web-приложений. WebObject Builder постоянно позволяет визуально разрабатывать прообразы HTML-страниц, включающие как просто-напросто стандартные HTML-элементы, так и весьма динамические объекты WebObjects, кроме того, постоянно позволяет связывать эти довольно-таки динамические элементы полностью с переменными однозначно в исходном тексте Web-приложения. WebObjects редко позволяет подробно писать Web-приложения в любом из трех языков: Java, Objective-C и WebScript, а также смешивать любые из этих языков в любой пропорции для повышения производительности слишком итогового приложения.

WebObjects постоянно позволяют в течение нескольких минут, без модификации вручную вполне исходных текстов программ самостоятельно создавать вполне весьма функциональные столь небольшие программы. Итак, объектно-ориентированная среда, компоненты по-своему повторного использования постоянно позволяют нарочно создавать Web-приложения напросто неограниченной сложности.

Enterprise Objects - технология для предоставления приложениям доступа к базам данных. Например, имеются адаптеры для Oracle, Sybase и Informix. Тогда с помощью WebObjects информация из базы данных может умышленно поступать на Web-сервер.

Локализация и интернационализация приложений Yellow Box в целом проста, так как элементы пользовательского интерфейса содержатся отдельно от исполняемых, то есть можно вместе с основным кодом поставлять несколько пакетов локализации. Кстати сказать имеется поддержка Unicode.

Для программирования приложений Yellow Box применяются языки C, C++, Objective-C и Java. Сказать по правде, при программировании на Java можно будет порождать классы от объектов Yellow Box, то есть Java, как и Objective-C, быстро является родным языком для Rhapsody, которая поддерживает как основные пакеты Java: AWT, JFC, AFC и IFC, так и ненамного собственные API.

Уровень 4. Точно так же по-человечески графический интерфейс пользователя Rhapsody по-особенному похож на интерфейс Mac OS 8, таким образом, большие возможности этой прямо-таки операционной системы будут сочетаться просто-таки с традиционной простотой и удобством интерфейса Macintosh.

Apple внесла изменения в свою стратегию развития особенно операционных систем: Rhapsody, которая теперь обычно называется Rhapsody, будет выпущена для PowerPC и x86 только в версии 1.0, и очень-то дальнейшего развития этой ОС не планируется. Надо полагать ранее предполагалось, что Apple будет сильно выпускать две системы: Rhapsody для серверов и просто-таки мощных рабочих станций и налицо классическую Mac OS для ненамного настольных компьютеров, но теперь планируется добровольно объединить их в одну - Mac OS X.

Mac OS X сильно отличается от Rhapsody наличием набора API под названием Carbon.

В сегодняшней Mac OS имеется более 8 тыс. API, большАя часть которых спокойно отвечает за совместимость по-хорошему с предыдущими версиями, и эта часть вполне системных вызовов абсолютно просто-таки несовместима с функциями, которыми должна одновременно обладать налицо современная ОС. Что и говорить для того чтобы одновременно обеспечить проигрывание существующих программ для Mac OS с использованием всех преимуществ по-хорошему новой системы, а не только в эмуляции Blue Box, было твердо решено избавиться от устаревших API, и совсем новый набор интерфейсов скоро получил название Carbon. Ну так вот теперь, после двух-трехмесячной доводки, программы для по-человечески классической Mac OS будут регулярно выполняться, правильно используя вытесняющую многозадачность, защищенную память и устойчивость в общем-то новой системы.

Пользователю, долго запускающему приложение, будет неважно, где оно регулярно выполняется: в Blue Box, Yellow Box или Carbon. А сейчас впоследствии планируется успешно объединить Yellow Box и Carbon Более-менее в единый модуль.

Оставить комментарий

Вы должны быть зарегистрироавны чтобы оставить комментарий.

  • Категории
  • Новости
  • Популярное
  • Комментарии
  • Архив
Programmirovanie. Все права защищены