28

Несколько человек сделали тесты, сравнивая Windows 8 с Windows 7. Многие функции не улучшаются, но, соответственно, время запуска лучше.

Почему Windows 8 запускается быстрее по сравнению с Windows 7? Это вопрос сервисов, и, следовательно, можем ли мы настроить Windows 7 для того же времени запуска?

2 ответа2

37

Из блога по сборке Windows 8 :

Теперь вот ключевое отличие для Windows 8: как и в Windows 7, мы закрываем пользовательские сеансы, но вместо того, чтобы закрывать сеанс ядра, мы переводим его в спящий режим. По сравнению с полным режимом гибернации, который включает в себя множество страниц памяти, используемых приложениями, данные режима гибернации сеанса 0 намного меньше, что занимает значительно меньше времени для записи на диск. Если вы не знакомы с гибернацией, мы эффективно сохраняем состояние системы и содержимое памяти в файл на диске (hiberfil.sys), а затем читаем это обратно при возобновлении работы и восстанавливаем содержимое обратно в память. Использование этого метода с загрузкой дает нам значительное преимущество для времени загрузки, поскольку чтение гиберфайла и повторная инициализация драйверов намного быстрее в большинстве систем (на 30-70% быстрее в большинстве протестированных нами систем).

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

Вероятно, стоит быстро упомянуть, как мы относимся к hiberfile - если вы прочитаете это и сразу же перейдете к файлу dir /s /ah hiberfile.sys, вы обнаружите, что это довольно большой файл на диске. Размер файла hiberfile по умолчанию составляет 75% от физической памяти. Этот файл, по сути, является резервным для данных гибернации, которые будут записаны при переходе системы в режим гибернации. Обычно на самом деле используется гораздо меньше места, а в случае нашего быстрого запуска это обычно ~ 10-15% физической памяти, но зависит от драйверов, служб и других факторов. Система также обрабатывает hiberfile немного по-другому, чем другие файлы на диске, например, служба Volume Snapshot игнорирует ее (небольшое преимущество в производительности). Вы можете отключить режим гибернации и освободить это пространство, запустив powercfg /hibernate из командной строки с повышенными привилегиями. Но имейте в виду, что если вы сделаете это, он полностью отключит спящий режим, включая некоторые приятные возможности, такие как быстрый запуск, а также гибридный спящий режим, который позволяет настольным системам одновременно выполнять спящий режим и спящий режим, поэтому в случае потери питания вы все равно можете возобновить работу. из спящего состояния. Вы также можете запустить powercfg /hibernate /size и указать значение от 0 до 100 для процента физической памяти, резервируемой для гиберфайла, но будьте осторожны! Задание слишком маленького размера может привести к сбою гибернации. В общем, я рекомендую оставить его включенным со значением по умолчанию, если вы не работаете в системе с чрезвычайно ограниченным дисковым пространством.

17

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

  • Вы нажимаете кнопку выключения
  • Ваш компьютер закрывает сеанс 1 (сеанс пользователя) и записывает сеанс 0 в файл hiberfil.sys на жестком диске.
  • Когда вы загружаете свой компьютер, он читает содержимое сеанса 0 из файла hiberfil.sys и возвращает его обратно в память. Затем он инициализирует новый сеанс для вас.

Чтобы ответить на ваш второй вопрос, поскольку это модификация ядра, этого нельзя сделать в Windows 7.

Из интереса вы можете сделать полное (классическое) завершение работы с помощью shutdown.exe из командной строки.

shutdown /s /t 0

Если вы хотите сделать гибридное отключение, вы можете использовать:

 shutdown /s /hybrid /t 0

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .