Что происходит, когда компьютер выключается?

Вопрос или проблема

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

shutting down

Что на самом деле происходит на этом этапе?

Я думаю, в Windows XP писалось что-то вроде сохранение настроек перед выключением. Однако какие настройки нужно сохранять, если они сохраняются при нажатии применить, например, при изменении темы?

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

Во время завершения работы происходит много различных процессов. Вот несколько примеров:

  • Проверка, закрыты ли все пользовательские приложения (например, несохраненный документ) и при необходимости запрашивается подтверждение у пользователя
  • Остановка фоновых служб
  • Ожидание сигнала завершения от работающих служб и приложений
  • Сброс кэша на диск
  • Запись логов
  • Выход из всех учетных записей пользователей
  • Завершение оболочки
  • Начало установки обновлений Windows, если это необходимо, и команда ОС завершить обновления при следующей загрузке, если это необходимо
  • Отправка сигнала выключения ACPI (это то, что выключает машину)

Редактировать: Не стесняйтесь добавлять больше в комментариях, если сможете предложить другие элементы.

Системный реестр (возможно?) записывается на диск. В Windows XP я заметил, что если вносить изменения в реестр и затем отключить питание, изменения не сохраняются. Я не совсем уверен в этом, просто хочу на это указать.

Вот выдержка из документа, выпущенного Microsoft.

• Завершение сеанса системы. Эта фаза включает в себя этапы уведомления о предстоящем завершении и уведомления о завершении:

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

• Уведомление о завершении. Все службы, зарегистрировавшиеся для получения уведомлений о завершении, выключаются параллельно.
Если все службы не завершили работу через 20 секунд (в Windows Vista) или 12 секунд (в Windows 7), система продолжает завершение. Процессы и службы, которые не завершили работу вовремя, остаются работающими, пока система выключается.

• Завершение работы ядра. Остальная часть системы, включая все устройства и драйверы, завершается на этапе завершения работы ядра.


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

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

xbootmgr -trace shutdown -numRuns 3 -resultPath %systemdrive%\traces
-postBootDelay 180 -traceFlags base

И чтобы разобраться в сгенерированном файле (обязательно выполните это в %systemdrive%\traces)

xperf -i trace.etl -o summary.xml -a shutdown

Источники: Обновление: ссылки с серверов Microsoft больше не работают

download.microsoft.com/download/3/C/A/3CA9058B-7EE5-4191-99E2-DB5917877522/OnOffTransPerf.docx

https://s3-us-west-1.amazonaws.com/omarpersonal/OnOffTransPerf.docx

download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/OnOffTrans.docx

https://s3-us-west-1.amazonaws.com/omarpersonal/onofftrans.docx

Ответ или решение

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

Теория (Т)

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

  1. Завершение работы приложений пользователя: Система сначала проверяет, не остались ли незакрытые приложения. Например, если вы не сохранили документ в текстовом редакторе, система предложит сделать это перед закрытием.

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

  3. Запись кэшей и лог-файлов: На данном этапе все данные из кэша записываются на диск для предотвращения потери данных. Необработанные события и ошибки записываются в лог-файлы.

  4. Завершение работы ядра: Все системные устройства и драйверы отключаются.

  5. Физическое отключение питания: Отправляется сигнал ACPI для отключения питания, тем самым полностью завершая работу компьютера.

Пример (Э)

Рассмотрим пример процесса выключения на основе Windows. Когда пользователь инициирует процесс выключения, система сначала проверяет активные окна приложений. Если что-то требует внимания (например, несохраненные изменения), пользователь получает сообщение с возможностью сохранить свои данные.

Далее система запрашивает службы и процессы для завершения работы. Службы, которые не успевают завершиться за установленный срок (как правило, 12-20 секунд), принудительно завершает сама система.

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

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

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

Применение (А)

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

При оптимизации работы системы часто бывает полезно использовать специальные инструменты для анализа времени завершения работы. Например, Windows предоставляет утилиту xbootmgr для трейсинга, которая может помочь специалисту IT провести диагностику и определить, какие процессы или службы потребляют наибольшее время при завершении работы.

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

Оцените материал
Добавить комментарий

Капча загружается...