Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Системные процессы

Ответить
Настройки темы
Системные процессы

Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331


Конфигурация

Профиль | Отправить PM | Цитировать


Расскажите мне о роли процессов winlogon.exe, userinit.exe, а также smss.exe, csrss.exe, lsass.ee.

Отправлено: 23:47, 19-04-2008

 


Moderator


Сообщения: 53146
Благодарности: 15422

Профиль | Отправить PM | Цитировать


Котяра, об этом можно почитать в книге "Внутреннее устройство Microsoft Windows 2000", авторы: Соломон Д., Руссинович М.

Из книги:
Цитата о Smss:
Запуск подсистемы Win32 является одной из его первых задач.

Затем Smss вызывает диспетчер конфигурации, который завершает инициализацию реестра, заполняя все его разделы. Диспетчер конфигурации запрограммирован так, что ему известно местонахождение всех кустов реестра на диске, кроме содержащих пользовательские параметры. Список всех загружаемых им кустов реестра хранится в разделе HKLM\SYSTEM\CurrentControlSet\Control\Hivelist.

Основной поток Smss выполняет следующие инициализирующие операции:
  1. Создает объект "порт LPC" (\SmApiPort) и два потока, ожидающие клиентские запросы (например, на загрузку новой подсистемы или на создание сеанса).
  2. Определяет символьные ссылки на имена устройств MS-DOS (вроде СОМ1 и LPT1).
  3. Если установлены Terminal Services, создает в пространстве имен диспетчера объектов каталог \Sessions (для нескольких сеансов).
  4. Запускает программы, указанные в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute. Как правило, в нем содержится одна команда на запуск Autochk (версия Chkdsk, работающая на этапе загрузки).
  5. Выполняет отложенные действия по переименованию файлов, указанные в разделе HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations. Отложенные операции по удалению файлов указываются в подразделе PendingFileRenameOperations2.
  6. Открывает известные DLL.
  7. Создает дополнительные страничные файлы.
  8. Инициализирует реестр. Диспетчер конфигурации заполняет реестр, загружая кусты HKLM\SAM, HKLM\SECURITY и HKLM\SOFTWARE. Хотя информация о местонахождении файлов кустов содержится в разделе HKLM\SYSTEM\CurrentControlSet\Control\Hivelist, диспетчер конфигурации ищет эти файлы в каталоге \Winnt\System32\Config.
  9. Создает системные переменные окружения.
  10. Загружает часть подсистемы Win32, работающую в режиме ядра (Win32k.sys). Smss определяет местонахождение Win32k.sys и других загружаемых им компонентов по путям, хранящимся в HKLM\SYSTEM\CurrentControlSet\Control\Session Manager. Инициализирующий код в Win32k.sys использует видеодрайвер для переключения экрана в разрешение, определенное в профиле по умолчанию. Таким образом, в этот момент видеоадаптер переключается с VGA-режима, используемого загрузочным видеодрайвером, в выбранное для данной системы разрешение.
  11. Запускает процессы подсистем, в том числе Csrss. (Как говорилось в главе 2, подсистемы POSIX и OS/2 запускаются по требованию.)
  12. Запускает процесс Winlogon. Этапы запуска Winlogon кратко описываются ниже.
  13. Создает порты LPC для отладочных сообщений (DbgSsApiPort и DbgUiApiPort) и потоки, прослушивающие эти порты.
После выполнения вышеперечисленных операций основной поток Smss переходит к бесконечному ожиданию описателей процессов Csrss и Winlogon. Поскольку от этих процессов зависит функционирование Windows 2000, в случае их неожиданного завершения Smss вызывает крах системы.
Цитата о Csrss:
Процесс подсистемы Win32 (Csrss.exe) предоставляет:
  • поддержку консольных (текстовых) окон;
  • поддержку создания и удаления процессов и потоков;
  • частичную поддержку процессов 16-разрядной виртуальной DOS-машины (VDM);
  • множество других функций, например GetTempFile, DefineDosDevice, ExitWindowsEx, а также несколько функций поддержки естественных языков.
Цитата о Winlogon:
Winlogon является доверяемым процессом, отвечающим за управление взаимодействием с пользователем в связи с защитой. Он координирует регистрацию, запускает пользовательскую оболочку для входа в систему, обрабатывает выход из системы и управляет множеством других операций, имеющих отношение к защите, - вводом паролей при регистрации, сменой паролей, блокированием и разблокированием рабочих станций и т. д. Процесс Winlogon должен обеспечить невидимость операций, связанных с защитой, другим активным процессам. Так, Winlogon гарантирует, что в ходе этих операций недоверяемый процесс не сможет перехватить управление рабочим столом и таким образом получить доступ к паролю.

Winlogon получает имя и пароль пользователя через Graphical Identification and Authentication (GINA) DLL Стандартная GINA - \Winnt\System32\Msgina.dll. Msgina выводит диалоговое окно для входа в систему. Позволяя заменять Msgina другими GINA-библиотеками, Windows 2000 дает возможность менять механизмы идентификации пользователей, Например, сторонний разработчик может создать GINA для поддержки устройства распознавания отпечатков пальцев и для выборки паролей пользователей из зашифрованной базы данных.

