Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Секреты Windows: статьи о реестре, rundll32.exe, программах Реестр Windows Vista. Завершение работы операционной системы


Огромный тебе привет и отличного Нового Года. А в Новом Году много счастья, радости, хороших минут, всех благ и сбывшихся надежд. Надеюсь, ты найдешь под елкой чемодан с деньгами? Не бойся, никто его не терял - это подарок для тебя и только для тебя. Там же, где-то рядом, есть огромный мешок улыбок, комплиментов и любви. Это тоже для тебя. Пользуйся им почаще, но помни - такие подарки раскрывают всю свою ценность в компании верных и преданных друзей. Так что не забывай о нас =)

Новости нашего сайта:

В конец записи

Книга "Реестр Windows Vista. На 100%", Глава 6. Настройка операционной системы, 6.3. Завершение работы операционной системы.

Как и процесс запуска операционной системы, процесс завершения ее работы также можно настроить при помощи реестра.

Также с помощью параметров, расположенных в ветви реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System, можно настроить следующие возможности (параметры имеют тип REG_DWORD).

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

LogonHoursAction. Значение данного параметра определяет действие, которое будет выполняться при окончании времени работы в операционной системе. Например, если значение данного параметра равно 2, тогда будет выполняться автоматическое выключение компьютера. Если значение данного параметра равно 1, тогда будет выполняться блокировка работы компьютера. А если значение данного параметра равно 3, тогда будет выполняться выход из системы. По умолчанию не будет выполняться никакое действие — пользователю будет разрешено продолжить работу, однако создавать новые сеансы входа будет нельзя.

Если значение данного параметра NoLogoff, расположенного в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, равно 1, тогда возможность использования выхода из системы будет запрещена.

Также настройки завершения работы операционной системы можно изменить при помощи параметров REG_DWORD типа, расположенных в ветви реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.

ShutdownSessionTimeout. Значение данного параметра определяет интервал (в минутах) ожидания операционной системой завершения сеансов работы пользователей. Если по истечении данного интервала сессия так и не будет окончена, операционная система автоматически ее разорвет, после чего завершит свою работу. По умолчанию операционная система ожидает завершения сеансов в течение 3 минут для рабочих станций, и15 минут для серверов.

DisableShutdownNamedPipe. Если значение данного параметра равно 1, тогда именованный канал для удаленного завершения работы Windows Vista создаваться не будет. Данный канал использовался более ранними операционными системами Windows, поэтому после его отключения операционные системы, отличные от Windows Vista, не смогут удаленно завершить работу компьютера.

Кроме этих настроек, существует еще несколько настроек, определенных в ветви реестра HKLM\SOFTWARE\Policies\Microsoft\Windows\System. Они также имеют тип REG_DWORD.

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

Если значение параметра REG_DWORD типа DontPowerOffAfterShutdown, расположенного в ветви HKLM\SOFTWARE\Policies\Microsoft\Windows NT, равно 1, тогда отключение питания компьютера, при завершении работы системы после программного вызова API-функций ExitWindowsEx или InitiateSystemShutdown, производиться не будет. В этом случае завершение работы системы будет выполнено, но питание компьютера отключено не будет.

Автоматическое завершение программ

Как только операционная система получает запрос от пользователя или программы на завершение работы, этот запрос передается процессу winlogon.exe. Данный процесс, в свою очередь, оповещает процесс подсистемы Windows csrss.exe о завершении работы операционной системы. В дальнейшем все операции по завершению работы операционной системы будет выполнять процесс csrss.exe.

Первыми действиями, которые совершит процесс csrss.exe, будет оповещение всех активных в данный момент программ (кроме диспетчера управления службами SCM) о завершении работы операционной системы. После этого процесс csrss.exe ожидает завершения работы всех запущенных в данный момент программ в течение времени, указанного в параметре WaitToKillAppTimeout.

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

Автоматическое завершение программ Настроить операционную систему Windows Vista на автоматическое завершение зависших процессов можно при помощи параметров строкового типа ветви реестра HKCU\Control Panel\Desktop.

  • AutoEndTasks. Если значение данного параметра равно 1, тогда программы, не завершившие своей работы в отведенный срок, будут закрываться автоматически.
  • HungAppTimeout,. Значение данного параметра определяет интервал времени (в миллисекундах), по истечении которого работающая программа должна ответить на запрос системы.

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

  • WaitToKillAppTimeout. Значение данного параметра определяет интервал времени (в миллисекундах), который операционная система ожидает завершения работы программ при завершении работы операционной системы.

