imageЭта статья рассказывает о новой функциональности Parallels Desktop 12, позволяющей контролировать установку обновлений и обслуживание Windows 10. Все помнят 1995 год, когда операционная система Windows приобрела рабочий стол со значками, панель задач и меню «Пуск». Более знаковый 1998 год помнят почему-то далеко не все — а ведь именно тогда в Windows появился Центр обновления. Теперь пользователи всегда имели на своих компьютерах самую актуальную и безопасную версию операционной системы.

Скорость доступа в Интернет была такая, что не разгуляешься, так что поначалу через сайт Windows Update на пользовательские компьютеры приходили дополнения и новые технологии только для самой операционной системы Windows. Затем начали поставляться исправления безопасности для других приложений. Чем больше предлагалось обновлений, тем больше файлов нужно было загружать.



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



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



Система обновляется буквально все время. Каждый день выходят новые сигнатуры для встроенного антивируса, обновления компонентов Windows и целые новые версии, такие как Windows 10 Anniversary Update. С одной стороны, функциональность обновления Windows, прозрачного для пользователя, по определению должна быть удобна, если этот процесс облегчает жизнь пользователю, а не отвлекает его. С другой стороны, есть пользователи, которые Центром обновления Windows очень недовольны. Посмотрите на популярные запросы в поисковике.



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

Механизм обслуживания Windows, работающий во время простоя системы, появился еще в Windows 8. Он контролирует периодичность запуска большинства задач из планировщика, таких как сбор различных статистик, отправку телеметрии, дефрагментацию, сессии антивирусного контроля и пр.

А как на Mac?


Виртуальная машина Windows 10 на Mac «живет» несколько иначе, и сценарий обновления Windows в ней отличается от обычного сценария для PC. Главное отличие заключается в том, что она работает не эксклюзивно.

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

2) Виртуальная машина запущена впервые после длительного перерыва. И первым делом она начинает искать в Интернете обновления операционной системы и запускать пропущенные задачи из планировщика задач. Пользователь озадачен: он просто запустил Windows, чтобы по старой памяти разложить «Косынку» или пройти по минному полю, а система безбожно тормозит!

imageК чему это приводит? Многие пользователи, которые работая на ПК, ничего бы не заметили, жалуются, что виртуальная машина Windows на Mac постоянно что-то устанавливает, перезагружает систему, портит какие-то настройки и т.д. На самом-то деле случаи неработоспособности Windows после установки обновлений известны, но, конечно, не в катастрофических масштабах.

Главная проблема заключается, в том, что виртуальная машина Windows работающая в фоновом режиме считает, что за компьютером никого нет, и слишком много на себя берет — начинает устанавливать обновления, дефрагментировать диски и т. п. Это создает серьезную проблему производительности, повышая нагрузку на диск и сеть — особенно если виртуальных машин несколько. И все потому что Windows Update выкачивает из интернета сотни мегабайт каждый месяц, и каждый день тоже качает какие-то обновления, антивирусы для программ. Производительность компьютера падает, он неожиданно начинает шуметь, нагреваться и быстро расходовать ресурсы батареи. Негативный пользовательский опыт, как говорится, неизбежен.

Надо сказать, что в корпоративной среде, где обновление и обслуживание компьютерных систем поставлено на поток, эти проблемы решаются проще. Если в компании используются, например, Windows 10 Enterprise и Windows Server Update Services, то даже в Windows 10 можно настроить выполнение всех операций обновления, обслуживания и перезагрузки по расписанию. Но далеко не все наши пользователи трудятся в корпоративных сетях.

Что сделали мы?


Изучив проблему, мы сделали неизбежный вывод — виртуальную машину нужно научить правильно понимать состояние компьютера-хозяина (хоста). Традиционный механизм запуска процедур обслуживания по расписанию мы тоже решили реализовать, но без решения основной проблемы это была бы полумера.

Поэтому главное, что мы сделали — мы научили нашу систему Parallels Desktop передавать состояние простоя из хоста в виртуальную машину. И если на Mac происходит ввод с клавиатуры, мыши и т. д., то виртуальная машина Windows узнает об этом и не уходит в состояние простоя.

Проще всего это было бы сделать, симулируя внутри виртуальной машины ввод с устройств — поэтому оцените, что мы выбрали менее инвазивный, документированный способ — SetThreadExecutionState (ES_DISPLAY_REQUIRED). Функция обнуляет таймер простоя дисплея, так что, если вы когда-нибудь будете писать видеоплеер для Windows, этот вызов вам точно пригодится.

Разумеется, мы не забыли о варианте управления обновлением и обслуживанием Windows по расписанию. Поскольку никто на рынке пока не реализовал корректный способ отключить автоматические обновления Windows 10, мы сделали это самостоятельно. Parallels Desktop временно отключает механизм обслуживания назначенные задачи Центра обновления. Интерфейс настроек виртуальной машины с Windows 10 мы дополнили вкладкой «Обслуживание», которая позволяет настроить расписание для выполнения обновлений и обслуживания Windows. Каждую виртуальную машину можно настроить индивидуально. Таким образом, наша функциональность временно выключает обслуживание и задачи обновления Windows, программы Windows Store, Microsoft Office, встроенного антивируса, и запускает их только в то время, которое назначено пользователем в настройках виртуальной машины. И теперь виртуальная машина тормозит только тогда, когда она должна делать это по расписанию.

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

