Источники внутри Microsoft раскрывают новые подробности о «MoBro» (современном браузере) и «улучшенном защищенном режиме» для 64-разрядной версии.
Вчера я наткнулся на заметки, судя по всему, к презентации с закрытого «совещания по подготовке IE», которое провели руководители разработки IE и Эрик Лоуренс (Eric Lawrence), менеджер по продукции в группе разработчиков IE, за несколько недель до конференции Build 2011. Эти заметки были опубликованы еще несколько месяцев назад, но никто их, похоже, не видел или просто не обращал внимания. Большинство описанных в них функций IE 10 действительно уже давно известно, но одна из упомянутых технологий до сих пор нигде не освещалась
Почти вся предложенная информация уже обсуждалась на Build, однако в заметках можно почерпнуть кое-какие сведения о менее известных или даже вовсе неизвестных усовершенствованиях производительности в WinInit (Windows Internet API) и javascript, а также об ограничениях Metro-версии Internet Explorer 10. Предлагаю краткий обзор самой интересной информации.
Тайна «улучшенного защищенного режима» в IE 10 x64
Прежде всего меня заинтересовала новая технология под названием «улучшенный защищенный режим» (Enhanced Protected Mode, EPP). Вот что говорится по этому поводу в заметках:
На новых 64-разрядных вкладках не будут выполняться 32-разрядные плагины (например, <SL5). Это можно реализовать и без улучшенного защищенного режима (EPP) для 64-разрядной версии, который изолирует вкладки в контейнерах AppContainer для дальнейшего ограничения чтения и записи (идеальный вариант для систем с высоким уровнем защиты, например, правительственных). ASLR (Address Space Layout Randomization) и ForceASLR включены по умолчанию для обеспечения дополнительной безопасности.
«Защищенный режим» впервые появился в IE 7 как механизм, позволяющий запретить вредоносным программам запись в реестр и файловую систему. Однако «улучшенный защищенный режим» – это что-то новенькое. Если я правильно понимаю, о чем говорится в заметках, он просто использует 64-разрядную версию IE 10 и изолирует вкладки в контейнерах приложений, реализуя для них те же ограничения, что и для Metro-приложений. Изучив вопрос подробнее и проконсультировавшись со знакомыми в группе разработчиков IE, я смог раздобыть выдержку из групповой политики, в которой говорится:
Улучшенный защищенный режим обеспечивает дополнительную защиту от вредоносных веб-сайтов, используя 64-разрядные процессы в 64-разрядных версиях Windows. На компьютерах под управлением Windows 8 и выше, улучшенный защищенный режим ограничивает Internet Explorer доступ для чтения данных из реестра и файловой системы.
Получается, 64-разрядные процессы IE 10.0 + контейнеры AppContainer + ASLR + защищенный режим (ограничивающий доступ к системе) = улучшенный защищенный режим? Если так, получается полностью изолированный браузер – правда, БЕЗ плагинов, но зато максимально защищенный. Я бы включил этот режим, не раздумывая.
Ограничения IE 10 «MoBro»
Как известно, Windows 8 включает две разные версии IE 10 – традиционный, «классический» IE 10 и Metro-приложение Internet Explorer, которое разработчики между собой называют «MoBro/современный иммерсивный браузер (Modern Immersive Browser)/MIB». В заметках упоминается, что браузеры имеют общие настройки и параметры, но работают «в контексте» – то есть, если нажать ссылку в Outlook, откроется настольная версия IE 10, а если в Metro-приложении – запустится MoBro.
Кроме того, в заметках говорится, что MoBro не поддерживает не только плагины и модули Browser Helper Object, но и буквально все сторонние компоненты, включая обработчики протоколов (например, RSS-ридеры). Разработчики IE прекрасно понимают, что не существует надежного способа проверки, в каком режиме пользователь работает, но к сожалению, их это, похоже, совсем не волнует, что, на мой взгляд, неправильно. Хотя бы дайте пользователям возможность переключаться на классический рабочий стол, если веб-сайт использует неподдерживаемый контент или требует наличия плагинов.
Не менее жесткие ограничения действуют и для подавляющей части видео-контента. Прежде всего, не поддерживается DRM (управление цифровыми правами), и хотя DRM практически все ненавидят, некоторым вещателям все равно приходится использовать эту технологию. После ознакомления с этими заметками я задался вопросом, как распространители HD-контента будут поддерживать Metro-версию IE 10, если нельзя использовать DRM. Каждый будет предлагать собственное приложение?
Формат Windows Media Video V1-3 тоже не поддерживается. Судя по всему, отсутствует в MoBro и поддержка WEBGL 3D. Нет, я понимаю – переход на HTML5 и все такое – но по-моему, такие ограничения – это все же слишком.
javascript и повышение производительности браузера
Чтобы улучшить быстродействие, компилятор javascript, похоже, оптимизировали, а во встроенный движок javascript добавили «целый ряд новых функций». Вот что говорится в заметках:
... такие как новые функции html5 и WebWorkers, изменения в JITing и т. д.). Поддержка ECMA 5.0 – см. http://test262.ecmascript.org/. Без многоядерных процессоров в дорожной карте; поддерживается до 100 сценариев WebWorker; Watson (только для MoBro); новые типизированные массивы используют нативный буфер; поддерживается режим Strict, который может запретить javascript попытку выполнения функций eval, поскольку в режиме Strict они не выполняются (так что результат ниже будет 10 вместо ожидаемых 5).
Чтобы ускорить работу браузера и Интернета в целом, в Windows 8, похоже, усовершенствовали WinInet – интерфейс прикладного программирования Windows Internet. Как следует из этих заметок, подключения к сайтам теперь кэшируются (и поддерживаются) и повторно используются для выполнения нескольких GET-запросов на одной странице, что сокращает трафик и повышает быстродействие. Поскольку IE 10 – не единственное приложение, использующее WinInet, другим онлайн-программам это тоже пойдет на пользу. К тому же, уменьшились затраты системных ресурсов на обслуживание WinInet, поскольку теперь все вкладки/запущенные экземпляры IE используют всего одну службу WinInet вместо того, чтобы создавать отдельные процессы WinInet.
Скоро появятся новые подробности по поводу этих загадочных заметок. Следите за новостями.