Parallels переключение usb. Совмещаем Mac OS X и Windows с помощью Parallels. Функции для разработчиков и IT-специалистов

Parallels переключение usb. Совмещаем Mac OS X и Windows с помощью Parallels. Функции для разработчиков и IT-специалистов

Parallels Desktop - программа, которая позволяет установить и работать в других операционных системах прямо в macOS. Например, я установил себе Windows 10 и Kali Linux и запускаю их, когда нужно.

👨‍💻 Parallels Desktop 14 для Mac: скачать демо / купить

Преимущество Parallels Desktop в том, что вы можете поставить совершенно любую ОС, а для работы с ними не нужно перезагружать Mac, как в случае Boot Camp.


Я использую Parallels Desktop для запуска Windows 10 и Kali Linux

Часто задаваемый вопрос - зачем нужен Parallels Desktop, если есть встроенный в систему Boot Camp. Отвечаю: Bootcamp не является средством виртуализации и не исключает использование виртуальной машины. Bootcamp просто создаёт дополнительный раздел на диске для установки Windows и прописывает его в системный загрузчик. Вы не можете использовать такой Windows одновременно с macOS, придётся перезагружаться.

По умолчанию в Parallels Desktop для Mac выставлены настройки, которые являются оптимальными для среднестатистического обывателя. Но у нас PD используется главным образом продвинутыми пользователями, у которых к платформе виртуализации вполне конкретные требования - быстродействие и длительное время работы от батареи.

Итак... куда же нужно нажать, чтобы гостевая Windows работала быстрее и меньше «ела» батарейку?

Совет 1. Задаём оптимальный объем ОЗУ для гостевой ОС и её приложений

Восьми гигабайт ОЗУ, которыми, как правило, комплектуются современные компьютеры Mac, хватает, чтобы macOS и Windows работали одновременно с нормальной скоростью.

По умолчанию в Parallels Desktop для гостевой операционки отведёно 2 Гб оперативной памяти. Как ни странно, двух гигабайт может быть даже слишком много, если вы регулярно запускаете, например, не требовательные приложения вроде Office, Edge и Блокнот.

Перебор с количеством памяти для виртуальной машины грозит «тормозами» macOS: вы отберёте необходимые ресурсы у системы, из-за чего она вынуждена использовать файл подкачки.

В идеале нужно выяснить, сколько оперативной памяти потребляет виртуальная Windows вместе с запущенными под ней нужными вам приложениями и назначить соответствующее значение в настройках Parallels Desktop.

Алгоритм выглядит так:

  • запускаем Windows в Parallels Desktop на Маке;
  • ждём, пока гостевая ОС полностью загрузится;
  • запускаем нужные приложения. В нашем случае - это Edge с тремя достаточно «тяжёлыми» сайтами, Paint и Блокнот;
  • открываем Resource Monitor, и смотрим потребляемое количество ОЗУ во вкладке Память. Именно это значение (+10% на всякий случай) и нужно будет использовать для установки оперативной памяти для виртуальной машины;

C нужными мне приложениями потребление ОЗУ держится на уровне 1.6 ГБ
  • Выключаем виртуальную машину через Parallels Desktop. Затем выставляем ограничение по ОЗУ в настройках:

Виртуальная машина ▸ Настроить… ▸ ЦП и память


В моей машине 16 ГБ ОЗУ, поэтому я поставлю выделю для WIndows 10 4 ГБ

При прекращении работы с приложениями в гостевой ОС, пользователь закрывает свои программы в ней и останавливает виртуальную машину. Когда гостевые приложения снова нужны, процесс повторяется в обратном порядке. Все это отнимает кучу времени, которое легко экономится использованием функций Приостановить/Возобновить.

Вместо того, чтобы закрывать Parallels Desktop, выберите Действия ▸ Приостановить.


Виртуальная Windows 10 может «замораживается» вместе с открытыми в ней приложениями. Это удобно, когда нужно быстро возобновить работу виртуальной машины со всеми открытыми программами. Причём система выводится из спячки буквально за секунды вместе со всеми ранее открытыми программами.


Состояние памяти и состояние внутренних устройств виртуального компьютера сохраняется на диске в виде файла. Этот файл потом «разворачивается» средствами Parallels Desktop.

