НовостиСобытияКонференцииФорумыIT@Work
Идеи и практики автоматизации:

Блог

Концептуально новая Windows 9 выйдет уже через два года

Покупаете Windows 8? Не спешите, эта система станет самой короткоживущей ОС от Microsoft.

Итак (пока неофициально), Windows 9 developer preview будет представлена на BUILD 2013, бета появится на CES 2014, RC -- на MIX 2014, финальная презентация девятки с 12-м осликом намечена на BUILD 2014, а продажи последуют тем же ноябрем.

Давайте попробуем понять, что за зверь такой будет "Windows 9", чего ожидать от этой ОС, зачем она нужна и почему Windows 8 не проживет и двух лет? Для этого вкратце вспомним причины появления прежних версий Windows.

Windows 95 стала первой полноценной ОС Microsoft для 32-разрядных процессоров (Windows 3.x фактически была графической оболочкой для MS DOS), но UI-подсистема осталась 16-разрядной, из-за чего 95-я была не более устойчива, чем Windows 3. Требовала она проц 66 МГц, 16 Мб ОЗУ и 195 Мб диска.

В 98-й было исправлено множество ошибок, фактически появился привычный программистам и по сей день Win32 API, и за счет относительной устойчивости сроки ее суппорта продержались аж до 2006 г.

Windows XP вышла уже на базе ядра NT и оказалась столь удачной и уже реально стабильной, что… ну вы сами знаете. Требовался процессор 300 МГц, 128 Мб ОЗУ и 1,5 Гб диска (SP2 -- еще 1,8 Гб).

Vista -- это был самый провальный эксперимент Microsoft с клиентской ОС и UI. Она была заметно лучше защищена (на ней зафиксировано на треть меньше вирусов), но так как рассчитывалась на конечных пользователей, возник серьезный конфликт между удобством использования и раздражающими настройками и напоминалками безопасности. А главное, виста крайне неудачно справлялась с железом, постоянно конфликтовала на самых разных конфигурациях. Да и системные требования по тем временам оказались слишком завышенные -- они фактически такие же,  как в Windows 7! Процессор 1 ГГц / ОЗУ 1 Гб / 20 Гб диска.

Семерка (полноценная поддержка 64-х разрядов и многоядерных архитектур) разве что памяти просит в два раза побольше. В Windows 7 правда помедленнее работают XP-приложения, а также не ставятся драйверы на устройства, вышедшие до 2005 года. Знакомые музыканты говорили, что используют Vista, потому что драйверов под музыкальное железо для семерки не найти.

Windows 8, что крайне нехарактерно для Microsoft, обходится такими же минимальными требованиями, как и семерка, да и позиционируется как оптимизированная Windows 7. Хотя это лукавство конечно -- были и пентиумы, работавшие на 1 ГГц, попробуйте запустить на них эту ОС :) С другой стороны, пока не придумали более понятного критерия производительности для масс-юзера, нежели тактовая частота.

Эксперты рекомендуют увеличить эти требования в четыре раза, обновить графическую плату от DirectX 10, и в качестве жесткого диска применять скоростные SSD-накопители. Но главное в восьмерке, как известно -- это UI Metro, поддержка планшетов и принципиально новый универсальный интерфейс программирования WinRT.

На первый взгляд, Microsoft решила все основные проблемы, и зачем может понадобиться новая Windows (если исключить аспект профита)?

Причин, с учетом предыстории этой ОС и общеизвестных технотрендов, две:
1. Windows 9 будет  "технологической" версией -- в нее наконец войдут все интересные идеи, которые накопились за долгие годы разработки последних Windows. Уже упоминается поддержка 128-разрядной архитектуры и многострадальная файловая система WinFS (когда файлы не рассортированы по папкам, а хранятся как записи в таблицах; фактически вместо файловой системы используется движок MS SQL Server).
2. Windows 9 реализует кардинально новую концепцию -- станет полностью облачной/браузерной/...

По доступной на сегодня информации, Microsoft, наконец-то, создает гениальное :) технологическое решение, которое разом пришибет всех зайцев! Оно пытается дотянуться до пока не превзойденной по своей глубине системы Smalltalk (существуют только объекты, которые надо запускать на выполнение без дополнительных системных вызовов), которую Алан Кей недавно описывал так:

Современные ОС, как и браузеры, перенасыщены функциональными возможностями. Их главная задача -- обеспечивать безопасность исполняемого кода, и всё. Так, ядро Unix составляло одну тысячу строк кода…
А загрузка компьютера? В этом никогда не было необходимости. Мегабайты функций, тысячи системных вызовов -- и только для того, чтобы получить по сети нужный объект (веб-страничку)...
У нас в лаборатории PARC не было ни ОС, ни прикладных программ. Задача пользовательского интерфейса -- попросить объекты показать себя и синхронизировать свои представления на экране, этого достаточно...

Сперва познакомимся с новым UI Windows 9. Он будет полностью и окончательно унифицирован, предоставит пользователю единый рабочий стол, на котором можно будет размещать и всячески состыковывать плавающие окна (примерно как в Visual Studio), обеспечит полноценное голосовое управление, всесторонняя поддержка интернета будет встроена в недра ОС (концепция универсального виртуального сетевого драйвера), вместо файлового дерева каталогов появятся "файловые окна" (аналоги папок) с хранящимися в них файлами (явный дух WinFS).

