Совместимость в Windows
Опубликовал LG.BALUKATION на 2009/07/12
Виртуализация – прикольная штука! На первый взгляд это молодая и перспективная технология, но на самом деле её вариации десятилетиями используются в UNIX-системах и недавний бум виртуализации на PC по большей части просто порты вполне готовых решений.
Иногда эти наработки можно использовать для повышения совместимости – например в серверах IBM с AIX, почти никогда не устанавливают Linux, вместо этого её используют в отдельной виртуальной машине по мере необходимости. Подобный подход используется и в SUN Solaris 10/OpenSolaris – на машине одновременно исполняется несколько виртуальных систем, из которой собственно Solaris 10/OpenSolaris обязательно должна быть только главная (в которой работает ядро), остальные могут представлять из себя прошлые версии системы или вообще какой-нить Linux.
У мелкомягких до недавнего времени с подобными фичами было очень туго. Ниосилив поддерживать Windows на архитектурах, отличных 80×86, их серверные системы долгое время вообще не рассматривались как решения сложных задач. Однако лет пять назад они снова пытаются сунуться на 64-битные архитектуры (что в общем-то не плохо само-по-себе, но реализация меня несколько огорчает), попутно прикупая одну конторку по разработке продуктов для виртуализации и начиная выпускать её решения уже под своим именем.
Что было до того в венде? Да вроде бы ничего вообще не было, можно было только взять какую-нить стороннюю виртуалку, поставить туда ещё одну версию венды (которую тоже надо где-то взять) и гонять в ВМ нужный софт. Ессно куча ограничений и нюансов ибо юзаем не нативно, а ВМ. Это кстати при том, что у NT вполне себе модульная архитектура и снаружи она может выглядеть почти чем угодно (по-умолчанию WinAPI, немного POSIX и старой OS/2 в виде подсистем).
Потом, в Win2k/XP добавили так называемый «режим совместимости». Можно было выбирать какую систему будет из себя изображать текущая, но это не давало полной совместимости с выбранной системой и посему всё равно был не работающий софт. Постепенно набор подменяемых объектов расширялся, но и сама система не стояла на месте – вышла шестая версия с несколько изменёнными внутренностями и не работающего софта стало ещё больше. При этом мелкомягкие похоже усомнились в правильности своего пути обеспечения совместимости, решив всё-таки вместо подмены каких-то отдельных объектов воспользоваться виртуализацией целой системы.
Итак, Windows Server теперь умеет быть не единственной запущенной системой на машине, но и запускать рядом с собой ещё кого-нить. Возможно, подобый функционал есть и в Vista старших редакций – я не знаю, версии для нищебродов типа Home/etc предполагают, что пользователь сам найдёт подходящую систему виртуализации, разберётся с её работой и даже попробует использовать… Ну и «режим совместимости» по-прежнему доступен.
А вот в грядущей WinNT6.1 AKA Win7 уже собираются реализовать встроенную виртуалку именно для совместимости. Ессно не факт, что её дадут нищебродам (как скажем совместимость с POSIX традиционно требует «самых крутых» редакций системы), но вообще есть вариант с простым поднятием виртуальной WinXP SP3, интеграции её в основную систему и использование по мере необходимости (для юзера вся эта магия будет просто постановкой галочки «хочу XP!11″). При этом технически пользователь будет подсоединятся к виртуальной машине как бы удалённо, посему в новом RDP есть несколько интересных улучшений… А точнее заявлено, что он будет гораздо быстрее предшественника, обретёт возможности аппаратного ускорения графики и уже сейчас это всё демонстрируют просмотром фильмов на удалённой машине. Сдаётся мне, при такой реализации они пойдут по тем же граблям, что и X Window System.
Т. е. велик шанс в будущих версиях форточек получить относительно компактную и сбалансированную систему, при этом способную поддерживать внутри себя при необходимости и другие версии себя же (а может и не только себя). Это и впрямь может работать быстрее текущего подхода, но главное это будет проще как для разработчика (меньше кода, поддержка только текущего функционала), так и пользователя (меньше объем основной системы, наличие встроенных механизмов виртуализации к которой системы подключаются как плагины к программе, в родных пусть и виртуальных системах будут работать программы иначе никак не работающие в основной).
Так-то, вендузятнички!





Dmitry сказал
ололо
LG.BALUKATION сказал
ну подумаешь конкуренты это юзают уже лет 5-10, вендузятники вообще должны быть рады, что про них вспомнили – например Apple вот как-то не особо парится с подобными штуками +) Хотя вот в Ирбисе обещает снова включить розетту….