При использовании функции Приостановить/Возобновить вместо одной-двух минут ожидания загрузки Windows и её приложений на все про все уходит от силы секунд десять. Экономия времени колоссальная.

Этот трюк хорош для обладателей 15-дюймовых MacBook Pro. В них есть два видеоадаптера - интегрированный и дискретный. Дискретная видеокарта - один из самых прожорливых компонентов. Если ваша цель - максимальная автономность и длительное время работы компьютера от батареи, лучше отключить дискретную карту в Windows 10.

MacBook переключаются на дискретную графику сразу же, как в этом возникает необходимость. Переключаться обратно на интегрированную они не будут пока не завершится программа, вызвавшая переключение. Поэтому, если в виртуальной машине включено 3D-ускорение, дискретный графический адаптер останется включённым до выхода из Parallels Desktop.

Для настройки Parallels Desktop на экономичный режим работы, отключите 3D-режим в:

Виртуальная машина ▸ Настроить… ▸ Обородывание


Отключение 3D-ускорения экономит батарею на MacBook Pro с дискретной графикой

Мы отключили 3D-эффекты, но пока не уменьшили количество видеопамяти, отведённой для виртуальной машины: сохранилось её значение по умолчанию - в нашем случае это 256 Мб. Поскольку такой огромный объем для графики просто не нужен, имеет смысл отдать «лишнюю» память хосту.

Для отрисовки простого интерфейса Windows 10 хватит 32 МБ. Поэтому лучше установить это праметр в автоматический режим. В этом случае PD будет использовать минимальное количество памяти видеоадаптера.


А «автоматическом» режиме Parallels Desktop использует минимально необходимое количество видеопамяти

Если же у вас Mac только с интегрированной видеокартой (13-дюймовые модели), то достаточно зайти во вкладку Оптимизация и уменьшить количество ресурсов, которое потребляет виртуальная машина.

По-умолчанию стоит значение «Без ограничений». Рекомендую поставить на «Средний».


Определите, сколько ресурсов может потреблять виртуальная машина

Эти действия помогут выиграть 1,5-2 часа времени работы от батарейки. Правда, запускать при таких настройках что-то «тяжёлое» уже не получится. Но для приложений, использующих 3D, есть специальные настройки (см. Совет 5).

Гостевая ОС запущенная под macOS, как правило, используется для работы с рядом вполне конкретных приложений - все остальные задачи успешно решаются средствами macOS. В связи с этим, Windows может обойтись весьма скромным объёмом памяти на жёстком диске. По умолчанию в PD «гостю» отдано максимальный объем диска.

Если вы не хотите, чтобы гостевая система в какой-то момент заняла все свободное пространство, то установите лимит.

Виртуальная машина ▸ Обороудывание ▸ Жесткий диск


Ограничил максимальный объем виртуального диска под Windows 10 до 32 ГБ

Если впоследствии вам понадобится увеличить размеры диска для виртуальной машины, это всегда можно сделать через настройки здесь же.

Parallels Desktop можно настроить так, чтобы гостевая Windows показывала в играх максимальное быстродействие.

Процессоры свежих Маков имеют по 4-6 ядер. Если вы собираетесь поиграть в виртуальной машине, вам нужно переключить все имеющиеся ядра на поддержку гостевой ОС.

Для этого достаточно включить профиль «Только игры».

Виртуальная машина ▸ Общее ▸ Конфигурация ▸ Изменить


Переключение виртуальной Windows 10 в «игровой режим»

Вы можете задействовать для игр то количество процессоров, которое посчитаете нужным. Наибольший эффект от этой опции получится в играх, которые поддерживают многопоточность.


«Игровой режим» включает все ядра процессора и увеличивает объем ОЗУ до 8 ГБ

Выделенное, но не используемое место под виртуальную машину всегда можно вернуть обратно в macOS. Для этого достаточно нажать кнопку Освободить.

Виртуальная машина ▸ Общее ▸ Освободить


Передача всех ресурсов виртуальной машины обратно в macOS

Снапошоты - отличный инструмент для разработчиков и экспериментаторов, но для обычного пользователя они не особо интересны, да и забытый снапшот - куча потраченного места.