Здесь вы можете вспомнить, что в корпоративных сетях эти проблемы уже решены, а значит ИТ-администраторам предприятий наша функциональность вроде как без надобности. На самом деле любая сложная задача по администрированию система может и должна иметь более одного хорошего решения, и раз уж мы включили нашу функциональность в состав Parallels Desktop, это дает возможность администраторам решить данную проблему еще одним способом — через массовое внедрение Parallels Desktop с виртуальными машинами, предварительно настроенными на оптимизацию обновления и обслуживания систем.

А может, совсем его отключить?


Есть пользователи — их довольно много, особенно среди непрофессиональных пользователей — которые были бы не против навсегда отключить обновления Windows 10, оставив разве что возможность обновления антивируса. Скажем честно — мы против.

imageДа, в случае операционной системы Windows 10 корпорация Microsoft проявила себя, так сказать, с позиций силы, но основания у такого решения есть. Обновления нужны и с точки зрения безопасности, и с точки зрения актуальности технологий, и с точки зрения производительности программных компонентов. Если двадцать лет назад было более или менее безразлично, работаете вы с версией Windows, выпущенной в этом году, год назад или пять лет назад, то теперь каждый год в мире технологий происходит огромный скачок. Даже браузер, выпущенный всего год назад, может подвести вас в работе с новыми веб-сайтами, а уж антивирус и система сетевой безопасности, не обновлявшиеся с прошлого года, станут рассадником вирусов и «находкой для шпиона».

Советы постороннего


Самое главное в реализованной нами новой функциональности Parallels Desktop 12 для Mac в части обновления Windows — возможность ее персонализации. Для нас важно, чтобы пользователи знали о ней и могли включить. По умолчанию мы ее не запускаем, потому что такой функциональности нет в стандарте Windows. К тому же, если мы включим ее по умолчанию, нам придется предложить пользователям некий безальтернативный режим ее работы. Нам кажется, что это неправильно.

Таким образом, на данный момент пользователи, которым требуется оптимизация обновления и обслуживания виртуальной машины Windows, включают и настраивают ее сами. Статистика показывает, что так поступают около 20% наших пользователей — можно предположить, что это те самые 20% профессиональных пользователей, которых можно выделить из любого сообщества.



Возможно, в будущем мы придумаем адаптивный алгоритм, который не будет требовать ручной настройки времени обслуживания, и тогда можно будет включить данную функциональность автоматом. Тем же, кто хочет настроить свои виртуальные машины, но не знает, на какой час, мы можем предложить для начала попробовать ежедневный запуск обслуживания в 24:00 и посмотреть, что из этого выйдет — очень скоро вы найдете оптимальный для вашего случая режим.
Поделиться с друзьями
-->