Но главное отличие девятки -- идеологическое. Она будет представлять собой виртуальную систему, видимо, на базе Hyper-V, и позволит например на лету переключаться между копиями запущенных в ней ОС. Так, в зависимости от нужд, вы можете установить Windows 3.1, семерку и, не исключено, линукс, и переключаться между ними в процессе работы в горячем режиме. На уровне ядра обеспечивается повсеместная изоляция процессов (Software Isolated Processes) и шифрование всех данных. Обещана также поддержка кластеров.

Зачем так делается? Microsoft создает унифицированную ОС, которая сможет работать на любом железе (как Java) и любых архитектурах. Не будет такого деления версий, как сегодня -- это для ПК, это для телефонов, это для планшетов; это для конечного пользователя, это для серверных задач; это для Intel, это для ARM. Хотя конечно выйдет например Windows Phone 9, но она просто представит собой ограниченное ядро Windows 9 с настройками, заточенными под телефонные функции.
Главное, программа, написанная для девятки, сможет работать и на ПК, и на телефоне, и даже на Xbox. Пишется однажды, работает везде!
Кстати, такую попытку Microsoft однажды уже делала, с платформой .NET -- но неудачно. В .NET оказалось слишком много завязок на тяжелое наследство Win32, и сделать ее истинно кросс-платформной так и не удалось.

Корни же нового замысла вроде уходят в проекты Singularity и Verve -- экспериментальной ОС, ядро которой Nucleus было написано на C# и затем странслировано в так называемый типозащищенный ассемблер TAL (typed assembly language), причем корректность результирующего кода проверялась автоматической системой верификации, реализующей логику Хоара. В пользу этого говорит и слух, что Windows 9 написана именно на TAL (что в частности позволит исключить все виды хакерских атак на переполнение буфера).

Работать же девятка будет только на 64- и, возможно, 128-разрядных процессорах.

Резюме. Win32 API скорее всего окончательно удалится -- Microsoft уже объявила о грядущем отказе от поддержки 32-разрядных приложений [в этот момент Windows 7 показала мне синий экран смерти:)]. Базовой платформой программирования для всех платформ на долгие годы становится WinRT/Metro, своеобразный аналог Java для мира Windows. С прикладной точки зрения Windows 9 представит собой нынешнее "новое" (WinRT) ядро Windows 8, а в качестве UI будет допиленное до некоего универсализима Metro. Только запущено это ядро будет в виртуальной машине, обеспечивающей высокий уровень защиты и надежности, и при желании на компьютер можно будет установить любые другие ОС и пользоваться всеми ими одновременно.

Таким образом Windows 8 -- это переходный продукт, который:
а) играет хитрую роль моральной подготовки общественного мнения и в частности всего программистского коммьюнити к забвению всего, связанного с Win32, и тотальному переходу на ядро WinRT (недаром такие усилия Microsoft прикладывает к продвижению именно Metro);
б) выполняет роль тестовой лошадки WinRT/Metro для Windows 9 -- пусть пользователи восьмерки за счет своего потерянного времени выявят основные баги и недочеты. Исправленная же WinRT, улучшенный Metro и различные облачные фичи типа SkyDrive и войдут в девятку, но уже без Win32 API.

Не исключено, кстати, что Microsoft после XP исходно работала прежде всего над Windows 9, а Windows 8 выпускает как некий урезанный тестовый-промежуточный релиз текущих наработок.

мнение автора может сильно отличаться от реального положения дел :)
Vladimir
Такое чувство, что дилетанты обсуждают труд дилетанта, основанный на усвоении ими разглагольствований неких "аналитиков", которые сами-то не особо понимают о чем говорят. .NET не был успешен, не (тру) кроссплатформенный? Чушь. Облачные ОС? Браузерные ОС? Chrome OS и Firefox OS - вот они. Есть уже. Они Вас устраивают? Нельзя сделать полноценную ОС браузерной или облачной. Теряется смысл вычислительной системы. Доступ к интернету должен расширять возможности обмена информацией, а не функционирования ОС. Window 8/RT/WP8 - шаг к унификации UI + API. Никак не шаг в сторону браузерной ОС.
Базовой платформой программирования для всех платформ на долгие годы становится WinRT/Metro, своеобразный аналог Java для мира Windows
Это я даже комментировать не возьмусь, настолько это некомпетентное высказывание. К труду человека, написавшего статью, я безусловно, отношусь уважительно. Но не к статье. Очередной раз убеждаюсь, что мир ИТ должны освещать служители освещаемой области.
Vladimir
В восьмерке работает принципиально новое ядро WinRT, с Win32 API вообще несовместимое.
Простите, но это бред. При всем уважении, писать такие статьи должны компетентные люди. Не любители.
Vladimir
WinRT. Если под этим именем Вы подразумеваете Window Runtime, то что Вы имеете в виду, говоря  
А WinRT судя по всему будет нечто универсальное, Java-подобное. Ежели потребуется 32-разрядное что-то активно эксплуатировать
Java - язык программирования (иногда подразумевается и средство его исполнения JVM). Window Runtime - API. Win32 - редакция Windows API для 32-разрядных архитектур. WinRT реализован как в х86-редакции Window 8, так и в ARM-редакции. Насколько мне известно, ARM-процессоры текущих поколений работают именно с 32-разрядной системой адресации. WinRT, повторюсь, это API. погуглите, что такое API. Это не язык. Это не среда исполнениея, не виртуальная машина, не интерпретатор. От Window API Microsoft, думаю, в ближайшем десятилетии не откажется. Также под WinRT может подразумеваться ядро или ОС WindowsRT( ARM - редакция Windows 8), но тогда при чем тут разряды? И какие 64/128 разрядов? ARM, на данный момент - архитектура с 32-разрядной адресацией. Ей больше НЕ НАДО.