По умолчанию автоматическое создание снапшотов отключено, но лучше убедится в этом ещё раз.

Виртуальная машина ▸ Резервная копия ▸ SmartGuard

Если снапшоты все же изредка нужны, тот тут же можно настроить правила их создания.


Отключите снапшоты, чтобы сэкономить место на диске

Видеть в доке Mac OS X программы, привычные по Windows, как минимум странно, а уж наблюдать окно Internet Exploerer, соседствующее с Mail и Finder — вообще удивительно. Секрет, конечно, прост: на компьютере работает Parallels Desktop 5 в режиме Crystal — виртуальная машина, прячущая интерфейс Windows с глаз долой и «вытаскивающая» программы, работающие внутри него, в среду Mac OS X.

Решиться перейти с Windows на Mac OS X для многих не так просто: казалось бы и новая система нравится, но нет какого-то нужного приложения. И заполучить его можно даже не мечтать: мало ли на свете профессионального софта, разработчик которого не соберётся портировать программу на «мак», а то и вовсе давно забросивший поддержку. Как раз в этом случае и спасает Parallels Desktop.

Установка

Установка приложения происходит максимально безболезненно — установщик совершенно обычный, хоть и требующий от пользователя ввести администраторский пароль.

Следующее, что нужно сделать — установить Windows. Для этого выбираем из меню соответствующий пункт и вставляем диск с системой. После этого момента останется лишь наблюдать за индикатором — установка происходит практически без вопросов. Пожалуй, это даже проще чем установка Windows на чистый диск (особенно, если учесть, что в это время можно продолжать заниматься своими делами, от которых не отвлекут даже перезагрузки).

Диск, кстати, разбивать не требуется. То есть можно, конечно, это предварительно сделать и устанавливать систему в новый раздел при помощи Boot Camp — тогда станет возможной и обычная загрузка Windows и запуск системы из Parallels Desktop. Но если наша цель — работа с парой приложений, то достаточно сохранить образ виртуальной машины в файловой системе Mac OS X. Так он будет занимать ровно столько места, сколько необходимо.


Если приглядеться, можно увидеть, что в качестве фона на экране выключенной виртуальной машины используется скриншот, сделанный перед приостановкой

После первой загрузки виртуальной машины пользователю будет предложено установить набор утилит Parallels Tools. Отказываться не стоит — без них не заработают наиболее ценные функции Parallels.

Режимы работы

Когда процесс установки и последующая перезагрузка будут завершены, можно наконец переходить к самому интересному — переводить Parallels в режим Coherence или Crystal. Первый из них присутствовал и в прошлых версиях, второй — новый и усовершенствованный.

В обоих режимах рабочий стол и панель задач Windows будут убраны, а вместо них в доке Mac OS X начнут появляться значки программ, запущенных внутри виртуальной машины. К сожалению, делается это не как в Mac OS X, где все окна одной программы собраны под одним значком, а как в Windows с отключенным режимом группировки окон — на каждое окно по значку.

Запускать программы тоже можно прямо из Mac OS X — в каталоге с приложениями будет создана папка, отражающая содержимое меню «Пуск» в Windows. То есть, можно, например, оттуда запустить Windows Media Player, и он появится среди маковских окон.

Значки, обычно отображаемые в Windows в системном лотке переедут туда, где им положено быть в Mac OS X — в левой части менюбара — верхней полоски меню.

Само меню «Пуск» также доступно из интерфейса Mac OS X: оно появляется, если кликнуть на значок Parallels в доке. Режим Crystal идёт ещё дальше: в нём логотип Parallels отображается не в доке, а также спрятан в менюбар. «Пуск» и настройки виртуальной машины оттуда открываются точно так же как и в Coherence.


Выйти из полноэкранного режима можно наведя курсор мыши на уголок экрана. Сразу становится очевидно — где-то под Windows запрятана Mac OS X

Переходим в полноэкранный режим. Если разрешить Parallels Tools подключить маковские папки как сетевые, то Windows окажется уже практически обжитым: на рабочем столе — те же файлы, что и в Mac OS X, в документах — маковские документы, разделённые на подкаталоги с загруженными файлами, картиками, музыкой и фильмами. Каждый из этих каталогов Parallels связывает с аналогичными каталогами в Mac OS X, и все изменения сделанный в одной системе тут же отображаются в другой.