Автоматическое завершение служб После того, как работа всех процессов будет завершена, процесс csrss.exe оповещает о завершении работы операционной системы диспетчер управления службами (SCM), который, в свою очередь, оповещает о завершении работы все запущенные в данный момент службы.

Завершение работы всех служб и диспетчера управления службами, процесс csrss.exe также ожидает в течение определенного интервала времени.

Интервал, который операционная система ожидает завершения работы служб, содержится в параметре строкового типа WaitToKillServiceTimeout (в миллисекундах), расположенном в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control. По умолчанию значение этого параметра равно 20000.

По истечении данного интервала процесс csrss.exe переходит к другим операциям завершения работы системы (независимо от того, была ли завершена работа служб и диспетчера управления службами).

Ошибочное завершение работы Windows

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

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

Операционные системы семейства Windows NT поддерживают механизм самостоятельной генерации «синего экрана» с кодом 0x000000E2 (аварийной остановки системы).

Включить этот механизм можно на клавиатурах, использующих стандартный драйвер операционной системы i8042prt.sys. Как правило, такие клавиатуры работают через порт PS/2. Для этого достаточно параметру REG_DWORD типа CrashOnCtrlScroll, расположенному в ветви реестра HKLM\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters, присвоить значение 1.

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

Диалог Загрузка и восстановление

Настройки поведения операционной системы при возникновении аварийного останова можно изменить при помощи диалога ЗАГРУЗКА И ВОССТАНОВЛЕНИЕ. Данный диалог можно отобразить, нажав на кнопку ПАРАМЕТРЫ…, расположенную в поле ЗАГРУЗКА И ВОССТАНОВЛЕНИЕ вкладки ДОПОЛНИТЕЛЬНО диалога СВОЙСТВА СИСТЕМЫ.

С помощью данного диалога можно изменить следующие параметры REG_DWORD типа, расположенные в ветви реестра HKLM\SYSTEM\CurrentControlSet\Control\CrashControl.

CrashDumpEnabled Данный параметр определяет вид дампа памяти, который будет автоматически создаваться при возникновении аварийного останова операционной системы.

Значения данный параметр может принимать следующие.

  • 0. Запись дампа памяти запрещена.
  • 1. Создавать малый дамп памяти размером 64 Кбайт. Малый дамп памяти можно создавать только в том случае, если размер файла подкачки, расположенного на загрузочном разделе, равен не меньше 2 Мбайт.

    Он содержит в себе следующие данные.

    • Список драйверов, загруженных в память во время ошибки.
    • Контекст процессора (PRCB), из-за которого возникла ошибка.
    • Процесс, вызвавший ошибку, и сведения о нем и контексте его ядра (EPROCESS).
    • Процесс, поток которого вызвал ошибку, и сведения о нем и контексте его ядра (ETHREAD).
    • Стек вызовов в режиме ядра для потока, из-за которого возникла ошибка.

    Малый дамп памяти можно анализировать при помощи программы Dumpchk.exe.

  • 2. Создавать дамп памяти ядра (используется по умолчанию). При использовании этого вида дампа размер файла memory.dmp будет примерно равен одной трети всего объема оперативной памяти.

    Дамп памяти ядра содержит в себе следующие данные.

    • Содержимое оперативной памяти, выделенной для ядра.
    • Содержимое оперативной памяти, выделенное для HAL.
    • Содержимое оперативной памяти, выделенное для драйверов режима ядра и других программ режима ядра.

    Дамп памяти ядра можно анализировать при помощи стандартных символьных отладчиков операционной системы.

  • 3. Создавать полный дамп памяти, равный объему оперативной памяти.

    Полный дамп памяти можно создавать только в том случае, если размер файла подкачки больше объема оперативной памяти как минимум на 1 Мбайт. При этом объем оперативной памяти для 32-разрядных систем не должен быть больше 2 Гбайт. Иначе полный дамп памяти создавать будет запрещено.

    Полный дамп памяти можно анализировать при помощи стандартных символьных отладчиков операционной системы.

