Ветеран
Сообщения: 12426
Благодарности: 2328
|
Профиль
|
Отправить PM
| Цитировать
Тут многое ещё от ОС зависит. В существующих системах выключение и перезагрузка приводят к одинаковому результату. А вот в Windows 8 будет интереснее. Завершение работы теперь гибридное, а перезагрузка используется для установки драйверов или тяжелого ПО.
Цитата:
Перед тем как я перейду к подробностям, будет полезно вспомнить, как завершение работы и загрузка реализованы в Windows 7.
Процедура завершения работы:- Пользователь инициирует завершение работы, выбирая параметр «Выключить компьютер» в меню «Пуск» или нажимая кнопку питания, либо приложение инициирует завершение работы, вызывая функцию интерфейса API, например ExitWindowsEx() или InitiateShutdown().
- Windows транслирует сообщения запущенным приложениям, позволяя им сохранить данные и настройки. Приложения также могут запросить немного дополнительного времени на завершение своей работы.
- Windows закрывает сеансы каждого пользователя, вошедшего в систему.
- Windows отправляет сообщения службам, уведомляя их о начале завершения работы, а затем останавливает их. Упорядоченные службы с зависимостями отключаются последовательно, а остальные — параллельно. Если служба не отвечает, ее работа завершается принудительно.
- Windows передает сообщения устройствам, информируя их о необходимости завершения работы.
- Windows закрывает системный сеанс (который также называют «сеансом 0»).
- Windows записывает все данные, ожидающие записи, на системный диск, чтобы обеспечить их полное сохранение.
- Windows передает сигнал через интерфейс ACPI системе для отключения компьютера.
Процедура загрузки:- После нажатия кнопки включения питания микропрограммное обеспечение компьютера запускает тест POST и загружает настройки. Этот предварительный процесс завершается после обнаружения допустимого системного диска.
- Микропрограммное обеспечение считывает основную загрузочную запись (MBR) и запускает программу Bootmgr.exe. Bootmgr.exe находит и запускает загрузчик Windows (Winload.exe) в загрузочном разделе Windows.
- Загружаются драйверы, необходимые для запуска ядра Windows, после чего начинает работать ядро, загружая в память куст системного реестра и дополнительные драйверы, отмеченные как BOOT_START.
- Ядро передает управление процессу диспетчера сеансов (Smss.exe), который инициализирует системный сеанс, загружает и запускает устройства и драйверы, не отмеченные как BOOT_START.
- Запускается Winlogon.exe, отображается экран входа пользователя в систему, диспетчер управления службами запускает службы, и выполняются заданные сценарии групповой политики. Когда пользователь входит в систему, Windows создает сеанс для этого пользователя.
- Запускается Explorer.exe, система создает процесс диспетчера окон рабочего стола (DWM), который инициализирует рабочий стол и отображает его.
На самом деле этот процесс намного более детальный; дополнительные сведения доступны здесь: http://msdn.microsoft.com/en-us/wind...dware/gg463386
Главное — помнить, что при традиционном завершении работы мы закрываем все пользовательские сеансы, а в сеансе ядра мы закрываем службы и устройства для подготовки к полному выключению.
И вот основное отличие Windows 8: как и в Windows 7, мы закрываем пользовательские сеансы, но вместо того чтобы закрывать сеанс ядра, мы переводим его в режим гибернации.
|
Быстрая загрузка Windows 8 - Создание Windows 8 - Site Home - MSDN Blogs
|
Отправлено: 20:24, 29-06-2012
| #3
|