Прочие приятности

Окна Windows в окружении маковских программ выглядят, прямо скажем, неместными, но это тоже можно попытаться исправить. Выбираем в меню Parallels пункт «использовать MacLook» и Parallels переоденет Windows в нечто, отдалённо напоминающее маковскую серо-металлическую тему. Отличить окно Windows при этом не составит труда (по шрифтам, к примеру, или по заметной полосе под заголовком окна), но, по крайней мере, выбиваются из общего стиля они уже не так сильно.


Кто бы мог подумать, что «Проводник» Windows может выглядить так по-маковски? Практически волк в овечьей шкуре

Даже открытие файлов можно настроить так, чтобы документы нужных типов передавались программам для Windows. И наоборот: при установленном Parallels Tools в контекстном меню проводника Windows появится пункт «Открыть на Mac». Выбираем его, и файл откроется в Mac OS X — в той программе, к которой привязан соответствующий тип.


Когда виртуальная машина запущена, из Mac OS X видно содержимое диска Windows


Поддерживаются голосовые команды — они будут работать наряду с встроенными в Mac OS X командам. Эту функцию мы не тестировали

Поддерживается и передача данных через буфер обмена: строки или даже картинки, скопированные из Mac OS X можно вставить в Windows и наоборот. Файлы копировать через буфер обмена нельзя, зато поддерживается перетаскивание. Правда, лишь в одну сторону: из Mac OS X — на окна или значки программ Windows. Можно, например, перетащить картинку с маковского рабочего стола на значок виндоусовского Paint в доке и она там откроется.


При появлении в системе нового устройства или сменного носителя, Parallels предложит подключить его к виртуальной машине

В Windows теперь можно использовать «жесты» Mac OS X — это пригодится, если используется MacBook с трекпадом, поддерживающим мультитач, Magic Mouse или Magic Trackpad. Пульт Apple Remote тоже легко задействовать и управлять с него, скажем, презентациями в PowerPoint для Windows.

Обычно при переключением между системами (в других средствах виртуализации или просто когда имеется два компьютера) возникают всякие типичные сложности: тем, кто в Mac OS X привык переключать клавиатурные раскладки сочетанием Cmd-Space, будет неудобно использовать Ctrl- или Alt-Shift в Windows. То же и с сочетаниями клавиш: они бывают похожими в обеих системах, но в Windows исполняются с Ctrl, а в Mac — c Cmd.

В Parallels продуман даже этот вопрос. В настройках программы можно указать, какие сочетания, используемые на Mac, нужно транслировать в команды Windows. Большинство стандартных настроек типа перевода маковских команд копирования, вставки и тому подобное в соответствующие команды Windows уже настроены по умолчанию. Конечно, для полного комфорта придётся переназначить куда большее количество сочетаний, но обеспечить себе минимальное удобство не составит труда.

Итоги

В Parallels Desktop 5 ещё много функций, которые могут пригодиться продвинутым пользователям: есть, к примеру, запись видео, управление снимками памяти, импорт файлов виртуальных машин VMWare и VirtualBox и ещё многие интересные штуковины. Есть даже возможность получать доступ к запущенной внутри Parallels операционной системе с устройства на iOS — для этого в Apple App Store есть бесплатная программа.

В общем, Parallels достиг невиданных высот в деле сращивания Windows с Mac OS X. Если пользоваться им постоянно, со временем перестаёшь обращать внимание на то, что в одной операционной системе работает вторая. Ощутимое время занимает лишь запуск Parallels и Windows, но если памяти достаточно, их можно при необходимости просто не выключать.


В свёрнутом состоянии Parallels занимает не так много оперативной памяти, но на диске должно быть свободно нескольких гигабайтов для файла подкачки

В виртуальную машину позволяется устанавливать даже DirectX и любые игры (хоть Crysis), однако играть во что-то современное комфортно получится лишь на самых мощных компьютерах. Впрочем, в следующей версии Parallels упор будет сделан именно на производительность. Что, конечно, не помешает списку функций вырасти ещё больше.

