|
|
|||||||||||||||||||||||||||||
|
Условное название: LonghornИсточник: PC Magazine/RE №1/2005 Джон Клаймен
ВведениеLonghorn - самый крупный проект разработки операционной системы, предпринятый фирмой Microsoft за последнее десятилетие. Он связан с пересмотром интерфейса прикладного программирования (API) и крупными изменениями в нем и базовом наборе служб, предоставляемых операционной системой программам. Однако, несмотря на серьезные изменения, Longhorn строилась не с «чистого листа», а на базе исходного текста Windows XP и Windows Server 2003, а также инфраструктуры .NET - представители Microsoft утверждают, что приоритетное значение придавалось совместимости с существующими прикладными программами. В доказательство серьезности этих намерений на прошлогодней конференции Professional Developers’ Conference - ежегодной встрече представителей компании с независимыми разработчиками программ для Windows - было продемонстрировано, как Longhorn работает с VisiCalc, классической электронной таблицей DOS, выпущенной в 1981 г. Авторы Longhorn преследуют многие цели: повысить производительность и привлекательность Windows, улучшить безопасность и надежность и способствовать появлению более полнофункциональных мультимедиа-программ. Для знакомства с Longhorn мы инсталлировали сборку 4074, которая была предоставлена участникам конференции Windows Hardware Engineering Conference весной 2004 г., и поработали с ней. Мы также встречались с программистами Microsoft, чтобы расспросить их о перспективах проекта. Пока слишком рано выносить суждение о Longhorn, появления которой мы не ждем раньше 2006-го или 2007 г., но направление, в котором Microsoft предпринимает шаги, внушает надежды на успех. Новый 3D-интерфейс пользователя (рис. 8) полезен и привлекателен. Хорошие перспективы имеет файловая система WinFS, смелая и интересная попытка улучшить организацию громадных объемов информации на современных жестких дисках, разделить ее на категории и открыть к ней доступ. (Надеемся, Microsoft учтет ошибки объектной файловой системы в Cairo и других своих попыток обновления файловой системы.) Мы думаем, что разработчики оценят шаги, предпринимаемые Microsoft для упрощения модели программирования для Windows с целью облегчить проектирование графически насыщенных программ. Вероятно, самая большая надежда людей, уставших бороться с опасностями и применять «заплаты», - высокая безопасность и надежность Longhorn, заложенные в ней изначально. Основы LonghornLonghorn будет представлена несколькими версиями, в том числе настольной и серверной, 64-разрядной версией и версиями, похожими на современные Windows XP Media Center Edition и Tablet PC Edition. Они будут ориентированы на определенные среды, но построены на одной основе; компания намерена избежать дробления усилий разработчиков ОС, как это случилось в ходе подготовки Windows 95 и Windows NT. Процедуры инсталляции и обслуживания Longhorn будут более «гладкими», чем в прежних версиях Windows. В полностью графической среде Windows Preinstallation Environment значительно удачнее, чем в Windows XP, сгруппированы вопросы для пользователя, поэтому основная часть этапов инсталляции проходит без участия пользователя. Ожидаются улучшения и в административных задачах. Например, расширены функции отката драйверов: Windows XP обеспечивает возврат к предшествующей версии; в Longhorn можно будет вернуться к одной из нескольких прошлых версий. Большая часть Longhorn проектируется как «управляемый программный код» на основе инфраструктуры .NET, которая впервые будет поставляться в качестве стандартного компонента ОС. Инфраструктура .NET сулит преимущества главным образом программистам, но, предоставляя им более совершенный инструментарий, Microsoft надеется, что улучшения ОС и построенных на ее фундаменте прикладных программ будут равноценными. Управляемый программный код автоматически выполняет такие задачи, как выделение памяти и проверка границ, поэтому ему не страшны такие ошибки, как печально известное переполнение буфера. Ошибки такого типа могут привести к проблемам нестабильности и нарушения безопасности - в частности, переполнение буфера интерфейса RPC было использовано червем Blaster, а переполнение буфера LSASS - червем Sasser. Инфраструктура .NET обеспечивает более продуманные и надежные способы сборки программ, что позволяет избежать «ада DLL» (DLL hell) - ситуации, в которой различными программами используются разные версии общих библиотек. По мере распространения управляемого программного кода пользователям все реже придется перезапускать компьютер после инсталляции программ и драйверов - серьезное облегчение. Улучшены функции обнаружения сети и автоконфигурирования Longhorn. ОС может работать с «зaмками» (castle), которые позволяют лучше управлять несколькими машинами в малой сети без мощной инфраструктуры. Компания также ставит перед собой задачу улучшить связь с мобильными устройствами - в частности, обеспечить мгновенное возобновление сеанса в ноутбуках и предоставить встроенные функции для синхронизации с PDA и другими портативными информационными устройствами. Безопасность, несомненно, приоритетная задача для разработчиков Longhorn. В операционную систему войдут многие функции защиты из состава Windows XP Service Pack 2, например новый брандмауэр Windows Firewall. Кроме того, Longhorn будет располагать совершенно новой средой повышенной безопасности, такой, как NGSCB (Next-Generation Secure Computing Base - безопасная компьютерная база следующего поколения). На новых ПК достаточной аппаратной мощности NGSCB обеспечивает надежную изоляцию процессов и «изолированную память» (sealed storage). Улучшается защита конфиденциальной информации от других программ, в том числе шпионских, которые могут пытаться обратиться к ней со злым умыслом. Фирма Microsoft объявила о планах дополнить ОС антивирусными функциями, но не раскрывает подробности. Новый обликНовый пользовательский интерфейс Longhorn называется Aero. В конечном итоге он будет реализован на двух уровнях, стандартном Aero и Aero Glass. Для Aero Glass потребуется мощный, совместимый с DirectX 9 графический процессор с шиной AGP 8X или PCI Express и по крайней мере 64-Мбайт ОЗУ (рекомендуется больше). На всякий случай предоставляется классический интерфейс в стиле Windows 2000. Мощные графические функции Aero Glass позволяют применять 3D-эффекты, анимацию и прозрачные изображения. Считается, что визуальные украшения, такие, как полупрозрачные границы, радуют глаз, но специалисты Microsoft утверждают, что с их помощью можно решить реальные проблемы. По данным компании, чаще всего в службу поддержки обращаются неопытные пользователи, которые, открыв какую-то программу, теряют из виду окно другой программы, запущенной ранее. Благодаря прозрачным границам многоуровневая структура окон становится более понятной. А может быть, фирма Microsoft просто старается сделать свой интерфейс более похожим на Apple. Даже владельцам компьютеров, аппаратные средства которых недостаточны для воспроизведения всех эффектов Aero Glass, ГИП Longhorn облегчает выполнение типовых задач. Функции обработки таких типов данных, как музыкальные файлы и цифровые фотографии, безупречно интегрированы в оболочку; легко составлять слайд-шоу или перейти в простой встроенный редактор изображений (рис. 9), чтобы обрезать картинку, скорректировать контрастность и удалить «красные глаза». Благодаря более совершенным процедурам просмотра файлов у пользователей появится больше способов искать и организовывать данные. Особенно удачен поисковый механизм Wordwheel, в который можно ввести несколько символов и сразу сузить список файлов (рис. 10). В Longhorn встроены функции для управления широко применяемыми типами данных, такими, как контакты и организации, и взаимосвязями между ними - непосредственно из оболочки. Опытные пользователи и программисты также найдут в оболочке удобные новшества, в том числе значительно улучшенный планировщик задач, новую инфраструктуру автоматизации UI и интерпретатор командной строки (с условным названием Monad). Точно так же, как пользователи DOS имеют возможность составлять пакетные файлы для запуска из командной строки, Monad обеспечивает конвейеризацию объектно-ориентированных cmdlets, которые представляют собой сценарии, облегчающие совместное использование программами объектов .NET, посылку запросов в несколько программ сразу и другие операции. В настоящее время известно мало подробностей о Monad, но на Web-узле разработчиков Longhorn (msdn.microsoft.com/Longhorn/) содержится некоторая информация. Этот сайт - один из лучших источников сведений о возможностях будущей ОС. Внутренние механизмы ОСОснова всех видимых функций - новый API, называемый WinFX (представители компании говорят, что у этого названия нет конкретного смысла). WinFX состоит из трех основных подсистем: Avalon (презентация), WinFS (хранение данных) и Indigo (связь). Avalon - унифицированный графический API, основа Aero. Он связывает воедино различные API, существующие в современных версиях Windows - DirectX, GDI+, Windows Forms и др. Его назначение двояко: упростить проектирование прикладных программ с безупречно сочетающимися компонентами, такими, как диалоговые окна и анимации, и сократить переключение контекстов ЦП, устранив узкие места, которые снижают производительность и могут вызвать артефакты при воспроизведении видео. В Avalon применяется векторная, а не растровая графика - важнейшее изменение, благодаря которому значительно упрощаются масштабирование и реализация визуальных эффектов. Кроме того, шрифты и пиктограммы не уменьшаются при переходе со стандартного 96-точка/дюйм ЖК-дисплея на модель с более высоким разрешением; их физические размеры сохраняются неизменными при всех преимуществах повышенного разрешения. В Avalon также применяется новый способ взаимодействия программ с дисплеем. Индивидуальные программы записывают данные на частный «холст» (canvas), а затем механизм Desktop Compositing Engine определяет, как манипулировать окнами разных программ, применять визуальные эффекты и налагать окна друг на друга. Кроме того, Avalon обеспечивает декларативное (declarative) программирование с использованием языка на базе XML, называемого XAML (Extensible Application Markup Language - расширяемый язык разметки приложений). С помощью XAML, очень похожего на оптимизированную форму XML, легко строить сложные пользовательские интерфейсы, предоставляя решение базовых задач программистам. Среди его возможностей - 3D-функции со встроенными эффектами освещения и текстуры и обнаружение объектов, на которых щелкнул пользователь сложной 3D-среды (hit testing). Программисты по-прежнему смогут воспользоваться традиционной императивной моделью, а также существующими WinForms и Win32 GDI+ API. Проект подсистемы хранения данных WinFS столь же смел. В ней получившая широкое признание файловая система NT File System (NTFS) объединена с механизмом БД на основе того же исходного текста, который используется в следующей версии Microsoft SQL Server (условное название Yukon). В WinFS объекты, традиционно воспринимаемые нами как файлы, становятся элементами, которые можно связать с разнообразными метаданными, - например, цифровые фотографии могут иметь атрибуты для типа камеры, выдержки и даже места, где были сделаны снимки (после того как широкое признание получат камеры, совместимые с GPS - системой глобального позиционирования). В WinFS входят «примитивы» для различных других распространенных типов данных, например контактов, событий и сообщений электронной почты. В основе WinFS - реляционная база данных, поэтому такие элементы могут быть связаны друг с другом сложными способами; почтовые сообщения - с контактами, которые представляют собой часть сведений об организации, и т. д. Реляционное хранилище WinFS обеспечивает полную транзакционную функциональность в стиле БД; программисты могут обеспечить целостность данных, поставив условие выполнения или отмены всей группы взаимозависимых обновлений. Кроме того, программисты, в настоящее время вынужденные встраивать специализированные механизмы БД (или требовать от пользователей инсталляции облегченного SQL-сервера, например MSDE), могут рассчитывать на функции СУБД как неотъемлемую часть платформы, после того как Longhorn будет инсталлирована на достаточно большом числе машин. Третий базовый компонент архитектуры, Indigo, - результат усилий Microsoft по созданию фундамента для SOA (service-oriented architecture - сервисно-ориентированная архитектура) в платформе Windows. Таким образом, разработчики получают значительно более совершенные инструменты для проектирования программ, использующих распределенные ресурсы. Концепция SOA заключается в том, что программы можно составлять из слабо связанных между собой компонентов, которые отправляют в другие компоненты запросы для выполнения заданий. Эти компоненты могут быть локальными или удаленными и поставляться тем же или другим поставщиком. В некоторой степени назначение Indigo соответствует таким системам распределенных объектов, как DCOM (Distributed Component Object Model - распределенная модель составных объектов) и CORBA (Common Object Request Broker Architecture - общая архитектура посредника запросов к объектам), но с более слабыми связями и более явным акцентом на проблемы машин, подключенных к Интернету. Среди проблем, требующих решения, - сокращение длительных задержек, управление безопасностью и обслуживание асинхронных запросов. Indigo построен на базе модели Web-служб, и фирма Microsoft сотрудничает с компаниями BEA, IBM, Sun и др., чтобы обеспечить совместимость решений. Интерес для разработчиков представляют также новая модель драйверов дисплея, новая архитектура печати, такие возможности, как упрощенный метод построения программ, поведение которых меняется в зависимости от местонахождения пользователя, и другие, для которых нет места в данной статье. Сроки и выводыВ настоящее время фирма Microsoft предоставляет Longhorn преимущественно разработчикам, чтобы те могли приступить к адаптации своих программ. Первый крупномасштабный выпуск бета-версии Longhorn ожидается в 2005 г. По опыту прошлых лет можно предположить, что нам предстоит увидеть много бета-версий. Дата выхода окончательного продукта официально не объявлена, но мы предполагаем, что это будет в 2006-м или 2007 г. Нам понравились многие новшества Longhorn, и главные из них - повышенные безопасность и надежность и усовершенствованный API для программистов. Вопрос, ответ на который мы получим в ближайшие несколько лет, заключается в том, оправдаются ли наши ожидания. Мы обязательно будем информировать вас о промежуточных этапах работы. Ссылки по теме
|
|