Комментарии (28)


  1. DenVdmj
    30.09.2016 10:38
    -3

    Я всё еще «живу» на семерке. Когда кончится поддержка придется окончательно переходить на никсы.
    Но вот что тогда ставить дополнительно в качестве игровой пк-платформы?


    1. alemiks
      30.09.2016 11:04
      +6

      win10. Не благодарите, Ваш Кэп


      1. RouR
        30.09.2016 12:19
        -2

        как насчёт windows server?


        1. ogu
          01.10.2016 08:32

          FreeBSD


    1. sonor
      30.09.2016 11:24

      Искренне надеюсь, что все больше игр будет делаться под Vulkan API.


    1. punkkk
      30.09.2016 14:28
      -1

      Жить на семерке — очень странное занятие. 10ка лучше и шустрее. Переходить на никсы можно всегда, но так или иначе пока что остаются разработчики разрабатывающие только под win, и актуальная версия — win10.


      1. Massacre
        30.09.2016 18:04
        +1

        Чем 10ка хуже и медленнее, описано прямо в этой статье… Актуальная версия для десктопа win ещё минимум до 2020 (конец поддержки) будет 7 — потому что для десктопа просто не из чего выбирать.


        1. punkkk
          30.09.2016 19:24
          +1

          Хуже и медленне? Я на своем старом ноуте сменил и производительность выросла, я молчу про скорость загрузки, которая обгоняет оптимизировнную под железяки гетну.

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

          Режим совместимости в 10 лучше чем в 7, проверенно личным опытом. Если для некоторых приложений надо было в 7 ставить костыли, то в 10 всё, обычно, проще.


          1. Massacre
            30.09.2016 19:42

            Линуксы, может, и требуют постоянного обновления, но в случае Win7 вполне можно поставить сборку вида «последний сервис-пак+апдейты», закрыть всё виндовое сторонним файрволом и не мучаться. Заодно и никакой телеметрии… Разумеется, браузер при этом должен быть не IE. Но и для желающих постоянных апдейтов тоже есть возможность выбирать перед скачиванием, в отличии…

            Про скорость конкретного ноута ничего не скажу, но в моём случае работа ПК 24/7 (с отключением монитора и дисков в простое), скорость загрузки в те очень редкие случаи, когда нужен ребут — секунд 30 до экрана логина… Было бы даже минуту — разница-то.


            1. punkkk
              02.10.2016 23:57

              Ну я регулярно выключаю когда не пользуюсь, поэтому мне это важно. + вопрос стоит про десктоп и то что 7ка «лучший» десктоп, что не так, 10ка обходит и тут, так как от пользователя требуется минимум усилий что бы получить свежее ПО+драйвера.(если критерием десктопности брать что «все готово», а пользователь ставит только что нужно для работы с компьютером)


              1. Stirliz85
                03.10.2016 17:48

                Я вас удивлю, возможно, но пользователю не нужно «свежее ПО+драйвера». Пользователь хочет комфортной работы, и ему плевать на номер версии.


                1. punkkk
                  03.10.2016 18:12

                  Вот именно, win10 позволяет пользователю не думать о системе\драйверах, ему главное, что бы работало. А свежее ПО я имел ввиду обновления сесурити и прочее.


      1. Zzombik
        01.10.2016 08:32

        А в чем заключаются преимущества Десятки перед Семеркой? Ничем не подтвержденные субъективные ощущения ускорения не в счет.


        1. tsklab
          01.10.2016 09:09

          1. Dim00n
            01.10.2016 14:18

            так себе примеры


        1. punkkk
          02.10.2016 23:52

          Субъективные? Я потратил не мало времени на поиск максимальной производительности ради производительности. И пользовался семеркой с момента ее выхода. Даже на относительно старом компьютере, который изначально был с 7, после установки 10 был замечен рост производительности и меньшее количество подтормаживаний и прочих глюков системы при равной нагрузке. Обе винды были лицензионными.

          Плюс проводил эксперементы на ноутбуке, еще более старом и дряхленьком, так же одни лишь улучшения, некоторые приложения вообще смогли не лагать, а под 7 лагали.

          + я уже описал вопрос совместимости или это тоже субъективные ощущения?)


    1. ArtyomIsFlash
      30.09.2016 19:05

      Для тех же никсов есть стим, там уже много игр есть


  1. dartraiden
    30.09.2016 10:50
    +2

    В актуальной версии Windows 10 возможности выбора нет — пользователь может отказаться от обновлений других продуктов Microsoft кроме операционной системы, отложить обновления на несколько дней и попросить систему не устанавливать обновления без его ведома.

    Или воспользоваться сторонней программой Windows Update MiniTool, позволяющей выборочной устанавливать и скрывать обновления.


  1. LineageL2ad
    30.09.2016 10:59
    +1

    Хорошая статья!
    Насчет установки обновлений на 10ке(если это кого-то еще волнует) — покопайтесь в групповой политике(если у Вас Pro версия), там можно много чего настроить :)


    1. cl0ne
      30.09.2016 20:44

      Насколько мне известно, проблему выборочной установки/скрытия обновлений в политиках не решить.


  1. RouR
    30.09.2016 12:20
    -3

    И если на Mac происходит ввод с клавиатуры, мыши и т. д., то виртуальная машина Windows узнает об этом и не уходит в состояние простоя.
    Т.е. keylogger на винде запишет все нажатия макоси?


    1. greendimka
      30.09.2016 12:33

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

      P.S: по-моему эффективнее кейлогер ставить напрямую на OS X


      1. RouR
        30.09.2016 13:27

        Вы предполагаете, а я спрашиваю авторов как они сделали.
        Речь про логгер и телеметрию, которая идёт в комплекте с десяткой.


    1. SmirkinDA
      30.09.2016 14:01
      +2

      Нет никакого кейлоггера — все гораздо проще. PD отслеживает состояние хоста — пока тот занят делом, в госте выставляется ES_DISPLAY_REQUIRED, а как только приходит сигнал о том, что на хосте наступило состояние idle, в госте ключ снимается.


  1. greendimka
    30.09.2016 12:25
    +1

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

    Не смотря на то, что мысль данной статьи ясна (пояснение появляется лишь в середине статьи) — шлю вам лучи гнева за желтый заголовок.
    И вот вам еще один пример «массового сознания»:
    ![image](http://storage2.static.itmages.ru/i/16/0930/h_1475226140_2875018_208b4204ec.png)


  1. barbedAK
    30.09.2016 13:29
    +2

    «Как перестать беспокоиться и победить Центр обновления Windows?» забыли добавить «на виртуальной машине»


  1. SemperFi
    30.09.2016 18:29

    выпустите уже нормальный серверный гипервизор, типа VMware или KVM.
    пожалуйста, вы же можете!


  1. tsklab
    30.09.2016 19:29

    В актуальной версии Windows 10 возможности выбора нет

    Есть (не встроенная, но от Microsoft) «Show or hide updates» troubleshooter package





    А теперь выбираем какое обновление скрыть.