Сейчас в нашей последней версии Parallels Desktop 9 for Mac есть 75 новых функций. Из них 33 так или иначе связаны с интеграцией OS X и Windows. А в самых первых версиях продукта эти функции были попросту базовыми. Сегодня специально для Хабра пишем о том, что и как было придумано, чтобы Windows и Mac жили вместе долго и счастливо, зачем «внедрились» в «Проводник» и как обманули мышь.
Александр Гречишкин, руководитель Integration Team в Parallels

- С чего все началось?
А.Г.:
Сначала нам нужно было воспользоваться теми технологиями, которые в то время уже были на рынке. Виртуализация и эмуляция существовали еще с 1990-ых годов, и даже были решения для работы с одними ОС на компьютерах под другими ОС. Поэтому задачи в первых версиях у нас были такие: во-первых, сделать технологии и базовые функции точно такими же, как в уже существующих решениях. Во-вторых, придумать что-то свое, оригинальное. «Своими» уникальными функциями стали режим Coherence (возможность видеть и работать с Windows-программами на Mac так, как будто это родные приложения OS X) и Shared applications (иконки программ Windows в панели приложений Dock).

Функция Coherence позволяет полностью скрыть сам Windows, оставив только само приложение. В простонародье этот режим называют «Не показывать десктоп Windows». Звучит очень просто, но чтобы реализовать эту возможность, нам потребовалась масса усилий. Это очень тяжелая технология, связанная со множеством программных проблем и необходимостью решать их нестандартными способами. Ее также сложно поддерживать. И, кстати, она до сих пор развивается.
Конечно, дальше - с каждой новой версией - нам приходилось придумывать и реализовывать все новые и новые вещи, аналогов которым не было. Но изначально половину базовой интеграции типа Mouse Synchronization, Shared folders, Copy-Paste, Drag&Drop, Time-синхронизации мы делали по аналогии с тем, что уже в каком-то виде было. Например, существовало достаточно много виртуализационных эмуляторов (под разные платформы) со своим набором функций. Выпускать новый продукт без этого набора было бы просто бессмысленно.
Конечно, мы могли бы создать эмулятор вообще без интеграции, что-то типа DOSbox (в котором интерграционных функций нет, зато он прекрасно запускает старые dosовские игрушки). Кстати, у нас до сих пор есть некоторое количество пользователей, которые работают с Parallels Desktop по такому же принципу: запускают виртуальную машину, в ней работает Windows в окне, и больше им ничего не надо.
Но, понятное дело, путь развития подавляющего большинства программных продуктов – эволюционный: сначала надо сделать базовую функциональность, а потом ее постепенно расширять. Пользователя нужно замотивировать перейти на новую версию (особенно если она платная). И не только за счет увеличения скорости, поддержки новых технологий (например, нового Direct X), улучшенной стабильности и прочего, но и привлечь интересными и полезными фичами. В нашем случае такой кастомизацией - «тюнингом» продукта - очень часто выступает интеграция – сначала так было с Windows, а потом и с другими ОС.

- И на что ориентировались среди существовавших технологий?
А.Г.:
Вообще идея была такая: реализовать виртуализационную технологию так, как это сделано у Apple. В 2005 году Стив Джобс заявил о планах Apple «прикончить» PowerPC на своих компьютерах и перейти на чипы Intel. В 2009 году появилась OS X 10.6 Snow Leopard, первая операционная система Apple, больше не поддерживающая PowerPC. Но, скорее всего, у них все началось еще десять с половиной лет назад, когда Apple начала составлять график модернизации своей Mac OS и план перехода на x86.
Им пришлось перейти с Mac OS 9, заточенной под старое железо, на Mac OS X, а для поддержки всех существующих программ написать свой эмулятор. Они сделали это достаточно эффективно, с высоким быстродействием, и, что важно, эта технология оказалась очень прозрачной и «незаметной» для пользователя. Пользователь кликает на программу, написанную под PowerPC, на своем компьютере, и открывается тот же Coherence, то же самое окно под эту программу. Единственное, что в ней уживаются не две разных операционных системы, а две Mac OS – старая и новая. В общем, очень похоже на нас.
К сожалению, в то время разработчики Parallels Desktop не знали о существовании в Mac OS X технологии Rosetta – динамического транслятора для запуска приложений под PowerPC на компьютерах с процессорами Intel. Мне пришлось даже принести им свой компьютер из дома, чтобы ее показать. Принес, показал – и разработчики признали в технологии наш Coherence, хотя и реализованный иначе: что-то между Wine и простым эмулятором. И в итоге у нас выкристаллизовалась идея сделать как у Apple в том отношении, чтобы пользователю не показывалось никаких загрузочных образов и виртуальных оболочек от Parallels Desktop. Например, чтобы сразу открывался Word, и при этом обычный пользователь даже не догадывался, что это приложение лежит не в папке Application, а где-то еще.