Winlogon - единственный процесс, который перехватывает запросы на регистрацию с клавиатуры. Получив имя и пароль пользователя от GINA, Winlogon вызывает Lsass для аутентификации этого пользователя. Если аутентификация прошла успешно, процесс Winlogon активизирует оболочку.
Цитата о Lsass:
Серверный процесс локальной аутентификации (local security authentication server process) (\Winnt\System32\Lsass.exe) получает от Winlogon запросы на аутентификацию и вызывает соответствующую функциональность (реализованную в виде DLL) для проверки соответствия введенного пароля с тем, что хранится в активном каталоге или SAM (части реестра, содержащей определения пользователей и групп).

После успешной аутентификации Lsass генерирует объект "маркер доступа" (access token object), содержащий профиль безопасности пользователя. Впоследствии Winlogon использует его для создания начального процесса оболочки.
Цитата о Userinit:
Winlogon извлекает значение параметра Userinit из раздела реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon и создает процесс для выполнения каждого файла, указанного в этом параметре. По умолчанию запускается процесс Userinit.exe.

Этот процесс выполняет некоторые действия по инициализации пользовательской среды (восстанавливает подключения к сетевым дискам, запускает сценарии регистрации и активизирует групповые политики), а затем ищет в реестре параметр Shell (в указанном выше разделе Winlogon) и создает процесс для запуска определенной системной оболочки (по умолчанию - Ехрlorer.exe). После этого процесс Userinit завершается.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:24, 20-04-2008 | #2



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

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


Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331

Профиль | Отправить PM | Цитировать


Вот дерево процессов:

Отправлено: 17:58, 20-04-2008 | #3


Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331

Профиль | Отправить PM | Цитировать


А никто не знает о процесссах System и Бездействие системы?

====
Вот нашел статью. http://alexiz.hut1.ru/Homepage_files/Services2.htm
Учитывая важность smss.exe, winlogon.exe статья кажется бредом.
Проверил на виртуальном ПК (не вздумайте делать это на Вашем реальном ПК!). Винда вроде выживает, только выключить компьютер будет нельзя! Однако мне кажется это какие-то зверства над Windows'ом. Если Windows защищает svchost.exe и тем более winlogon.exe как зеницу ока, значит они ей нужны!

Последний раз редактировалось Котяра, 22-04-2008 в 15:43.


Отправлено: 15:24, 22-04-2008 | #4


Аватара для Котяра

Ветеран


Сообщения: 2907
Благодарности: 331

Профиль | Отправить PM | Цитировать


Короче рекомендации из статьи - верный спсоб добить Windows

Отправлено: 15:52, 22-04-2008 | #5



Moderator


Сообщения: 53146
Благодарности: 15422

Профиль | Отправить PM | Цитировать


Цитата Котяра:
А никто не знает о процесссах System и Бездействие системы?
Знает опять же вышеупомянутая книга:
Цитата:
Idle и System не являются процессами в строгом смысле этого слова, поскольку они не выполняют какой-либо код пользовательского режима.
  • Процесс Idle включает по одному потоку на процессор для учета времени простоя процессора.
  • Процесс System содержит большинство системных потоков режима ядра.
Цитата о Бездействии системы:
Если нет ни одного потока, готового к выполнению на процессоре, Windows 2000 подключает к данному процессору поток простоя (процесса Idle). Для каждого процессора создается свой поток простоя. Windows 2000 сообщает, что приоритет такого потока равен 0. Но на самом деле у него вообще нет уровня приоритета, поскольку он выполняется лишь в отсутствие других потоков. (Вспомните, что на нулевом уровне приоритета в Windows 2000 работает только поток обнуления страниц.) Фактически холостой цикл, работающий при IRQL уровня «DPC/dispatch», просто запрашивает задания на выполнение DPC или диспетчеризацию потоков. Хотя последовательность работы потока простоя зависит от архитектуры, он все равно выполняет следующие действия.
  1. Включает и отключает прерывания (тем самым давая возможность доставить отложенные прерывания).
  2. Проверяет, нет ли у процессора незавершенных DPC (см. главу 3). Если таковые есть, сбрасывает отложенное программное прерывание и доставляет эти DPC.
  3. Проверяет, выбран ли какой-нибудь поток для выполнения на данном процессоре, и, если да, организует его диспетчеризацию.
  4. Вызывает из HAL процедуру обработки процессора в простое (если нужно выполнить какие-либо функции управления электропитанием).
Цитата о System:
Процесс System (всегда имеет идентификатор 8) служит носителем особых потоков, работающих только в режиме ядра, — системных потоков режима ядра (kernel-mode system threads). У системных потоков имеются все атрибуты и контексты обычных потоков пользовательского режима (например, контекст оборудования, приоритет и т. д.), но они отличаются тем, что выполняются только в режиме ядра внутри системного кода, загруженного в системное пространство, — будь то Ntoskrnl.exe или какой-либо драйвер устройства.
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:09, 22-04-2008 | #6


Аватара для yurfed

Ветеран


Сообщения: 20039
Благодарности: 3121

Профиль | Отправить PM | Цитировать


Цитата Котяра:
верный спсоб добить Window »
С дуру можно и ногу сломать. Как ты вообще предлагаешь вход в систему без winlogon.exe
Petya V4sechkin, однозначно.

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 18:44, 22-04-2008 | #7



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Системные процессы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Система - Процессы. Grandyl Microsoft Windows 2000/XP 1 13-12-2008 14:37
Процессы kop4enyi Хочу все знать 4 12-10-2006 12:29
Процессы Forrest Gump Хочу все знать 4 04-02-2005 14:40
Процессы Crowner Microsoft Windows 2000/XP 6 02-10-2004 07:39
Процессы в XP MaxR Microsoft Windows 2000/XP 8 10-10-2002 03:40




 
Переход