DumpFile Данный параметр имеет расширенный строковый тип. Он определяет путь и название файла, который будет содержать в себе полный дамп памяти (при значении параметра CrashDumpEnabled равном 3).

LogEvent Если значение данного параметра равно 0, тогда в системный журнал Windows (eventvwr.msc) не будут заноситься сведения о произошедшей ошибке.

MinidumpDir Данный параметр имеет расширенный строковый тип. Он определяет путь к каталогу, в котором будут храниться малые дампы памяти (если значение параметра CrashDumpEnabled равно 1).

По умолчанию используется каталог %SystemRoot%\Minidump. Каждый дамп памяти хранится в виде отдельного файла с именем в формате mini«месяц»«день»«год»-«порядковый номер файла».dmp.

Overwrite Если значение данного параметра равно 1, тогда при достижении предела файла журнала, он будет перезаписан.

SendAlert Если значение данного параметра равно 1, тогда администратору будет послано сообщение о произошедшей ошибке.

AutoReboot Если значение данного параметра равно 1, тогда при возникновении аварийного останова компьютер будет автоматически перезагружен, а «синий экран» отображен не будет.

Другие настройки

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

Отладка процессов

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

Автоматический отладчик Настройки отладчика, запускаемого при обнаружении ошибки, содержатся в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug. Основными параметрами этой ветви являются следующие параметры строкового типа.

  • Auto. Если значение данного параметра равно 1, тогда отладчик будет автоматически запускаться при возникновении ошибки в работе процесса. Если же значение данного параметра равно 0, тогда операционная система будет задавать пользователю запрос на запуск отладчика.
  • Debugger. Данный параметр содержит в себе путь к программе, используемой для отладки процессов.

Также в данной ветви реестра может присутствовать подраздел AutoExclusionList. В нем определяется набор параметров REG_DWORD типа, названия которых соответствуют названиям процессов, автоматическая отладка работы которых будет всегда запрещена. Значение этих параметров равно 1.

По умолчанию запрещена отладка процесса dwm.exe, который управляет работой интерфейса Windows Aero.

Процесс csrss.exe Если же ошибка произойдет в работе процесса csrss.exe, тогда отладчик запущен не будет, так как по умолчанию отладка этого процесса запрещена.

Чтобы разрешить отладку этого процесса, нужно параметру строкового типа DebugServerCommand, расположенному в ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, присвоить значение yes.

Перезагрузка оболочки

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

Механизм автоматической перезагрузки оболочки можно включить или отключить при помощи параметра REG_DWORD типа AutoRestartShell, ветви реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Если значение данного параметра равно 1, тогда механизм автоматической перезагрузки оболочки активирован.

Механизм слежения за завершением работы компьютера

В серверных версиях операционных системах Windows по умолчанию активирован механизм слежения за завершением работы компьютера.

В рамках этого механизма при попытке выключения или перезагрузки компьютера будет отображаться диалог, в котором операционная система будет предлагать указать причину перезагрузки компьютера (или выбрать ее из списка стандартных причин). Введенная вами причина будет заноситься в стандартный журнал Windows (eventvwr.msc).

Настройка данного механизма выполняется при помощи параметров REG_DWORD типа ветви реестра HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Reliability.

ShutdownReasonUI. Если значение параметра ShutdownReasonOn равно 1, тогда с помощью значения данного параметра можно определить, для каких компьютеров будет отображаться диалог причины завершения работы компьютера. Например, если значение данного параметра равно 1, тогда диалог будет отображаться на любых компьютерах. Если же значение параметра равно 2, тогда он будет отображаться только на рабочих станциях. А если значение параметра равно 3, тогда он будет отображаться только на сервере.

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

TimeStampEnabled. Если значение данного параметра равно 0, тогда периодическая запись на диск временной метки будет запрещена. С помощью данной метки выполняется обнаружение непредвиденного отключения компьютера.

TimeStampInterval. Если значение параметра TimeStampEnabled равно 1, тогда с помощью данного параметра определяется интервал записи временной метки на диск (в секундах). По умолчанию используется интервал, равный 60 секундам.

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

Продолжение следует

Рейтинг: 0 
Оцените: 1 2 3 4 5
В начало записи
Оригинал статьи: http://www.onestyle.com.ua/txt.php?u=366

В избранное