- Как разрабатывался Coherence?
А.Г.:
Автором идеи был Сергей Белоусов (прим. - основатель компании Parallels) , он тогда ходил по офису и рассказывал всем желающим, что есть гениальная идея - убрать десктоп, чтобы все виндовые окна выглядели бы точно так же, как маковские. Мы сразу же поняли, что эта идея очень хорошая и нужно над ней работать. «Вырезать окошко и убрать десктоп» мы смогли достаточно быстро и просто. А затем вся технология представления Coherence была написана одним-единственным человеком, который до сих пор у нас работает – Сергеем Концовым. На достижение того, чтобы пользователь практически не заметил отличий между приложениями Windows и Mac, ушли годы кропотливого труда.
Доказательством тому, что идея и правда была хорошей, стало то, что ее потом у нас все скопировали. Но в начале пути мы не были уверены в том, что технология станет революционной. И хотя Белоусов нас уверял, что все будут на ней работать, мы все-таки постеснялись поставить ее по умолчанию при загрузке виртуальной машины в первой же версии (прим. - слева - скриншот с версии 2.5) . Но как только поняли, что это работает и пользуется популярностью, то сразу поставили по умолчанию (с версии 3.0). И этот режим до сих пор в лидерах, им в Parallels Desktop пользуется почти 80% юзеров.
Также реализовали простую инсталляцию Windows через Wizard, чтобы пользователь просто нажимал пару кнопок и получал свою вирутальную ОС. Эта технология была заимствована у OEM-установщиков, но впервые для конечных пользователей была реализована именно у нас в продукте.
Мы так долго работали с Coherence еще и потому, что это название из одного слова объединяет на самом деле много технологий. В частности, туда входит такая большая функция, как Shared Applications, которая заставляет пользователя видеть тот же Microsoft Word как нативное приложение в Маке. Вот это и есть самое сложное. Внешне функция выглядит просто, но «внутри» скрыто много логики, над которой мы до сих пор продолжаем работать.
В Coherence вложено 15 человеко-лет – целая карьера программиста. И этот код составляет около 8% всех исходников Parallels Desktop – настолько это большой и сложный продукт.

- Что еще было так же сложно сделать?
А.Г.:
Сложность может быть разная. Программная сложность, алгоритимическая, сложность понять, как реализовать вещь или как она будет работать. Часто нам приходилось идти совершенно нетривиальным путем.
Например, расскажу про функцию, ради которой пришлось влезть во внутренности Windows. Есть у нас такая технология - SmartMount. Вот в чем ее суть: когда пользователь втыкает флешку в компьютер Mac, то она появляется только на маковском десктопе. Человек, работающий в режиме Coherence, хочет полной интеграции – то есть видеть содержимое своей флешки и в Windows. Но, чтобы она там появилась, ее нужно переконнектить в виртуальную машину, а ведь делать это каждый раз очень неудобно. Мы решили использовать Shared Folders. Поскольку эта функция представляет из себя драйвер сетевой файловой системы и показывается в Windows как сетевой носитель, то, когда флешка коннкетится в Мак, мы пробрасываем ее через Shared Folders в Windows. Тогда она автоматически попадает в Network location. Но пользователю непонятно, что свою флешку он должен найти именно в Network location: он привык, что это USB-девайс, который выглядит определенным образом и показывается именно там, где и все removable media. Стандартными способами невозможно сделать так, чтобы сетевая шара показывалась в списке устройств как подключаемый девайс и при этом еще и отражалась как USB. И вот наш разработчик Василий Жданов «внедрился» (назовем это так) в «Проводник», и доходчиво «объяснил» этой программе, что вот эту вещь надо показывать именно так. И теперь у нас SmartMount показывает USB-флешки как внешние накопители.


Вставили флешку


Увидели флешку

Или можно привести в пример оригинального способа решения задачи Smart Mouse – технологии, которая позволяет компьютерной мышке адаптироваться к тому приложению, с которым пользователь сейчас работает. Если это офисное приложение – она ведет себя одним образом, если игрушка – по-другому.
В Parallels Desktop есть два режима мышки – absolute pointing device, который позволяет курсору и в винде, и в маке двигаться одинаково – с одинаковой скоростью, перемещением. При этом используется только хостовая мышь. И есть режим relative mouse, при котором мышь работает внутри виртуальной машины со своей собственной скоростью. Последний режим используется в компьютерных играх, так как они совсем не заточены под absolute pointing device. Раньше курсор в играх начинал с бешеной скоростью передвигаться и играть было невозможно. Мы придумали способ, как обнаруживать нужный режим без каких-либо привязок к именам программ, библиотек или файлов. Все очень просто: если во время работы программы на ее экране визуально наблюдается курсор – то нужен absolute pointing device. В играх же стандартный курсор почти всегда выключается и игра его рисует сама, следовательно, в данном типе программы нужен relative mode. Выбор режима мыши по этому принципу, как в итоге оказалось, работает правильно в 95% случаев.

- Что за команда делает всю интеграцию?
А.Г.:
Сейчас в команде Integration работает 6 человек, и это очень разные люди. Чем-то похожие, но не одинаковые. Практически всю команду я набирал сам. Единственный, кто уже работал, когда я пришел, – это уже упомянутый «отец Coherence» Сергей Концов. Так что я стал руководителем отдела из 1 человека, где сам выступал в качестве играющего тренера.
Вся интеграция в первой версии делалась силами этих двух человек – и Shared folders, и работа мышки, и копипаст, и drag&drop, и Coherence – практически вся базовая интеграция. Чуть позже появился Василий Жданов. Потом - Андрей Покровский, который сделал Shared applications для первой версии. Причем, что интересно, он сделал это очень быстро. Когда мы закончили продукт и уже захотели его продавать, то поняли, что без иконок в панели приложений Dock основная когеренция выглядит недоделанной. Пришел Коля (прим. - Николай Добровольский, вице-президент по виртуализации ПК) и спросил, можем ли мы это быстро реализовать. И Андрей сделал это за одни выходные, написав и отладив порядка 2000 строчек кода. Приложения показывались где надо, их можно было запускать из Dock. Вот это можно назвать по-настоящему продуктивной работой.
А вот, например, у Василия Жданова, о котором мы уже говорили, очень хорошо получается реверс-инжиниринг. Он быстро вникает во внутренности программ, что очень нужно для реализации интеграции, так как в этом процессе очень многое сделать стандартными способами просто нельзя. И Василий очень любит этим заниматься: просто приходит на работу и вкалывает, не отвлекаясь на голод и самочувствие. Вообще ничего не видит и не слышит. Часто даже не знает статус проекта, ему интересна лишь его конкретная задача в данный момент.
В общем, все они умеют разное, и производительность у них разная. Но они – КОМАНДА. Они абсолютно все умеют и хотят работать, у всех обширные и глубокие знания (которые за годы работы стали ОЧЕНЬ большими знаниями), и у них очень высокий уровень программирования. За семь лет их уровень настолько поднялся, что они могут сделать практически любую задачу, какую ни дай.

- То есть шестерых достаточно?
А.Г.:
На данному этапе уже нет. У нас очень короткие циклы разработки, а, как я уже говорил, у нас примерно 30 интеграционных функций каждый год. Получается, что нужно делать примерно по 3 фичи в месяц. Тут надо отметить, что интеграционных фич много, но не все они делаются именно нашей командой.
В общем, мне сейчас требуется 3 человека в команду Integration. Это вакансии для тех, кто хочет программировать под все платформы и разбирается в Windows, Mac и Linux (ну, или хотя бы в одной из этих ОС). Основные языки – С++ и Objective C.
Так что те, кто хочет работать в Parallels в команде OS Integration, могут писать лично мне на адрес [email protected]. Одно точно могу пообещать – интересные нестандартные задачи гарантированы. Остальное обсудим на месте.